2020-03-06
drop table 后会记录到v$sql等动态日志里面吗?除过recyclebin,哪块还有drop的记录?为什么找不到执行语句
drop table 后会记录到v$sql等动态日志里面吗?除过recyclebin,哪块还有drop的记录?为什么找不到执行语句
我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
drop table 后会记录到v$sql等动态日志里面吗?除过recyclebin,哪块还有drop的记录?为什么找不到执行语句
drop table属于DDL语句,一般通过审计或者logmainer可以查询到,如果删除的表没有加purge,一般可以通过闪回表恢复。
评论
有用 0归档日志肯定是记录了,通过日志挖掘也可以找到被删除的表,前提是归档日志还保留着。
评论
有用 0通过实验,以及10046发现如下:
vsql并不会记录drop语句,通过10046可以看出来,oracle将drop语句后台分解为许多查询,procedure,DML操作,vsql记录了这些select、DML语句。
评论
有用 0确认下删除的大概时间点,然后根据归档使用log miner可以找到具体的sql。
exec dbms_logmnr.add_logfile(’/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_03_31/o1_mf_1_56_dfvmo95m_.arc’,dbms_logmnr.new);
exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
select scn,sql_redo from v$logmnr_contents
where lower(sql_redo) like ‘drop%’
and seg_name=‘OB1’
and seg_owner=‘SCOTT’;
评论
有用 0
墨值悬赏