实时搜索: oracle为什么锁表

oracle为什么锁表

839条评论 3943人喜欢 3948次阅读 750人点赞
是表级的共享锁和表级的行共享锁之间的区别 , 查询oracle无锁表的情况,程序执行一个查询的时候很慢,
在oracle里执行for update然后提交,程序恢复正常。
for update 提交的不是程序查询的那张表,需要for update另一张表程序才能恢复正常。
如果查找问题所在? , 连接两用户分别提示 the account is locked和logon denied,而用scott登录没问题;我想解锁system,但是用scott没权限给解锁;前两天装的oracle ,使用system时一直没问题,今天突然出现这个问题也弄不清楚为什么 , 我有个帐户...

oracle中的锁有什么作用?都有什么锁?之间有什么区别?谢谢: oracle中的锁有什么作用?都有什么锁?之间有什么区别?
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。

加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。

关于oracle的解锁,该怎么处理: 首先你要知道表锁住了是不是正常锁?因为任何DML语句都会对表加锁。

你要先查一下是那个会话那个sql锁住了表,有可能这是正常业务需求,不建议随便KILL session,如果这个锁表是正常业务你把session kill掉了会影响业务的。
建议先查原因再做决定。

(1)锁表查询的代码有以下的形式:
select count(*) from v$locked_object;
select * from v$locked_object;
(2)查看哪个表被锁
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
(3)查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

(4)查看是哪个sql引起的
select b.username,b.sid,b.serial#,c.* from v$locked_object a,v$session b,v$sql c where a.session_id = b.sid
and b.SQL_ID = c.sql_id and c.sql_id = ''
order by b.logon_time;

(5)杀掉对应进程
执行命令:alter system kill session'1025,41';
其中1025为sid,41为serial#.

Oracle中的共享锁和行共享锁有什么区别啊?: 1、首先只有表级的共享锁没有行级共享锁
2、加了共享锁的数据对象可以被其他事务读取,但不能修改。
3、多个用户可以同时对同一个表加共享锁。
4、行级锁只能由一个用户加,加了行级锁的数据对象可以被其他事务读取,但不能修改。

加共享锁方法:
lock table 表名 in share mode
※这个语句可以有多个用户执行

加行级锁方法
select * from 表名 where 条件 for update
※这个只能有一个用户执行

---
以上,希望对你有所帮助。

oracle无锁表有一张表访问速度很慢: 你这是乱搞呢吧,你的查询表很慢,是不是数据量很大,然后还没有索引导致的,你就和for update另外一张表没啥关系。心里作用

oracle 11g system和sys 为什么这两用户都被锁了和被否认的注册: 对于sys无论锁与不锁都能本地认证登陆成sysdba解锁就好了

oracle帐户老是自动被锁定: 资源占用~
可能你访问的那条记录正被别人访问,两个人争抢资源引起的数据锁定,或者帐户锁定~~

oracle中scott账户锁住了怎么办: 第一种情况下,以system账户+自己安装时设置的密码,登录SQL Plus,
然后使用命令“alter user scott account unlock;”来解锁。
解完以后,使用下面的命令来查看:"select username,account_status from dba_users;",
可以看到scott账户已经解锁,但是状态还是“expired”(密码过期)的意思。
没关系,再输入这样的命令“alter user scott identified by tiger;”,就给其赋了一个新的口令。
退出,以scott/tiger登录即可。
  在第二种情况下,使用Windows的控制台(程序|运行,输入cmd打开)。在命令行下,输入sqlplus/nolog,回车,出现SQL>命令提示符,然后按下面的顺序输入命令:
SQL>conn/as sysdba
SQL>alter user scott account unlock;
SQL>disconnect
SQL>conn scott/tiger@oral;
这时会提示密码已经过期,请输入新的口令。然后输入两次新定义的口令分别回车确认即为scott账户赋予了新的口令。打开SQL Plus,再以scott账户就可以登录了。

oracle查看当前系统有哪些锁: v$lock
v$locked_object
dba_waiters

  • 11万左右买什么车好

    一个男人头,一个喇叭一个字母,一个火山是什么成语: 人山人海:【基本解释】:人群如山似海。形容人聚集得非常多。【拼音读法】:rén shān rén hǎi【使用举例】:节日的公园~,热闹极了。【近义词组】:川流不息、人头攒动【反义词组】:荒无人烟、人迹罕至【使...

    618条评论 3844人喜欢 1709次阅读 462人点赞
  • 175裤长多少

    热火朝天.如火如荼.门庭若市.万人空巷.高朋满座.座无虚席.蒸蒸日上.川流不息.欣欣向荣这些成语什: 1、热火朝天:形容人的干劲足,情绪热烈,气氛高涨,就象炽热的火焰照天燃烧一样。2、如火如荼:形容某一事物发展的趋势强劲、旺盛、热烈或激烈。3、门庭若市:门前像市场一样。形容来的人很多,非常热闹。4、万人空巷:成千上万...

    277条评论 3008人喜欢 6623次阅读 568人点赞
  • 52岁属什么

    和尚分食 一人共饭二人共汤,用碗150个,不知寺庙人几何?: 更是一人供饭,两人共汤,用碗150个,不知寺庙人可以留几盒,应该有80人左右 ...

    453条评论 6245人喜欢 2282次阅读 241人点赞
  • outlook如何删除邮件

    人生如水,你进我随行,你退我离开,你冷我凝固,你热我沸腾。这句话什么意思: 他和你相伴一生 ...

    351条评论 2637人喜欢 4365次阅读 994人点赞
  • 100等于多少秒

    网上有一个视频,叫《史诗级人类战争电影集锦,看到你浑身热血沸腾》,请问里面的电影按顺序分别是什么?: 特洛伊——亚历山大东征——条顿森林战役——赤壁——苏格兰的威廉·华莱士(我这渣级别的英语听到了“华莱士”,难得啊= =)——圣女贞德——成吉思汗一统蒙古(尼玛背景音乐差点让我停不下来)——最后那个。。。很遗憾,虽然看...

    246条评论 2715人喜欢 3616次阅读 843人点赞