oracle删库如何恢复 oracle误删除

在oracle中如何找回被删除的数据?【oracle删库如何恢复 oracle误删除】1、首先新建一张测试表TEST,里面输入记录 。由于删除/更新/插入恢复步骤相同,这里仅演示删除数据的情况 。
2、删除其中1条记录 , 查看表中记录情况,由下图可见,记录2被删除了 。
3、恢复之前先确定要恢复到的时间点,下图可以看出2018-03-07 15:33:00数据是正确的 。
SELECT *
FROM TEST AS OF TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
4、下面进行表数据恢复 。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
可以看到报错了,原因是没有开启行移动 。
5、开启该表的行移动 。
ALTER TABLE TEST ENABLE ROW MOVEMENT;
6、再次执行数据恢复 。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
然后查看数据情况,可以看到已经恢复了 。
oracle数据库误操作把表删除了,怎么找回?一:表的恢复\x0d\x0a\x0d\x0a对误删的表,只要没有使用PURGE永久删除选项 , 那么从flash back区恢复回来希望是挺大的 。一般步骤有:\x0d\x0a\x0d\x0a1、从flash back里查询被删除的表\x0d\x0a\x0d\x0aselect * from recyclebin\x0d\x0a\x0d\x0a2.执行表的恢复\x0d\x0a\x0d\x0aflashback tabletbto 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\x0a2、执行表记录恢复\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数据库执行脚步出错,怎么恢复数据库数据恢复方法是利用oracle提供的闪回方法进行数据恢复oracle删库如何恢复,适用于delete删除(一条记录)方式oracle删库如何恢复:
首先需要知道是什么时间进行的删除操作oracle删库如何恢复,如果不能确定具体时间点则选择尽量准确的删除数据前的时间 。然后利用
select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
语句可以找回删除的数据 。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));
语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复) 。
另一种方法可以通过闪回整个表来恢复误删除的数据oracle删库如何恢复,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下oracle删库如何恢复:
·alter table 表名 enable row movement
重装系统后,怎么恢复oracle数据库?任何软件都有可能在有意或无意的情况下被重新安装,如Oracle重装后数据库怎么恢复呢?情况发生在你是无意的情况下!ORACLE数据库恢复的方法我们经常会用到,下面就为您介绍重装系统后ORACLE数据库恢复的方法,希望对您学习ORACLE数据库恢复方面能有所帮助 。\x0d\x0a\x0d\x0a我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在 , 我相信一定能够恢复,直到搞定工作,我才开始整我的数据库,花了两天时间,终于恢复了,庆祝一下,同时总结一下 , 希望有遇到同样问题的朋友能够快速搞定此类问题\x0d\x0a\x0d\x0a第一种:\x0d\x0a\x0d\x0a首先,备份数据库(X:\oracle\oradata)下的数据文件,重新命名即可(否则装数据库的时候会提示sid已存在) 。重新安装数据\x0d\x0a库,当然数据库的名字就是你要恢复的名字 。安装完成后,打开控制面板 , 停止oracle的服务 。把(X:\oracle\oradata)下新生成的文件\x0d\x0a改名,把原先目录下的文件恢复名字 。再重新启动oracle服务和监听 。用sys/as dba \x0d\x0a登陆数据库,可能会提示权限不够(ora-01031)修改(X:\oracle\ora92\network\admin \x0d\x0a)文件夹下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= \x0d\x0a(NTS),增加权限 。登陆进去后,打开table提示不能打开 。打开common页 , 执行命令alert database \x0d\x0aopen;这时再刷新table,发现原先的表可以打开了 。恢复成功了 。再用原先数据库的普通用户进入 。发现一切正常 。至此,大功告成 。\x0d\x0a\x0d\x0a第二种:\x0d\x0a\x0d\x0a1、首先,将原来的ORACLE文件夹改名 , 原来的路径是D:/oracle.我暂时改成D:/oracle_old.找来ORACLE(我用\x0d\x0a的是ORACLE 9I)安装光盘,将ORACLE安装在原来安装的目录下,这样恢复起来更加方便 , 主要是注册表的内容不用修改 。\x0d\x0a\x0d\x0a2、安装完了之后,系统中又有一个可以使用的ORACLE了 。这个时候要做的就是将原来的文件和数据恢复过来 。第一步,先关闭ORACLE的所\x0d\x0a有已经启动的项目,在"服务"里面逐一关闭 。然后 , 将安装目录改名 。我现在用的是D:/oracle.改成D:/oracle_new.再将D:\x0d\x0a/oracle_old改成D:/oracle. \x0d\x0a这样理论上说从物理层面恢复了ORACLE了 。但是我们发现,现在还不能启动ORACLE的监听程序和服务程序 。我们还要从逻辑上解决 。\x0d\x0a\x0d\x0a3、在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例 \x0d\x0a建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例 。当然你懒,不重新启动也可以 , 但是你的实例名就不能和原来的一样了 。\x0d\x0a\x0d\x0a4、在dos环境下执行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例 , 其中 "mm"为新数据库的名称 。\x0d\x0a\x0d\x0a5、启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去 。\x0d\x0a要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的 , 而不是127.0.0.1或者localhost.所以,如果我们安装系\x0d\x0a统的时候用的是不同的电脑名称(比如我原来用的是wm_mm.重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件 \x0d\x0alistener.ora.将里面的相关的东西改过来就可以了 。\x0d\x0a\x0d\x0a需要耐心、细心 , 可能在一步里有一个细小的差别就会出些古怪的错误提示,有时需要根据错误提示采取策略,总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件 , 最后重新实例化,打开数据库就可以进去了 。
Oracle数据库软件删除后数据有办法恢复么?1、如果你没有删除数据库文件:
我的是放在[D:\oracle\product\10.1.0\oradata]这个下面,你的肯定也是在[oradata]这个文件夹下面 , 看看有没有被删除,如果没有被删除的话,看看这么文件夹里面的文件夹叫什么名字,并把里面的那个文件夹备份一份 。
2、重新安装数据库 , 再重新建一个[oradata]下面文件夹名字相同的数据库实例 。
3、安装完毕后,停止oracle相关的所有服务,把你备份的那个文件夹覆盖到新的[oradata]下面,重新启动数据库服务即可完成恢复 。
补充:如果数据库文件被你删除了,用EasyRecovery
Professional
恢复一下再按照上面的步骤恢复一下即可 。
---
以上,希望对你有所帮助 。
oracle删库如何恢复的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle误删除、oracle删库如何恢复的信息别忘了在本站进行查找喔 。

    推荐阅读