10g中锁表问题
原来ORACLE是8。1。7的时候,我查看锁表的语句是:SELECT "SYS"."V_$LOCKED_OBJECT"."SESSION_ID" ,
"SYS"."V_$LOCKED_OBJECT"."ORACLE_USERNAME" ,
"SYS"."V_$LOCKED_OBJECT"."OS_USER_NAME" ,
"SYS"."OBJ$"."NAME"
FROM "SYS"."V_$LOCKED_OBJECT" ,
"SYS"."OBJ$"
WHERE ( "SYS"."V_$LOCKED_OBJECT"."OBJECT_ID" = "SYS"."OBJ$"."OBJ#" )
ORDER BY "SYS"."V_$LOCKED_OBJECT"."ORACLE_USERNAME" ASC ;
一直运行良好。
现在ORACLE升级到10g,用这个语句就看不到或者看不全系统的锁表情况了。只能通过10g的IE控制台可以看锁表情况。
请问各位高手,这是怎么回事?难道10g不是用视图V_$LOCKED_OBJECT来显示锁的情况吗? 10G仍然是用这个视图来显示锁表的情况的,测试如下:
SQL> update test1 set sal=4000 where empno=7902;
已更新 1 行。
SQL>
在另外一个session中:
SQL> update test1 set sal=3500 where empno=7902;
这个语句一直处于等待中。
以sys登陆数据库,查询一下这个视图,应该可以看到结果的:
SQL> select session_id from v$locked_object
2 /
SESSION_ID
----------
139
145
页:
[1]