oracle怎么回复删除 oracle恢复删除数据

Oracle数据被删除后 , 如何恢复删除表后,可以采用如下操作:
在user_recyclebin中找到最近操作过的表名称 , 然后用闪回(只能用于10G及以上版本) 。
FLASHBACKTABLETABLE_NAMETOBEFOREDROP;
如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:
CREATETABLEQUICK_TABLEAS
SELECT*FROMTABLE_NAMEASOFTIMESTAMPSYSDATE-1/24(一小时前的),减去的时间可以自己定如:select*fromTABLE_NAMEASOFTIMESTAMP(SYSTIMESTAMP-INTERVAL'1'MINUTE)
如何恢复程序中删除的oracle数据分为两种方法:scn和时间戳两种方法恢复 。
一、通过scn恢复删除且已提交的数据
1、获得当前数据库的scn号
select
current_scn
from
v$database;
【oracle怎么回复删除 oracle恢复删除数据】(切换到sys用户或system用户查询)
查询到的scn号为:1499223
2、查询当前scn号之前的scn
select
*
from
表名
as
of
scn
1499220;
(确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
3、恢复删除且已提交的数据
flashback
table
表名
to
scn
1499220;
二、通过时间恢复删除且已提交的数据
1、查询当前系统时间
select
to_char(sysdate,'yyyy-mm-dd
hh24:mi:ss')
from
dual;
2、查询删除数据的时间点的数据
select
*
from
表名
as
of
timestamp
to_timestamp('2013-05-29
15:29:00','yyyy-mm-dd
hh24:mi:ss');
(如果不是,则继续缩小范围)
3、恢复删除且已提交的数据
flashback
table
表名
to
timestamp
to_timestamp('2013-05-29
15:29:00','yyyy-mm-dd
hh24:mi:ss');
注意:如果在执行上面的语句,出现错误 。可以尝试执行
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数据库误操作把表删除了,怎么找回?一:表的恢复\x0d\x0a\x0d\x0a对误删的表oracle怎么回复删除,只要没有使用PURGE永久删除选项oracle怎么回复删除,那么从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代表oracle怎么回复删除你要恢复的表的名称 。\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 VM VirtualBox管理器 不小心删除启动项怎么恢复进行备份,然后通过在DOS中输入命令还原即可 。
数据库备份:在DOS窗口操作命令符中输入:expsystem/managerinctype=completefile=C:\20080918.DMP,即完成备份 。数据库还原:
1、安装情况:为了进行内蒙科技项目系统的开发,于2008年09月18号进行了Oracle数据库系统的安装与设置工作 。将Oracle数据库系统安装在C盘,数据库文件位置在D:\oracle\oradata 。
2、数据库设置:全局数据库名:oracleSID.beijing 。SID:oracleSID 。用户:sys 。口令:change_on_installsystem 。口令:manager 。
3、准备工作:将要还原的数据库备份文件*.DMP放到某盘根目录下(目的就是为了不让文件目录很深 , 方便写文件路径) 。我这里放到了C盘根目录下 。文件名为20080918.DMP,文件位置:c:\20080918.DMP , 在还原之前需要在数据库实例oracleSID中创建一用户user1,这个用户要与还原的数据库文件中的用户一致,使还原后修改量最少 。当然也可以采用新的用户名,还原到指定的用户空间中 。
4、执行还原:点击开始菜单中“运行”,在文本框中输入“cmd”,回车,弹出DOS命令操作窗口 。还原数据库文件必须使用Sysdba角色,这样才有权进行数据库的还原与备份工作 。在DOS命令行中输入还原操作指令:impsystem/managerfile=C:\20080918.DMP 。full=Y后回车即开始还原 。
在oracle中如何找回被删除的数据?select * from whir$t3068 as of timestamp to_timestamp( '2012-03-30 9:00:00' , 'yyyy-mm-dd hh24:mi:ss' )
select * from whir$t3068 as of timestamp sysdate-750/1440;
flashBack table scheme.whir$t3068 to timestamp(timeVariable,'2012-03-30 09:mi:ss')
********************这个效果很好***************************
先执行SQL查询出来被删除oracle怎么回复删除的数据
select * from 表名 as of timestamp sysdate-1/12
在把数据添加到删除oracle怎么回复删除的表中
insert into biao select* from 表名 as of timestamp sysdate-1/12
oracle怎么回复删除的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于oracle恢复删除数据、oracle怎么回复删除的信息别忘了在本站进行查找喔 。

    推荐阅读