ORACLE怎么恢复被删除的DEPT表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE怎么恢复被删除的DEPT表相关的知识,希望对你有一定的参考价值。
不小心不DEPT表给删除了,怎么恢复??scott下面还有别的表,不能重装的,只是恢复dept表,在线急等
我用flashback table object_name to before drop; 结果提示对象不在回收站中~~~~求大神们帮忙解决下啊
去%ORACLE_HOME%\RDBMS\ADMIN下,找一个utlsampl.sql的文件,打开里面有建立DEPT的语句,执行以下就OK了
2、有自己新建的数据,看看有没备份的dmp文件,如果有的话,就执行恢复,选择tables=dept
3、利用日志文件,进行恢复,选择时间点,这个要求就比较高了。
以后记得操作数据库千万记得备份。追问
%ORACLE_HOME%\RDBMS\ADMIN是什么?怎么找,我搜索不到啊。这些东西没有弄过,我的oracle数据库只是JDBC的时候用到,一般就是在里面建个表,设几个字段什么的。。。很多都不懂哎
追答%ORACLE_HOME%就是你的ORACLE的安装主目录
参考技术A 看看recyclebin机制时候启用,如果没有,上面命令无用。只有看看有没有备份啦,逻辑或物理备份。追问我用select * from recyclebin得到这个,怎么弄?
太大,只能截取一部分,下一步呢?
log-explorer??这是什么,怎么用
追答log-explorer是微软的sql的,删掉的表,在日志里都有记录。这个软件能分析日志。从日志里把数据再一条条恢复出来。
oracle数据库误操作把表删除了,怎么找回?
参考技术A 一:表的恢复\\x0d\\x0a\\x0d\\x0a 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:\\x0d\\x0a\\x0d\\x0a1、从flash back里查询被删除的表\\x0d\\x0a\\x0d\\x0a select * from recyclebin\\x0d\\x0a\\x0d\\x0a2.执行表的恢复\\x0d\\x0a\\x0d\\x0a flashback table tb to before drop,这里的tb代表你要恢复的表的名称。\\x0d\\x0a\\x0d\\x0a二:表数据恢复\\x0d\\x0a\\x0d\\x0a 对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:\\x0d\\x0a\\x0d\\x0a1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。\\x0d\\x0a\\x0d\\x0a 如:select * from flashback_transaction_query where \\x0d\\x0atable_name=\'TEST\';\\x0d\\x0a\\x0d\\x0a 2、执行表记录恢复\\x0d\\x0a\\x0d\\x0a 一般先根据时间进行查询,查询语句模式为select * from tb as of timestamp \\x0d\\x0ato_timestamp(time,\'yyyy-mm-dd hh24:mi:ss\'); tb指表名称,time指某个时间点\\x0d\\x0a\\x0d\\x0a 如select * from scott.test as of timestamp to_timestamp(\'2009-12-11 \\x0d\\x0a20:53:57\',\'yyyy-mm-dd hh24:mi:ss\');\\x0d\\x0a\\x0d\\x0a 若有数据,恢复极为简单了,语句为flashback table tb to timestamp \\x0d\\x0ato_timestamp(time,\'yyyy-mm-dd hh24:mi:ss\');\\x0d\\x0a\\x0d\\x0a 如flashback table scott.test to timestamp to_timestamp(\'2009-12-11 \\x0d\\x0a20:47:30\',\'yyyy-mm-dd hh24:mi:ss\');\\x0d\\x0a\\x0d\\x0a注意:alter table testvarchar enable row movement;\\x0d\\x0a\\x0d\\x0a 这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle \\x0d\\x0a中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP \\x0d\\x0a完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个操作以上是关于ORACLE怎么恢复被删除的DEPT表的主要内容,如果未能解决你的问题,请参考以下文章