db2数据库里面的一张表被锁定,怎么解锁

db2数据库里面的一张表被锁定,怎么解锁,第1张

步骤一:使用命令get snapshot来查询哪些进程锁了哪些表。

步骤二:使用命令force来断开这些进行了死锁的进程来。

步骤三: 使用命令list application查看是否已经断开了哪些进行了死锁的进程。

步骤一:使用命令get snapshot来查询哪些进程锁了哪些表。

步骤二:使用命令force来断开这些进行了死锁的进程来。

步骤三: 使用命令list application查看是否已经断开了哪些进行了死锁的进程。这样就可以解锁了

在DB2的命令行中输入:

update monitor switches using lock on table on

然后打开另一个DB2命令窗口执行我的那个被吊死的Update语句。

然后在第一个DB2命令窗口执行: [@more@]get snapshot for locks on Database_Name(你的数据库的名字)>locks.TXT

然后,可以看到第一个DB2的窗口有一个信息输出,把这些信息输出到TXT中,大致如下:

应用程序句柄 = 36

应用程序标识 = AC100C47.IC05.00F6C6095828

序号 = 0246

应用程序名 = java.exe

CONNECT 授权标识 = DB2ADMIN

应用程序状态 = UOW 正在等待

状态更改时间 = 未收集

应用程序代码页 = 1208

挂起的锁定 = 0

总计等待时间(毫秒) = 0

应用程序句柄 = 43

应用程序标识 = *LOCAL.DB2.060512054331

序号 = 2273

应用程序名 = java.exe

CONNECT 授权标识 = DB2ADMIN

应用程序状态 = 联合请求暂挂

状态更改时间 = 未收集

应用程序代码页 = 1208

挂起的锁定 = 6

总计等待时间(毫秒) = 0

锁定列表

锁定名称 = 0x031F9052000000000000000055

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 255

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部

方式 = S

锁定名称 = 0x26800000000000000000000044

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部

方式 = S

锁定名称 = 0x020006000F1700000000000052

锁定属性 = 0x00000000

发行版标志 = 0x00000001

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 5903

对象类型 = 行

表空间名 = USERSPACE1

表模式 = DB2ADMIN

表名 = C_USER

方式 = NS

锁定名称 = 0x01000000010000000500BC0056

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部变化锁定

方式 = S

锁定名称 = 0x535953534E333030FD965C0641

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部方案锁定

方式 = S

锁定名称 = 0x02000600000000000000000054

锁定属性 = 0x00000000

发行版标志 = 0x00000001

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 6

对象类型 = 表

表空间名 = USERSPACE1

表模式 = DB2ADMIN

表名 = C_USER

方式 = IS

应用程序句柄 = 557

应用程序标识 = *LOCAL.DB2.060512053913

序号 = 1254

应用程序名 = java.exe

CONNECT 授权标识 = DB2ADMIN

应用程序状态 = 联合请求暂挂

状态更改时间 = 未收集

应用程序代码页 = 1208

挂起的锁定 = 6

总计等待时间(毫秒) = 0

锁定列表

锁定名称 = 0x031F9052000000000000000055

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 255

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部

方式 = S

锁定名称 = 0x26800000000000000000000044

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部

方式 = S

锁定名称 = 0x02000600071D00000000000052

锁定属性 = 0x00000000

发行版标志 = 0x00000001

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 7431

对象类型 = 行

表空间名 = USERSPACE1

表模式 = DB2ADMIN

表名 = C_USER

方式 = NS

锁定名称 = 0x01000000010000000500BC0056

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部变化锁定

方式 = S

锁定名称 = 0x535953534E333030FD965C0641

锁定属性 = 0x00000000

发行版标志 = 0x40000000

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 0

对象类型 = 内部方案锁定

方式 = S

锁定名称 = 0x02000600000000000000000054

锁定属性 = 0x00000000

发行版标志 = 0x00000001

锁定计数 = 1

挂起计数 = 0

锁定对象名 = 6

对象类型 = 表

表空间名 = USERSPACE1

表模式 = DB2ADMIN

表名 = C_USER

方式 = IS

其中应用程序句柄43和557的状态都是死锁了,猜测是这2个应用争用DB2的表,造成死锁,根据日志提示,在DB2的命令窗口输入:

force application (43)

force application (557)

提示这个 *** 作是异步的,我执行list applicaions,结果进程中还有那2个进程,那2个进程可能是在执行比较大的 *** 作,需要耐心等待,如何还不行,则使用下面的命令来强制所有的应用都停止,然后重启DB2:

force application all

terminate

db2stop force

db2start

如果DB2在Window上,则可以使用“控制中心”->实例->右键“应用程序”,可以看到当前的锁定情况,并且可以强行关闭某个进程,也可以显示“锁定链”。

电脑密码锁定,如法进入系统的解决方法有以下几种:

1、 方法一、Administrator密码为空情况要是我们开机后界面上没有出现Administrator这个用户名的话,那么我们就在这个界面状态下按住“Ctrl”+“Alt”键,然后再连续按两次“Delete”键这是会出现一个Windows的经典登录界面,用户名就是Administrator,密码为空,确定登录到系统中修改忘记密码的账户密码

2、方法二:安全模式下破解开机密码如果是管理员Administrator的密码忘记的话,重新启动电脑,开机后连续按F8键直到高级选项画面出现后,再松开手,选择“命令提示符的安全模式”回车。

3、进入命令提示符安全模式后,系统会列出系统超级用户administrator和本地用户*****的选择菜单,鼠标单击administrator”进入命令行模式

4、键入命令:“net user ***** 123456 /add”,强制将“*****”用户的口令更改为“123456”。若想在此添加一新用户(如:用户名为abcdef,口令为123456)的话,请键入“net user abcdef 123456 /add”,添加后可用“net localgroup administrators abcdef /add”命令将用户提升为系统管理组“administrators”的用户,并使其具有超级权限。

5、重新启动计算机,选择正常模式下运行,就可以用更改后的口令“123456”登录“*****”用户了


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存