常见问题排查"/>
# Oracle 库常见问题排查
Oracle 库常见问题排查
文章目录
- Oracle 库常见问题排查
- 查询数据库的相关信息
- 查看正在执行的语句
- 杀掉正在执行的sql
- 查看未提交的事务
- 查看锁表
查询数据库的相关信息
查看正在执行的语句
SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, s.sql_child_number, sq.sql_text
FROM v$session s
JOIN v$sql sq ON s.sql_id = sq.sql_id
WHERE s.status = 'ACTIVE';
杀掉正在执行的sql
-- sid,serial#
alter system kill session '7114,14991'
查看未提交的事务
--SQL 语句 1:查询未提交事务 DML 语句
SELECT S.SID,S.SERIAL#,S.USERNAME,S.OSUSER ,S.PROGRAM ,S.EVENT,TO_CHAR(S.LOGON_TIME,'YYYY-MM-DD HH24:MI:SS') ,TO_CHAR(T.START_DATE,'YYYY-MM-DD HH24:MI:SS') ,S.LAST_CALL_ET ,S.BLOCKING_SESSION ,S.STATUS,( SELECT Q.SQL_TEXT FROM V$SQL Q WHERE Q.LAST_ACTIVE_TIME=T.START_DATE AND ROWNUM<=1) AS SQL_TEXT
FROM V$SESSION S, V$TRANSACTION T
WHERE S.SADDR = T.SES_ADDR;
查看锁表
SELECTsess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode
FROMv$locked_object lo,dba_objects ao,v$session sess
WHEREao.object_id = lo.object_idAND lo.session_id = sess.sid;
更多推荐
# Oracle 库常见问题排查
发布评论