怎么查看数据库死锁,和解决方法(查询数据库死锁语句)

怎么查看数据库死锁,和解决方法(查询数据库死锁语句),第1张

execsp_lock快捷键C_2

execsp_whoactiveexecsp_who快捷键C_1

用Profiler里面的Locks->Deadlockgraph监控看看,如果看到了死锁图,就可以比较形象地展现死锁发生的过程,还可以看到锁的具体类型和过程里面的语句,对你诊断会有帮助。

Declare@LockTabtable(spidint,dbidint,ObjIdint,IndIdint,Typevarchar(50),Resourcevarchar(50),Modevarchar(50),Statusvarchar(50))

insertinto@LockTabexecsp_lock

Declare@ActiveTabtable(spidint,ecidint,statusvarchar(50),loginnamevarchar(50),hostnamevarchar(50),blkint,dbnamevarchar(50),cmdvarchar(50),request_idint)

insertinto@ActiveTabexecsp_whoactive

selectfrom@LockTablt

leftjoin@ActiveTabatonltspid=atspid

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

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

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

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

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

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

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

基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁

若事务T对数据对象A加了S锁,则T就可以对A进行读取,但不能进行更新(S锁因此又称为读锁),在T释放A上的S锁以前,其他事务可以再对A加S锁,但不能加X锁,从而可以读取A,但不能更新A

以上就是关于怎么查看数据库死锁,和解决方法(查询数据库死锁语句)全部的内容,包括:怎么查看数据库死锁,和解决方法(查询数据库死锁语句)、orcal数据库表被锁了怎么解锁、数据库中什么是S锁什么是X锁它们区别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10100640.html

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

发表评论

登录后才能评论

评论列表(0条)

保存