当前位置:首页 > 编程笔记 > 正文
已解决

# Oracle 库常见问题排查

来自网友在路上 156856提问 提问时间:2023-11-12 16:52:00阅读次数: 56

最佳答案 问答题库568位专家为你答疑解惑

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;
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"# Oracle 库常见问题排查":http://eshow365.cn/6-38248-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!