oracle redo损坏的处理
oracle redo损坏的处理如果光是INACTIVE状态的redo损坏,有三种方法可以恢复:1.clear logfile相关命令:alter database clear logfile '/database/oradata/skyread/redo04.log'; --已经归档的操作alter database clear unarchived logfile '/database/oradata/skyread/redo04.log'; --inactive未归档的操作2.不完全恢复until cancel启动到mount状态运行recover database until cancel;3.重建控制文件resetlogs方法采用重建控制文件脚本resetlogs的方式重建,应用相关redo,完成介质恢复,resetlogs不检查日志文件,所以不会报错活动的在线日志损坏而且异常关闭的恢复:SQL> alter database backup controlfile to trace as '/home/oracle/ctl.sql' reuse resetlogs;Database altered.SQL> create table t1 as select * from dba_objects;Table created.SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME---------------- ---------------- ---------------- ---------------- ---------------- --- ---------------- ---------------- -------------------1 1 31 536870912 1 YES INACTIVE 122695597193 2013-05-29 14:41:242 1 32 536870912 1 YES INACTIVE 122695676280 2013-05-31 13:38:043 1 29 536870912 1 YES INACTIVE 122695590894 2013-05-29 10:29:294 1 33 536870912 1 YES ACTIVE 122695698110 2013-05-31 14:15:475 1 34 536870912 1 NO CURRENT 122695861946 2013-06-04 13:48:31破坏活动归档的日志文件,破坏控制文件,异常关机:SQL> shutdown abort;ORACLE instance shut down.启动到mount状态时报错:SQL> startup;ORACLE instance started.Total System Global Area 5049942016 bytesFixed Size 2090880 bytesVariable Size 1375733888 bytesDatabase Buffers 3657433088 bytesRedo Buffers 14684160 bytesORA-00205: error in identifying control file, check alert log for more info重建控制文件,注意如果是noresetlogs是不成功的,这里由于redo04.log损坏,只能采用resetlogs,不检查日志文件SQL> CREATE CONTROLFILE REUSE DATABASE "SKYREAD" NORESETLOGS FORCE LOGGING ARCHIVELOG2 MAXLOGFILES 203 MAXLOGMEMBERS 54 MAXDATAFILES 10005 MAXINSTANCES 86 MAXLOGHISTORY 23377 LOGFILE8 GROUP 1 '/database/oradata/skyread/redo01.log' SIZE 512M,9 GROUP 2 '/database/oradata/skyread/redo02.log' SIZE 512M,10 GROUP 3 '/database/oradata/skyread/redo03.log' SIZE 512M,11 GROUP 4 '/database/oradata/skyread/redo04.log' SIZE 512M,12 GROUP 5 '/database/oradata/skyread/redo05.log' SIZE 512M13 DATAFILE14 '/database/oradata/skyread/system01.dbf',15 '/database/oradata/skyread/tbs_test.dbf',16 '/database/oradata/skyread/sysaux01.dbf',17 '/database/oradata/skyread/users01.dbf',18 '/database/oradata/skyread/system02.dbf',19 '/database2/oradata/skyread/undotbs02.dbf',20 '/database2/oradata/skyread/TBS_MRPMUSIC01.dbf',21 '/database/oradata/skyread/sf01.dbf'22 CHARACTER SET UTF8;CREATE CONTROLFILE REUSE DATABASE "SKYREAD" NORESETLOGS FORCE LOGGING ARCHIVELOG*ERROR at line 1:ORA-01503: CREATE CONTROLFILE failedORA-01565: error in identifying file '/database/oradata/skyread/redo04.log'ORA-27046: file size is not a multiple of logical block sizeAdditional information: 1SQL> CREATE CONTROLFILE REUSE DATABASE "SKYREAD" RESETLOGS FORCE LOGGING ARCHIVELOG2 MAXLOGFILES 203 MAXLOGMEMBERS 54 MAXDATAFILES 10005 MAXINSTANCES 86 MAXLOGHISTORY 23377 LOGFILE8 GROUP 1 '/database/oradata/skyread/redo01.log' SIZE 512M,9 GROUP 2 '/database/oradata/skyread/redo02.log' SIZE 512M,10 GROUP 3 '/database/oradata/skyread/redo03.log' SIZE 512M,11 GROUP 4 '/database/oradata/skyread/redo04.log' SIZE 512M,12 GROUP 5 '/database/oradata/skyread/redo05.log' SIZE 512M13 DATAFILE14 '/database/oradata/skyread/system01.dbf',15 '/database/oradata/skyread/tbs_test.dbf',16 '/database/oradata/skyread/sysaux01.dbf',17 '/database/oradata/skyread/users01.dbf',18 '/database/oradata/skyread/system02.dbf',19 '/database2/oradata/skyread/undotbs02.dbf',20 '/data上一个:再次遇到Oracle连接sqlplus时的解决
下一个:实例恢复的深入解析
- 更多Oracle疑问解答:
- 运行exp备份oracle数据库提示oracle-12154错误
- 有没有,生产Oracle Rman 备份脚本的工具啊!
- 初学orcle,希望有大大帮忙解说一下详细步骤,从登录oracle到创建表的过程
- oracle语句问题:一张user表,三个字段,id,name,time,插入记录比如:张三2007,李四2008,张三2011
- 如何写一个ORACLE触发器同步两个表中的数据?
- oracle 如何查看一个服务器上有多少个数据库.
- oracle 创建包的时候错误 求解
- oracle 重复列的问题
- oracle 中如何查处2星期前的数据
- 请教oracle数据库安装中的问题
- 请问谁能提供给我标准的oracle ERP的数据库表结构并详细说明各表主要的作用?
- 安装oracle遇到的问题 invalid entry CRC (expected 0x3e12e795 but got 0x9db0e9fd)
- 我的是ORACLE 10G,在RMAN中如何按指定的时间恢复数据文件啊?
- oracle为什么没有自动增长列
- oracle快捷键都有哪些啊?