2024-04-19 10:22:15 发布
网友
我对一台机器进行了回溯,在该机器上,以下查询似乎被挂起了几天:
SELECT table_name FROM user_tables
什么可能产生这样的锁?用户永远无法修改此表;并且此查询的后续实例有很多成功运行。在
所以,既然这种情况已经不存在了,就没办法知道发生了什么。在
但是,将来,如果这种情况或类似情况再次发生,您将希望使用Oracle的wait接口。也就是说,看看V$SESSION。在
V$SESSION
首先,您需要确定进程是在旋转(即在CPU上)还是在阻塞(即等待一个等待事件)。确定这一点的方法是查看STATE列:
STATE
'WAITING'
'WAITED KNOWN TIME'
'WAITED SHORT TIME'
'WAITED UNKNOWN TIME'
希望有帮助。在
所以,既然这种情况已经不存在了,就没办法知道发生了什么。在
但是,将来,如果这种情况或类似情况再次发生,您将希望使用Oracle的wait接口。也就是说,看看
V$SESSION
。在首先,您需要确定进程是在旋转(即在CPU上)还是在阻塞(即等待一个等待事件)。确定这一点的方法是查看
STATE
列:'WAITING'
,则会话被阻止。如果是这样,那么EVENT列应该描述会话正在等待的事件。在'WAITED KNOWN TIME'
,那么WAIT_TIME是等待的时间(以厘米为单位)。在'WAITED SHORT TIME'
,那么会话等待的时间不到一秒。在'WAITED UNKNOWN TIME'
,那么等待的时间是未知的,因为会话的timed_statistics设置为FALSE。在希望有帮助。在
相关问题 更多 >
编程相关推荐