用户在开发服务器上删除了多个表 (~1449),并且该用户没有删除的表名称的记录。
我们知道的事情: 1. 执行操作的日期。2. 执行语句的用户的用户名。
是否可以获得表名(已删除)?
如果您在数据库中打开了回收站,则可以查询 DBA_RECYCLEBIN 视图以查找在特定时间段内删除了哪些对象。
SELECT owner,
original_name,
operation,
droptime,
can_undrop
FROM dba_recyclebin
WHERE TO_DATE (droptime, 'YYYY-MM-DD:HH24:MI:SS') BETWEEN SYSDATE - 3
AND SYSDATE
Run Code Online (Sandbox Code Playgroud)
您可以发出FLASHBACK命令来恢复表;
FLASHBACK TABLE <you table's original name> TO BEFORE DROP
Run Code Online (Sandbox Code Playgroud)
替代方案是闪回到特定的 SCN、TIMESTAMP 等。
请参阅https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9012.htm#SQLRF01802和http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm #ADMIN01511阅读更多内容(读起来总没有坏处)