永发信息网

如何锁定一个oracle表

答案:2  悬赏:80  手机版
解决时间 2021-02-07 17:03
如何锁定一个oracle表
最佳答案
select * from table for update
你没有提交,别人就不能改了
全部回答
一、数据库死锁的现象 程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。 二、死锁的原理 当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态, 此时的现象是这条语句一直在执行,但一直没有执行成功,也没有报错。 三、死锁的定位方法 通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台。 1)用dba用户执行以下语句 select username,lockwait,status,machine,program from v$session where sid in (select session_id from v$locked_object) 如果有输出的结果,则说明有死锁,且能看到死锁的机器是哪一台。字段说明: username:死锁语句所用的数据库用户; lockwait:死锁的状态,如果有内容表示被死锁。 status: 状态,active表示被死锁 machine: 死锁语句所在的机器。 program: 产生死锁的语句主要来自哪个应用程序。 2)用dba用户执行以下语句,可以查看到被死锁的语句。 select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object)) 四、死锁的解决方法 一般情况下,只要将产生死锁的语句提交就可以了,但是在实际的执行过程中。用户可 能不知道产生死锁的语句是哪一句。可以将程序关闭并重新启动就可以了。  经常在oracle的使用过程中碰到这个问题,所以也总结了一点解决方法。 1)查找死锁的进程: sqlplus "/as sysdba" (sys/change_on_install) select s.username,l.object_id,l.session_id,s.serial#, l.oracle_username,l.os_user_name,l.process from v$locked_object l,v$session s where l.session_id=s.sid; 2)kill掉这个死锁的进程:   alter system kill session ‘sid,serial#’; (其中sid=l.session_id) 3)如果还不能解决: select pro.spid from v$session ses,v$process pro where ses.sid=xx and ses.paddr=pro.addr;   其中sid用死锁的sid替换: exit ps -ef|grep spid   其中spid是这个进程的进程号,kill掉这个oracle进程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
山西省的公务员考试满分是多少啊?行测和申论
试述颈部浅淋巴结的位置及注入部位。
思莱德在哪里啊,我有事要去这个地方
吃韭菜虾米鸡蛋馅饺子能喝黄瓜汤吗?
我的电动车现在是古刹的,我现在想换成油刹的
去香港到哪买Macbook比较好
建设局自行车租赁点地址在哪,我要去那里办事
中信新城鹿华路2号院北门在什么地方啊,我要
毛巾婚庆用品批发在什么地方啊,我要过去处理
有没有关于纸模型的QQ群啊!大家介绍下!!!
【横折弯钩的字有哪些】横折弯钩的字有哪些
我哥哥前几天跟朋友出去玩、刚开始手机就是打
幻彩湖景区停车场地址有知道的么?有点事想过
循环水ph7-9是什么意思
honoring是什么意思
推荐资讯
忆触记发怎么样?感觉挺不错的。
在上海混了几年 ,可是一事无成,现在家里人
有哪些p2b平台不用看征信就可以贷款的
昨晚梦到自己的儿子从高处掉下来了吓死我了
看过演唱会的说说广州国际体育演艺中心221区6
中国联通(建平乡英华村)怎么去啊,我要去那办
金利来都市生活馆这个地址在什么地方,我要处
六和广告公司在哪里啊,我有事要去这个地方
守花批零店在什么地方啊,我要过去处理事情
光明印刷地址在什么地方,想过去办事
植物嫁接后,长出的品种到底是接穗的品种还是
万财洗烫店这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?