以下的相关内容主要介绍的是,解决由于一次误操作而引起的Oracle数据库大恢复的另外一种语法即,重建控制文件(重建控制文件之前,备份controlfile和online redolog)的实际操作方案。
引用
Createcontrolfilereusesetdatabase"LDBRA" MAXINSTANCES8 MAXLOGHISTORY1 MAXLOGFILES16 MAXLOGMEMBERS3 MAXDATAFILES100 Datafile '/ora10g/app/oradata/ldbra/system01.dbf', '/ora10g/app/oradata/ldbra/undotbs01.dbf', '/ora10g/app/oradata/ldbra/sysaux01.dbf', '/ora10g/app/oradata/ldbra/users01.dbf', '/ora10g/app/oradata/ldbra/example01.dbf', '/ora10g/app/product/10.2.0/db_1/dbs/company.dbf', '/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf' LOGFILEGROUP1('/ora10g/app/oradata/ldbra/redo01.log') SIZE51200K, GROUP2('/ora10g/app/oradata/ldbra/redo02.log') SIZE51200K, GROUP3('/ora10g/app/oradata/ldbra/redo03.log') SIZE51200KRESETLOGS;
用上述相关语句来解决由于一次误操作而引起的Oracle数据库大恢复的操作似乎重建成功了!但是进行recover的时候报错了!
引用
SQL>RECOVERDATABASEUSINGBACKUPCONTROLFILE; ORA-00283:recoverysessioncanceledduetoerrors ORA-00600:internalerrorcode,arguments:[kcvhvdf_1], [],[],[],[],[],[], []
可以看到控制文件在重建的过程中进行了dbid重置
引用
SQL>selectdbidfromv$database; DBID 1498845164
问题到这里似乎失去了头绪,呵呵,拷回之前备份的控制文件替换刚建的控制文件。因为我采用的是resetlog选项创建控制文件,从理论上来讲,应该是会重置redolog的,即重新创建redolog。但是目前采用此选项确报ORA-01227错误。不可思议!后来一想可能是跟数据文件中的dbid为0有关。于是采用终极修复方法,bbed!首先将所有数据文件的dbid用bbed工具重置为1488207495,其次将fuzzy标记打为0x2000(因为数据库被ckpt进程异常终止,将标记打为0x2000表示数据库是shutdown immediate关闭),采用上述方法之后控制文件成功创建!
引用
SQL>STARTUPNOMOUNT CREATECONTROLFILEREUSEDATABASE"LDBRA"RESETLOGS ARCHIVELOG MAXLOGFILES16 MAXLOGMEMBERS3 MAXDATAFILES100 MAXINSTANCES8 MAXLOGHISTORY292 LOGFILE ORACLEinstancestarted. TotalSystemGlobalArea1073741824bytes FixedSize1271616bytes VariableSize461375680bytes DatabaseBuffers608174080bytes RedoBuffers2920448bytes GROUP1'/ora10g/app/oradata/ldbra/redo01.log'SIZE50M, GROUP2'/ora10g/app/oradata/ldbra/redo02.log'SIZE50M, GROUP3'/ora10g/app/oradata/ldbra/redo03.log'SIZE50M --STANDBYLOGFILE DATAFILE '/ora10g/app/oradata/ldbra/system01.dbf', '/ora10g/app/oradata/ldbra/undotbs01.dbf', '/ora10g/app/oradata/ldbra/sysaux01.dbf', '/ora10g/app/oradata/ldbra/users01.dbf', '/ora10g/app/oradata/ldbra/example01.dbf', '/ora10g/app/product/10.2.0/db_1/dbs/company.dbf', '/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf' CHARACTERSETZHS16GBK 21; Controlfilecreated.
尝试打Oracle开数据库
SQL>alterdatabaseopenRESETLOGS;
出现数据库挂起状态,后台alert日志显示[2662]错误,呵呵,看到这个错误,希望就来了!
引用
SMON:enablingcacherecovery TueMar903:11:382010 Errorsinfile/ora10g/app/admin/ldbra/udump/ ldbra_ora_13676.trc: ORA-00600:internalerrorcode,arguments: [2662],[2268],[3799096903],[2268],[3799098345], [8388617],[],[] TueMar903:11:402010 Errorsinfile/ora10g/app/admin/ldbra/udump/ ldbra_ora_13676.trc: ORA-00600:internalerrorcode,arguments:[2662], [2268],[3799096903],[2268],[3799098345],[8388617], [],[] TueMar903:11:402010
相关文章
标签:Oracle