海拉尔汽车网

如何处理被误删的oracle数据文件

发布时间:2019-09-17

Oracle11GBIFGILETABLESPACE大文件表空间损坏数据恢复(11)Oracle9i,在数据恢复领域处于国内领先的地位、误删除表空间的恢复oracle数据库恢复.(7)oracle数据库无数据文件但有日志的情况下的恢复.(9)Oracle10G、Oracle11G的ASM损坏的数据库恢复,主要包括(1)系统崩溃只剩下数据文件的情况下的恢复.(10)Oracle10G、Oracle10G.(8)UNIX,甚至没有system表空间而只有数据表空间的情况下的恢复.(2)undosystem表空间损坏数据恢复.只要提供数据文件就可恢复、WINDOWS下ORACLE数据文件被误删除情况下的数据库恢复.(3)非归档或者归档模式下误delete数据的恢复、droptruncate表的恢复.(4)数据库中有大量CLOBBLOB对象数据恢复等情况以及各种ora-错误的修复.(5)DMP文件损坏导致文件不能导入数据库的数据恢复(6)oracle数据库中数据文件出现坏块情况下的恢复、Oracle11G压缩表压缩表空间损坏数据恢复(12)Oracle10GOracle11GExpdp导出Impdp导入DMP文件错误数据恢复恢复成功率高达90%以上

回复:

有备份就有法挽救,没备份就over了,只能想法通过磁盘修复把数据文件找回来。

回复:

一、如果是刚刚删除,那么有两方法:
首先用show parameter undo;命令查看当时的数据库参数undo_retention设置。
显示如下:
undo_management string AUTO
undo_retention integer 10800
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS1
undo_retention(保持力),10800单位是秒。即3个小时。
修改默认的undo_retention参数设置:
ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

方法1,通过oracle提供的回闪功能:
exec dbms_flashback.enable_at_time(to_date('2007-07-23 10:21:00','yyyy-mm-dd hh24:mi:ss'));

set serveroutput on
DECLARE r_temp hr.job_history%ROWTYPE;
CURSOR c_temp IS SELECT * FROM hr.job_history;
BEGIN
OPEN c_temp;
dbms_flashback.disable;
LOOP
FETCH c_temp INTO r_temp;
EXIT WHEN c_temp%NOTFOUND;
insert into hr.job_history(EMPLOYEE_ID,JOB_ID,START_DATE,END_DATE) values (r_temp.EMPLOYEE_ID,r_temp.JOB_ID,r_temp.START_DATE,r_temp.END_DATE);
commit;
END LOOP;
CLOSE c_temp;
END;

方法2,insert into hr.job_history
select * from hr.job_history as of timestamp to_timestamp('2007-07-23 10:20:00', 'yyyy-mm-dd hh24:mi:ss');
这种方法简单,容易掌握,功能和上面的一样时间为你误操作之前的时间,最好是离误操作比较近的,因为oracle保存在回滚保持段里的数据时间有一定的时间限制由undo_retention 这个参数值决定。

二、如果是删除一段时间了,但你有比较新的数据库备份,就通过备份来恢复。新建一个库,把备份还原上去,导出表数据,再导入到现在用的库中去。

三、如果删除一段时间了,并且无备份,但是数据在写入表的时候同时会写入其它一些关联表的话,那么就尝试通过写SQL语句从其它表取数据出来insert到被删除的表中。

回复:

一、使用offline数据文件的方法 非归档模式使用:alter database datafile '...' offline drop; 归档模式使用: alter database datafile '...' offline; 说明: 1) 以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件...

回复:

有备份就有法挽救,没备份就over了,只能想法通过磁盘修复把数据文件找回来。

回复:

一、如果是刚刚删除,那么有两方法: 首先用show parameter undo;命令查看当时的数据库参数undo_retention设置。 显示如下: undo_management string AUTO undo_retention integer 10800 undo_suppress_errors boolean FALSE undo_tablespace st...

回复:

oracle数据库恢复,主要包括(1)系统崩溃只剩下数据文件的情况下的恢复,甚至没有system表空间而只有数据表空间的情况下的恢复.只要提供数据文件就可恢复.(2)undosystem表空间损坏数据恢复.(3)非归档或者归档模式下误delete数据的恢复、误删除表空...

回复:

建议找专业的数据恢复中心做数据恢复,数据重要给的建议是不要自己或非专业人士处理。

回复:

一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有: 1、从flash back里查询被删除的表 select * from recyclebin 2.执行表的恢复 flashback table tb to before drop,这里的tb代表...

回复:

删除表后,可以采用如下操作: 在 user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。 FLASH BACK TABLE TABLE_NAME TO BEFORE DROP; 如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找...

回复:

转自: 单位要将旧数据服务器的数据库迁移到新的服务器上,新服务器连接存储,在处理表空间的过程中不小心将新服务器上/oracle目录下的u01文件夹删除,于是删除表空间时出现问题,现在就演示一下如何解决这个问题环境:10gR2[oracle@db1 ~]$ sql...

回复:

启动dos命令窗口 然后按下面的操作 sqlplus /nolog conn sys/orcl as sysdba; alter database open; 当操作完成上面的操作就会报ORA-01157: cannot identify/lock data file 9 XXX.DBF就是你误删除的那个文件。然后你执行下面的操作。 alter dat...

回复:

Linux 平台误删 oracle 数据文件的恢复方法 模拟误操作: 数据库在正常运行,人工直接rm 掉了数据文件。 --1.测试环境情况: $ cat /etc/redhat-release CentOS release 6.5 (Final) select file_name from dba_data_files; /u01/app/oracle/orada...

    上一篇:怎么提高自己跑800米,400米的速度。快要运动会了 下一篇:荣威350保养提示怎么消

    返回主页:海拉尔汽车网

    本文网址:http://0470auto.cn/view-148160-1.html
    信息删除