【精选】有归档文件无备份情况

上传人:豆浆 文档编号:907419 上传时间:2017-05-21 格式:DOCX 页数:6 大小:22.88KB
返回 下载 相关 举报
【精选】有归档文件无备份情况_第1页
第1页 / 共6页
【精选】有归档文件无备份情况_第2页
第2页 / 共6页
【精选】有归档文件无备份情况_第3页
第3页 / 共6页
【精选】有归档文件无备份情况_第4页
第4页 / 共6页
【精选】有归档文件无备份情况_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《【精选】有归档文件无备份情况》由会员分享,可在线阅读,更多相关《【精选】有归档文件无备份情况(6页珍藏版)》请在金锄头文库上搜索。

1、有归档文件无备份情况下,数据文件丢失恢复案例一. 前提条件1. 归档模式下。2. 数据文件在当前控制文件之后创建。 否则会报 ORA-01178 错误。ORA-01178: file 5 created before last CREATE CONTROLFILE, cannot recreateORA-01110: data file 5: D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF因为只有控制文件中包含了丢失文件信息,才可以通过 create datafile 方式重新创建文件,通过控制文件中记录的文件信息、SCN 、检查点等信息,应

2、用归档日志进行恢复,完成完全恢复.二.操作步骤: 1 以 MOUNT 方式启动: STARTUP MOUNT 2. 使破坏的数据文件离线: ALTER DATABASE DATAFILE - OFFLINE; 3 打开数据库: ALTER DATABASE OPEN; 4 创建一个新的控制的数据文件,要求和原文件大小,路径,名称都相同. SQL alter database create datafile D:/DAVE/TEST.DBF as D:/DAVE/TEST.DBF;5 对新数据文件实施恢复: RECOVER DATAFILE -; 6 使数据文件在线: ALTER DATAFIL

3、E - ONLINE; 三. 查看数据文件状态SQL select file#,status,name from v$datafile;四. 切换归档模式SQL startup mount;SQL alter database archivelog;SQL shutdown immediate;五. 测试用例:SQL select name from v$datafile;NAME-D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBFD:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBFD:/ORA

4、CLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBFD:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBFD:/DAVE/DAVE.DBFSQL create tablespace test datafile D:/DAVE/test.DBF size 5m;Tablespace created. SQL alter system switch logfile;系统已更改。SQL create table t tablespace test as select * from dba_users;表已创建。SQL a

5、lter system switch logfile;系统已更改。SQL shutdown immediate;D:/Davemove test.dbf test.bakSQL startupORACLE instance started.Total System Global Area 574619648 bytesFixed Size 1250236 bytesVariable Size 197135428 bytesDatabase Buffers 373293056 bytesRedo Buffers 2940928 bytesDatabase mounted.ORA-01157: c

6、annot identify/lock data file 6 - see DBWR trace fileORA-01110: data file 6: D:/DAVE/TEST.DBFSQL select name from v$datafile;NAME-D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBFD:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBFD:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBFD:/ORACLE/PRODUCT/1

7、0.2.0/ORADATA/ORCL/USERS01.DBFD:/DAVE/DAVE.DBFD:/DAVE/TEST.DBF6 rows selected.SQL alter database create datafile D:/DAVE/TEST.DBF;Database altered.SQL recover datafile D:/DAVE/TEST.DBF;Media recovery complete.SQL alter database open;6. exp 表然后再导入在这种情况下,如果有备份,需要从备份中恢复如果没有备份,那么坏块部分的数据肯定要丢失了在这个时候导出是不允许

8、的:E:exp eygle/eygle file=t.dmp tables=tExport: Release 9.2.0.4.0 - Production on 星期一 3 月 8 20:54:15 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer R

9、elease 9.2.0.4.0 - Production已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的表通过常规路径 . . 正在导出表 TEXP-00056: 遇到 ORACLE 错误 1578ORA-01578: ORACLE 数据块损坏(文件号 4,块号 35)ORA-01110: 数据文件 4: E:ORACLEORADATAEYGLEBLOCK.DBF导出成功终止,但出现警告。2.当然,对于不同的情况需要区别对待 ,如果损失不是数据而是重要的 oracle 内部信息,则不能用 set event首先你需要检查损坏的对象,使用以下 SQL:-

10、SQL SELECT tablespace_name, segment_type, owner, segment_name2 FROM dba_extents3 WHERE file_id = 44 and 35 between block_id AND block_id + blocks - 15 ;TABLESPACE_NAME SEGMENT_TYPE OWNER- - -SEGMENT_NAME-BLOCK TABLE EYGLET-3.如果损失的是数据,ok ,可以设置内部事件,使 exp 跳过这些损坏的 block10231 事件指定数据库在进行全表扫描时跳过损坏的块ALTER S

11、YSTEM SET EVENTS=10231 trace name context forever,level 10 ; SQL ALTER SYSTEM SET EVENTS=10231 trace name context forever,level 10 ;系统已更改。然后我们可以导出未损坏的数据SQL hostMicrosoft Windows XP 版本 5.1.2600(C) 版权所有 1985-2001 Microsoft Corp.E:E:exp eygle/eygle file=t.dmp tables=tExport: Release 9.2.0.4.0 - Product

12、ion on 星期一 3 月 8 20:57:13 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.4.0 - Production已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的表

13、通过常规路径 . . 正在导出表 T 8036 行被导出在没有警告的情况下成功终止导出。这时候数据成功导出.然后我们可以 drop table,recreate,然后导入数据本例中我们损失了8192 - 8036 = 156 行数据4.重建表,再导入SQL connect eygle/eygle已连接。SQL drop table t;表已丢弃。SQL hostMicrosoft Windows XP 版本 5.1.2600(C) 版权所有 1985-2001 Microsoft Corp.E:Oracleora92bincd E:imp eygle/eygle file=t.dmp tabl

14、es=tImport: Release 9.2.0.4.0 - Production on 星期一 3 月 8 21:12:38 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.4.0 - Production经由常规路径导出由 EXPORT:V09.02.00 创建的文件已经完成 ZHS

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号