事务与锁定-查看死锁的信息

/*
模拟产生的死锁
然后通过V$LOCKED_OBJECT视图来产看当前的死锁信息
*/
SELECT
	XIDUSN,             --NUMBER        回滚段号 
	XIDSLOT,            --NUMBER        槽号
	XIDSQN              --NUMBER        序列号
	OBJECT_ID,          --NUMBER        被锁定的数据库对象的编号
	SESSION_ID,         --NUMBER        持有锁的会话编号
	ORACLE_USERNAME,    --VARCHAR2(30)  ORACLE用户名
	OS_USER_NAME,       --VARCHAR2(30)  操作系统用户名
	PROCESS,            --VARCHAR2(12)  操作系统进程编号
	LOCKED_MODE         --NUMBER        锁模式
FROM V$LOCKED_OBJECT;

/*
可以将V$LOCKED_OBJECT试图与V$SESSION试图、V$SQLTEXT视图执行连接查询,查看锁对象的基本信息、会话信息和SQL语句信息等,代码如下:
*/

/*
查锁和杀锁,使用
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
*/
SELECT T2.USERNAME,
	   T2.SID,
	   T2.SERIAL#,   
	   T2.LOGON_TIME,
	   T3.SQL_TEXT
FROM V$LOCKED_OBJECT T1,V$SESSION T2,V$SQLTEXT T3
WHERE T1.SESSION_ID=T2.SID AND T2.SQL_ADDRESS=T3.ADDRESS
ORDER BY T2.LOGON_TIME;

你可能感兴趣的:(事务)