查询Oracle中正在执行和执行过的SQL语句
查询Oracle正在执行的sql语句及执行该语句的用户
SELECTb.sidoracleID, b.username登录Oracle用户名, b.serial#, spid操作系统ID, paddr, sql_text正在执行的SQL, b.machine计算机名 FROMv$processa,v$sessionb,v$sqlareac WHEREa.addr=b.paddr ANDb.sql_hash_value=c.hash_value
其它网友给出的正在执行的sql语句代码
selecta.username,a.sid,b.SQL_TEXT,b.SQL_FULLTEXT fromv$sessiona,v$sqlareab wherea.sql_address=b.address ---执行过的 selectb.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT fromv$sqlareab whereb.FIRST_LOAD_TIMEbetween'2016-10-1/09:24:47'and '2016-10-1/09:24:47'orderbyb.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且SQL_FULLTEXT包含了完整的sql语句)
其他
selectOSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT fromV$SESSIONALEFTJOINV$SQLBONA.SQL_ADDRESS=B.ADDRESSANDA.SQL_HASH_VALUE=B.HASH_VALUEorderbyb.cpu_timedesc selectaddress,sql_text,piece fromv$session,v$sqltext whereaddress=sql_address --andmachine=<youmachinename> orderbyaddress,piece
查看正在执行sql的发起者的发放程序
SELECTOSUSER电脑登录身份, PROGRAM发起请求的程序, USERNAME登录系统的用户名, SCHEMANAME, B.Cpu_Time花费cpu的时间, STATUS, B.SQL_TEXT执行的sql FROMV$SESSIONA LEFTJOINV$SQLBONA.SQL_ADDRESS=B.ADDRESS ANDA.SQL_HASH_VALUE=B.HASH_VALUE ORDERBYb.cpu_timeDESC
查出oracle当前的被锁对象
SELECTl.session_idsid, s.serial#, l.locked_mode锁模式, l.oracle_username登录用户, l.os_user_name登录机器用户名, s.machine机器名, s.terminal终端用户名, o.object_name被锁对象名, s.logon_time登录数据库时间 FROMv$locked_objectl,all_objectso,v$sessions WHEREl.object_id=o.object_id ANDl.session_id=s.sid ORDERBYsid,s.serial#;
kill掉当前的锁对象可以为
altersystemkillsession'sid,s.serial#‘;
查找前十条性能差的sql.
SELECT*FROM(selectPARSING_USER_ID,EXECUTIONS,SORTS, COMMAND_TYPE,DISK_READS,sql_textFROMv$sqlarea orderBYdisk_readsDESC)whereROWNUM<10;
查看占io较大的正在运行的session
SELECTse.sid,se.serial#,pr.SPID,se.username,se.status, se.terminal,se.program,se.MODULE,、se.sql_address,st.event,st. p1text,si.physical_reads, si.block_changesFROMv$sessionse,v$session_waitst, v$sess_iosi,v$processprWHEREst.sid=se.sidANDst. sid=si.sidANDse.PADDR=pr.ADDRANDse.sid>6ANDst. wait_time=0ANDst.eventNOTLIKE'%SQL%'ORDERBYphysical_readsDESC
以上就是毛票票小编整理的关于查询Oracle中正在执行和执行过的SQL语句的相关内容,如果你有更好的方法,请评论留言,谢谢