prev中文 怎樣查看ORACLE執(zhí)行過(guò)的SQL語(yǔ)句?
怎樣查看ORACLE執(zhí)行過(guò)的SQL語(yǔ)句?用如下語(yǔ)句查詢:select "blocker(" || lb.sid || ":" || sb.username || ")-sql:" || q
怎樣查看ORACLE執(zhí)行過(guò)的SQL語(yǔ)句?
用如下語(yǔ)句查詢: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頻繁鎖表,怎么查出原因?
通過(guò)下面的語(yǔ)句查看是否有引發(fā)鎖表的語(yǔ)句在執(zhí)行,找到執(zhí)行用戶,然后跟對(duì)應(yīng)的用戶溝通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#如果一直沒(méi)有鎖表的語(yǔ)句出現(xiàn),那可能是對(duì)應(yīng)的表在做DDL操作,如添加索引,也可能引發(fā)鎖表,這個(gè)可以去alert日志里查看下是否有人在添加索引
如何獲取OracleEBSForm中后臺(tái)取數(shù)SQL(包括LOV)?
1.先獲取SID
幫助-關(guān)于Oracle Applications
或用個(gè)性化
=(SELECT t.sid FROM v$mystat t where rownum = 1)
2.打開(kāi)LOV
點(diǎn)擊…來(lái)打開(kāi)LOV進(jìn)行搜索
3.用plsqldev等軟件根據(jù)SID查詢所用sql查詢語(yǔ)句
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