场景:
开发反馈:有人删除了表数据,需要进行查找who删除的?
#1 根据表名称查找Object_id
SQL> select object_id from dba_objects where object_name = 'OPAS_BIZ_INP_APP'
#2 与开发沟通,确定大概时间范围,然后根据上面查出的object_id 进行查询
SQL> select distinct sql_id from v$active_session_history where SAMPLE_TIME >= sysdate-1.5/24 and CURRENT_OBJ#=231752;
#3 根据步骤2查询的sqlid,查看sql语句,找到delete语句(即可确定该sql_id)
SQL> !ora planbyid 0w3c6v137a3wt(这个是sql_id)
#4 确定sqlid之后,在次查询 v$active_session_history,这次查询的字段不一样。
SQL> select machine, sample_time, program from v$active_session_history where sample_time >= sysdate-1.5/24 and sql_id = '69hdd5vhcs45x';