oracle trace 想跟踪某个用户的操作SQL,要怎么操作呢
前台应用操作异常,不知道哪个session有问题,只能跟踪schema
评论
有用 0那可以看ash吧
或者可以定位到什么样类型的操作,用触发器进行跟踪
如果用trace 比如10046 那代价有点大
评论
有用 01、当前session可以查到
SELECT b.sid oracleID,
b.username 登录Oracle用户名,
b.serial#,
spid 操作系统ID,
paddr,
sql_text 正在执行的SQL,
b.machine 计算机名
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value
and b.username='U190717';
查出正在运行的
Analyze Table T_HS_InivBalanceExpEntry compute statistics;
Analyze Table T_HS_InivBalanceExp compute statistics;
Analyze Table T_HS_Expenses compute statistics;
2、但是在历史快照里查不到 Analyze开头的语句,是我的语句有问题? 应用执行完了,我想看看执行了哪些SQL
select to_char(b.begin_interval_time,'yyyy-mm-dd hh24:mi:ss') update_time,c.sql_text sql_text
from dba_hist_active_sess_history a,DBA_HIST_SNAPSHOT b,v$sqlarea c
where a.snap_id=b.snap_id
and a.sql_id=c.sql_id
and b.begin_interval_time>=to_date('2019-07-23 9:00:00','yyyy-mm-dd hh24:mi:ss') and b.begin_interval_time < to_date('2019-07-25 17:00:00','yyyy-mm-dd hh24:mi:ss')
and lower(c.sql_text) like '%Analyze%'
评论
有用 0Analyze Table T_HS_InivBalanceExpEntry compute statistics
Analyze Table T_HS_InivBalanceExp compute statistics
Analyze Table T_HS_Expenses compute statistics
这种执行过的语句在哪可以查看呢
评论
有用 0and lower(c.SQL_FULLTEXT) like '%analyze%'
评论
有用 0查出来还是空的
select to_char(b.begin_interval_time,'yyyy-mm-dd hh24:mi:ss') update_time,c.SQL_FULLTEXT sql_text
from dba_hist_active_sess_history a,DBA_HIST_SNAPSHOT b,v$sqlarea c
where a.snap_id=b.snap_id
and a.sql_id=c.sql_id
/*and b.begin_interval_time>=to_date('2019-07-25 9:00:00','yyyy-mm-dd hh24:mi:ss') and b.begin_interval_time < to_date('2019-07-27 17:00:00','yyyy-mm-dd hh24:mi:ss')
*/
and lower(c.SQL_FULLTEXT) like 'Analyze%'
评论
有用 0
墨值悬赏

