不知道是哪个黑心的家伙把我几天辛苦的成果全删除了。今天心情差透了T_T
请问有没有办法查到是谁干的??
公司用UNIX+LINUX操作系统,谢谢大家!
16 个解决方案
#1
不知道楼主有没有做归档处理,如果没有,希望很少。
如果有,用LogMiner分析日志文件。
http://www.eol.cn/shiti_jc_2256/20060323/t20060323_123801.shtml
如果有,用LogMiner分析日志文件。
http://www.eol.cn/shiti_jc_2256/20060323/t20060323_123801.shtml
#2
看有没有归档了,如果联机日志切换了,logminer也帮不了你了
#3
如果开启了audit trail的话可以试试找找是那个用户做的
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
#4
还有一个可能,就是你自己没有commit;
#5
呵呵 楼主运气真差
#6
学习了...关注后台黑手。。。
#7
最多能查出是哪个数据库用户,不能查出是哪个人
#8
谢谢大家的热心帮助先
#9
不好意思,我不是DBA,所以没办法看到日志文件。
而且不知道公司有没有装LogMiner.
我和DBA不熟...已经找他查过了,不过他说日志太大,很难找出是哪个用户删除的.
我用
select * from all_objects where object_name=?
看到表最后DDL的时间是7月3号凌晨4点多
PS,我竟然没有权限看 V$sqlarea
#10
commit是肯定有的,我用ETL工具把数据倒入数据库,整个job已经完成,我开另外一个session看到数据已经倒入
#11
oracle 哪个版的。
undo 里的数据要是还在。
可以用( as of timestamp sysdate-10/24 ) 查 10小时以前的数据。
select * from tb as of timestamp sysdate-10/24;
如果能查到就 insert into tb select * from tb as of timestamp sysdate-10/24;
如果是 truncate 就查不到了。
undo 里的数据要是还在。
可以用( as of timestamp sysdate-10/24 ) 查 10小时以前的数据。
select * from tb as of timestamp sysdate-10/24;
如果能查到就 insert into tb select * from tb as of timestamp sysdate-10/24;
如果是 truncate 就查不到了。
#12
如果开启了audit trail的话可以试试找找是那个用户做的
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
#13
如果是归档模式,用logminer可以查到执行操作的机器名,
很容易的,让你们DBA给查查
logminer是oracle的组件,不需要额外装的
很容易的,让你们DBA给查查
logminer是oracle的组件,不需要额外装的
#14
很奇怪csdn居然不允许连续回复3次,可能是防止灌水吧。
用了show parameter audit_trail
结果是
audit_trail string NONE
#15
版本是10g
用了您的方法,显示
ora-01466 unable to read data - table definition has changed
#16
select * from v$logmnr_contents显示
ORA-01306: dbms_logmnr.start_logmnr() must be invoked before selecting from v$logmnr_contents
估计还没选取日志文件吧?
我找过上级了,他说DBA比较忙,不会帮了...
我是想,我自己有没有办法查到呢?
无论如何,还是谢谢你们的方法
#1
不知道楼主有没有做归档处理,如果没有,希望很少。
如果有,用LogMiner分析日志文件。
http://www.eol.cn/shiti_jc_2256/20060323/t20060323_123801.shtml
如果有,用LogMiner分析日志文件。
http://www.eol.cn/shiti_jc_2256/20060323/t20060323_123801.shtml
#2
看有没有归档了,如果联机日志切换了,logminer也帮不了你了
#3
如果开启了audit trail的话可以试试找找是那个用户做的
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
#4
还有一个可能,就是你自己没有commit;
#5
呵呵 楼主运气真差
#6
学习了...关注后台黑手。。。
#7
最多能查出是哪个数据库用户,不能查出是哪个人
#8
谢谢大家的热心帮助先
#9
不好意思,我不是DBA,所以没办法看到日志文件。
而且不知道公司有没有装LogMiner.
我和DBA不熟...已经找他查过了,不过他说日志太大,很难找出是哪个用户删除的.
我用
select * from all_objects where object_name=?
看到表最后DDL的时间是7月3号凌晨4点多
PS,我竟然没有权限看 V$sqlarea
#10
commit是肯定有的,我用ETL工具把数据倒入数据库,整个job已经完成,我开另外一个session看到数据已经倒入
#11
oracle 哪个版的。
undo 里的数据要是还在。
可以用( as of timestamp sysdate-10/24 ) 查 10小时以前的数据。
select * from tb as of timestamp sysdate-10/24;
如果能查到就 insert into tb select * from tb as of timestamp sysdate-10/24;
如果是 truncate 就查不到了。
undo 里的数据要是还在。
可以用( as of timestamp sysdate-10/24 ) 查 10小时以前的数据。
select * from tb as of timestamp sysdate-10/24;
如果能查到就 insert into tb select * from tb as of timestamp sysdate-10/24;
如果是 truncate 就查不到了。
#12
如果开启了audit trail的话可以试试找找是那个用户做的
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
SQL> show parameter audit_trail
看看你的结果
如果结果为none,如下,就没有办法了。
audit_trail string NONE
#13
如果是归档模式,用logminer可以查到执行操作的机器名,
很容易的,让你们DBA给查查
logminer是oracle的组件,不需要额外装的
很容易的,让你们DBA给查查
logminer是oracle的组件,不需要额外装的
#14
很奇怪csdn居然不允许连续回复3次,可能是防止灌水吧。
用了show parameter audit_trail
结果是
audit_trail string NONE
#15
版本是10g
用了您的方法,显示
ora-01466 unable to read data - table definition has changed
#16
select * from v$logmnr_contents显示
ORA-01306: dbms_logmnr.start_logmnr() must be invoked before selecting from v$logmnr_contents
估计还没选取日志文件吧?
我找过上级了,他说DBA比较忙,不会帮了...
我是想,我自己有没有办法查到呢?
无论如何,还是谢谢你们的方法