prev中文 怎樣查看ORACLE執(zhí)行過的SQL語句?
怎樣查看ORACLE執(zhí)行過的SQL語句?用如下語句查詢:select "blocker(" || lb.sid || ":" || sb.username || ")-sql:" || q
怎樣查看ORACLE執(zhí)行過的SQL語句?
用如下語句查詢:select "blocker(" || lb.sid || ":" || sb.username || ")-sql:" || qb.sql_text blockers, "waiter (" || lw.sid || ":" || sw.username || ")-sql:" || qw.sql_text waiters from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw where lb.sid = sb.sid and lw.sid = sw.sid and sb.prev_sql_addr = qb.address and sw.sql_address = qw.address and lb.id1 = lw.id1 and sw.lockwait is not null and sb.lockwait is null and lb.block = 1如果有被鎖的sql,查詢中有結(jié)果:
oracle頻繁鎖表,怎么查出原因?
通過下面的語句查看是否有引發(fā)鎖表的語句在執(zhí)行,找到執(zhí)行用戶,然后跟對應的用戶溝通select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name, s.machine, s.terminal, a.sql_text, a.action from v$sqlarea a, v$session s, v$locked_object l where l.session_id = s.sid and s.prev_sql_addr = a.address order by sid, s.serial#如果一直沒有鎖表的語句出現(xiàn),那可能是對應的表在做DDL操作,如添加索引,也可能引發(fā)鎖表,這個可以去alert日志里查看下是否有人在添加索引
如何獲取OracleEBSForm中后臺取數(shù)SQL(包括LOV)?
1.先獲取SID
幫助-關于Oracle Applications
或用個性化
=(SELECT t.sid FROM v$mystat t where rownum = 1)
2.打開LOV
點擊…來打開LOV進行搜索
3.用plsqldev等軟件根據(jù)SID查詢所用sql查詢語句
SELECT s.prev_sql_addr,s.sql_address FROM v$session s WHERE s.sid = 1643
SELECT sql_text FROM v$sqltext_with_newlines t WHERE t.address = "070000000429FFE8" ORDER BY t.piece