orcal数据库表被锁了怎么解锁??

orcal数据库表被锁了怎么解锁??,第1张

1、在做Oracle监听程序测试时,发现帐户已经被锁定。

2、在数据库安装电脑上,点击开始打开运行窗口。

3、在运行窗口输入CMD,调出命令提示符界面。

3、在命令提示符下面,用管理员身份登入到数据库sqlplus / as sysdba。

4、输入解锁命令alter user Scott account unlock后回车。

5、看见用户已更改的字样,表示命令已成功执行。

6、再切换到监听程序验证,原来的ora-28000帐户被锁定的提示已经不存在了。用户解锁成功。

通过下面的语句查看是否有引发锁表的语句在执行,找到执行用户,然后跟对应的用户沟通

select l.session_id sid,

s.serial#,

l.locked_mode,

l.oracle_username,

s.user#,

l.os_user_name,

s.machine,

s.terminal,

a.sql_text,

a.action

from v$sqlarea a, v$session s, v$locked_object l

where l.session_id = s.sid

and s.prev_sql_addr = a.address

order by sid, s.serial#

如果一直没有锁表的语句出现,那可能是对应的表在做DDL *** 作,如添加索引,也可能引发锁表,这个可以去alert日志里查看下是否有人在添加索引

出现锁的根本解决办法不是去手动解锁啊,

而是应该去看,是哪个SESSION,哪个sql语句锁的,锁了哪些资源,是不是应该锁定这些资源!

如果有些锁是不必要的,要么commit事务来释放锁,要不就不锁定这些资源!

修改应用才是应该做的!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6770509.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存