ORACLE 某表执行SQL历史,Java 调用历史SQL


前几天生产环境oracle 数据库一张表忽然数据全部被伪删除了,找资料找到以下两种方式追溯update 的SQL:


1、
select username,program,sql_text,antma,command_type,sample_time
from (
select c.username,a.program,b.sql_text,dbms_lob.substr(b.sql_text,4000,1)  antma,b.command_type,a.sample_time
from dba_hist_active_sess_history a join dba_hist_sqltext b on a.sql_id = b.sql_id
join dba_users c on a.user_id = c.user_id 
where a.sample_time between sysdate - 5 and sysdate --and b.command_type in(6)
order by a.sample_time desc
) A where UPPER(antma) like 'UPDATE SCHEMA.TABLE%'
;

其中”UPDATE SCHEMA.TABLE%“  是因为我要找这张表,所以这样过滤一下;

5“表示要往前追溯几天,这个是有

6“表示要找”UPDATE“类型的


2.
select * from v$sql 
where parsing_schema_name = 'SCHEMA
and module = 'JDBC Thin Client
and service='hbres' 
and UPPER(sql_text) like 'UPDATE SCHEMA.TABLE%'
order by last_load_time ;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老油条

您的鼓励将是我创作的大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值