如何查找哪些表被删除(在 Oracle 中)

Bib*_*dhi 2 oracle

用户在开发服务器上删除了多个表 (~1449),并且该用户没有删除的表名称的记录。

我们知道的事情: 1. 执行操作的日期。2. 执行语句的用户的用户名。

是否可以获得表名(已删除)?

Bri*_*nge 5

如果您在数据库中打开了回收站,则可以查询 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#SQLRF01802http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm #ADMIN01511阅读更多内容(读起来总没有坏处)