Bibhuti Bhusan Padhi Asked: 2016-12-20 06:42:03 +0800 CST2016-12-20 06:42:03 +0800 CST 2016-12-20 06:42:03 +0800 CST 如何查找哪些表被删除(在 Oracle 中) 772 用户在开发服务器上删除了一些表 (~1449),并且用户没有删除的表名的记录。 我们知道的事情: 1. 执行操作的日期。2. 执行语句的用户的用户名。 是否可以获得表名(已删除)? oracle 2 个回答 Voted Best Answer BriteSponge 2016-12-20T07:41:48+08:002016-12-20T07:41:48+08:00 如果您在数据库中打开了回收站,您可以查询 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 您可以发出 FLASHBACK 命令来恢复表; FLASHBACK TABLE <you table's original name> TO BEFORE DROP 替代方法是闪回到特定的 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更多阅读(阅读永远不会有伤害) Jason Krs 2016-12-20T07:46:53+08:002016-12-20T07:46:53+08:00 希望,如果您发布了 Oracle 10g ...并且启用了回收站功能,那么您 DB 的 SYS 用户可以从 sqlplus 执行以下操作: SQL> show recyclebin 希望您会看到丢失的表格。之后阅读此内容,您应该会没事的。
如果您在数据库中打开了回收站,您可以查询 DBA_RECYCLEBIN 视图以查找在特定时间段内删除了哪些对象。
您可以发出 FLASHBACK 命令来恢复表;
替代方法是闪回到特定的 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更多阅读(阅读永远不会有伤害)
希望,如果您发布了 Oracle 10g ...并且启用了回收站功能,那么您 DB 的 SYS 用户可以从 sqlplus 执行以下操作:
SQL> show recyclebin
希望您会看到丢失的表格。之后阅读此内容,您应该会没事的。