![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 公司简介 | 报价中心 | 成功案例 | 工作机会 | 天盾论坛 | | ||
|
||
|
|||||
| oracle控制文件损坏情况下成功的恢复 | |||||
作者:hww 文章来源:本站原创 点击数: 更新时间:2007-5-19 ![]() |
|||||
|
情况描述: 所有控制文件损坏,掉电(shutdown abort),无归档,无备份的成功恢复。 一个例子希望给大家以帮助。 注意:创建控制文件的时候,正常的话使用红色部分的reuse and noresetlogs,这样就不用 连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production SQL> drop table rn; 表已丢弃。 SQL> alter system checkpoint; 系统已更改。 SQL> drop table test_group; 表已丢弃。 SQL> conn / as sysdba 已连接。 SQL> shutdown abort Oracle 例程已经关闭。 SQL> startup nomount Oracle 例程已经启动。 Total System Global Area 31229980 bytes Fixed Size 75804 bytes Variable Size 14299136 bytes Database Buffers 16777216 bytes Redo Buffers 77824 bytes SQL> CREATE CONTROLFILE SET/reuse DATABASE "billy" RESETLOGS/NOresetlogs NOARCHIVELOG 2 MAXLOGFILES 64 3 MAXLOGMEMBERS 2 4 MAXDATAFILES 254 5 MAXINSTANCES 32 6 MAXLOGHISTORY 113 7 LOGFILE 8 GROUP 1 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' SIZE 1048576 , 9 GROUP 2 'E:\Oracle\ORADATA\BILLY\REDO02.LOG' SIZE 1048576 , 10 GROUP 3 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' SIZE 1048576 11 DATAFILE 12 'E:\Oracle\ORADATA\BILLY\SYSTEM01.DBF', 13 'E:\Oracle\ORADATA\BILLY\RBS01.DBF', 14 'E:\Oracle\ORADATA\BILLY\USERS01.DBF', 15 'E:\Oracle\ORADATA\BILLY\TEMP01.DBF', 16 'E:\Oracle\ORADATA\BILLY\TOOLS01.DBF', 17 'E:\Oracle\ORADATA\BILLY\INDX01.DBF', 18 'E:\Oracle\ORADATA\BILLY\DR01.DBF', 19 'E:\Oracle\ORADATA\BILLY\DB4K.DBF' 20 CHARACTER SET ZHS16GBK 21 ; 数据簇已更改。 SQL> shutdown ORA-01109: ?????? 已经卸载数据库。 Oracle 例程已经关闭。 SQL> startup mount Oracle 例程已经启动。 Total System Global Area 31229980 bytes Fixed Size 75804 bytes Variable Size 14299136 bytes Database Buffers 16777216 bytes Redo Buffers 77824 bytes 数据库装载完毕。 SQL> recover database using backup controlfile until cancel; ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ???? ORA-00289: ??: E:\Oracle\ORA81\RDBMS\ARC00001.001 ORA-00280: ?? 25526706 ???? 1 ???? # 1 ??? 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' ORA-00339: ??????????? ORA-00334: ????: 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ??????? ORA-01194: ??1????????????? ORA-01110: ???? 1: 'E:\Oracle\ORADATA\BILLY\SYSTEM01.DBF' SQL> recover database using backup controlfile until cancel; ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ???? ORA-00289: ??: E:\Oracle\ORA81\RDBMS\ARC00001.001 ORA-00280: ?? 25526706 ???? 1 ???? # 1 ??? 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' 已应用的日志。 完成介质恢复。 SQL> recover database using backup controlfile until cancel; ORA-00279: ?? 25526718 (? 03/20/2003 09:45:38 ??) ???? 1 ???? ORA-00289: ??: E:\Oracle\ORA81\RDBMS\ARC00001.001 ORA-00280: ?? 25526718 ???? 1 ???? # 1 ??? 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' ORA-00339: ??????????? ORA-00334: ????: 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' SQL> alter database open resetlogs; 数据库已更改。 SQL> 在最后一步注意日志文件选择的正确,一个一个试都没有关系 或问曰: CREATE CONTROLFILE SET DATABASE "billy" RESETLOGS NOARCHIVELOG ?? 应该不要resetlogs吧? redo log file做shut abort之前的数据不就全没有了吗? 答: 如果reuse 创建控制文件就可以不用resetlogs。 即使使用set 创建控制文件也可以进行完全恢复。 看下面: SQL> conn rainy/rainy 已连接。 SQL> truncate table trans; 表已截掉。 SQL> alter system checkpoint; 系统已更改。 SQL> insert into trans values(1); 已创建 1 行。 SQL> commit; 提交完成。 SQL> conn / as sysdba 已连接。 SQL> shutdown abort Oracle 例程已经关闭。 SQL> startup nomount Oracle 例程已经启动。 Total System Global Area 31229980 bytes Fixed Size 75804 bytes Variable Size 14299136 bytes Database Buffers 16777216 bytes Redo Buffers 77824 bytes SQL> CREATE CONTROLFILE SET DATABASE "billy" NORESETLOGS NOARCHIVELOG 2 MAXLOGFILES 64 3 MAXLOGMEMBERS 2 4 MAXDATAFILES 254 5 MAXINSTANCES 32 6 MAXLOGHISTORY 113 7 LOGFILE 8 GROUP 1 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' SIZE 1048576 , 9 GROUP 2 'E:\Oracle\ORADATA\BILLY\REDO02.LOG' SIZE 1048576 , 10 GROUP 3 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' SIZE 1048576 11 DATAFILE 12 'E:\Oracle\ORADATA\BILLY\SYSTEM01.DBF', 13 'E:\Oracle\ORADATA\BILLY\RBS01.DBF', 14 'E:\Oracle\ORADATA\BILLY\USERS01.DBF', 15 'E:\Oracle\ORADATA\BILLY\TEMP01.DBF', 16 'E:\Oracle\ORADATA\BILLY\TOOLS01.DBF', 17 'E:\Oracle\ORADATA\BILLY\INDX01.DBF', 18 'E:\Oracle\ORADATA\BILLY\DR01.DBF', 19 'E:\Oracle\ORADATA\BILLY\DB4K.DBF' 20 CHARACTER SET ZHS16GBK 21 ; CREATE CONTROLFILE SET DATABASE "billy" NORESETLOGS NOARCHIVELOG * ERROR 位于第 1 行: ORA-01503: CREATE CONTROLFILE ?? ORA-01223: ???? RESETLOGS ????????? SQL> CREATE CONTROLFILE SET DATABASE "billy" RESETLOGS NOARCHIVELOG 2 MAXLOGFILES 64 3 MAXLOGMEMBERS 2 4 MAXDATAFILES 254 5 MAXINSTANCES 32 6 MAXLOGHISTORY 113 7 LOGFILE 8 GROUP 1 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' SIZE 1048576 , 9 GROUP 2 'E:\Oracle\ORADATA\BILLY\REDO02.LOG' SIZE 1048576 , 10 GROUP 3 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' SIZE 1048576 11 DATAFILE 12 'E:\Oracle\ORADATA\BILLY\SYSTEM01.DBF', 13 'E:\Oracle\ORADATA\BILLY\RBS01.DBF', 14 'E:\Oracle\ORADATA\BILLY\USERS01.DBF', 15 'E:\Oracle\ORADATA\BILLY\TEMP01.DBF', 16 'E:\Oracle\ORADATA\BILLY\TOOLS01.DBF', 17 'E:\Oracle\ORADATA\BILLY\INDX01.DBF', 18 'E:\Oracle\ORADATA\BILLY\DR01.DBF', 19 'E:\Oracle\ORADATA\BILLY\DB4K.DBF' 20 CHARACTER SET ZHS16GBK 21 ; 数据簇已更改。 SQL> SQL> shutdown ORA-01109: ?????? 已经卸载数据库。 Oracle 例程已经关闭。 SQL> startup mount Oracle 例程已经启动。 Total System Global Area 31229980 bytes Fixed Size 75804 bytes Variable Size 14299136 bytes Database Buffers 16777216 bytes Redo Buffers 77824 bytes 数据库装载完毕。 SQL> recover database using backup controlfile until cancel; ORA-00279: ?? 25546853 (? 03/20/2003 11:51:40 ??) ???? 1 ???? ORA-00289: ??: E:\Oracle\ORA81\RDBMS\ARC00002.001 ORA-00280: ?? 25546853 ???? 1 ???? # 2 ??? 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' ORA-00310: ???????? 1????? 2 ORA-00334: ????: 'E:\Oracle\ORADATA\BILLY\REDO03.LOG' ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ??????? ORA-01194: ??1????????????? ORA-01110: ???? 1: 'E:\Oracle\ORADATA\BILLY\SYSTEM01.DBF' SQL> recover database using backup controlfile until cancel; ORA-00279: ?? 25546853 (? 03/20/2003 11:51:40 ??) ???? 1 ???? ORA-00289: ??: E:\Oracle\ORA81\RDBMS\ARC00002.001 ORA-00280: ?? 25546853 ???? 1 ???? # 2 ??? 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} 'E:\Oracle\ORADATA\BILLY\REDO01.LOG' 已应用的日志。 完成介质恢复。 SQL> alter database open resetlogs; 数据库已更改。 SQL> conn rainy/rainy 已连接。 SQL> select * from trans; A ---------- 1 SQL> |
|||||
| 文章录入:hww 责任编辑:hww | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 硬盘“逻辑锁”解决办法 拯救SQL SERVER2K中崩溃的MA 高危ANI鼠标指针漏洞 微软官 SQL Server2000数据库文件损 硬盘软性故障分析与排除 磁盘阵列常见故障与恢复技巧 硬盘低级格式化全攻略 提防由软件使用不当造成硬盘 磁盘阵列技术原理分析 Web环境下SQL Server数据备份 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|