7 x 24 在线支持!
Oracle 11g redo と制御ファイルを削除してから、データベースを強制的に起動する
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
シーン:
データベースを起動したままで、制御ファイルとすべてのredoファイルを削除する。データファイルだけを残し、shutdown abortした後でリカバリする。
2.オペレーションステップ
1.バラメタファイルにデータベースを強制的に起動するための隠しバラメタを追加する:
startup nomount
alter system set “_allow_resetlogs_corruption”=true scope=spfile;
alter system set undo_management=manual scope=spfile;
–ここではロールバックセグメントを人工的に設定してください。さもなければ、たとえ起動したとしても、インスタンスはORA-4194もPMONによって中止されるかもしれない。
startup nomount force
2.ここではredoをなくしたから、resetlogsでコントロールファイルを作成する
create controlfile reuse database “CRS”
resetlogs noarchivelog
logfile
group 1 ‘/home/oracle/crs/REDO01.LOG’ size 50M,
group 2 ‘/home/oracle/crs/REDO02.LOG’ size 50M,
group 3 ‘/home/oracle/crs/REDO03.LOG’ size 50M
datafile
‘/home/oracle/crs/SYSTEM01.DBF’,
‘/home/oracle/crs/SYSAUX01.DBF’,
‘/home/oracle/crs/UNDOTBS01.DBF’,
‘/home/oracle/crs/USERS01.DBF’,
‘/home/oracle/crs/EXAMPLE01.DBF’,
‘/home/oracle/crs/MYDB.DBF’
maxlogfiles 50
maxdatafiles 200
maxlogmembers 3;
3.リカバリを試して起動する
recover database usibg backup controlfile until cancel;
alter database open resetlogs;
注意此时还可能出现:
ORA-16433
2662エラが現れた場合に、制御ファイルを再構造してください。
ここでalter database open resetlogsが現れる:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [18045054], [0],
[18045088], [4194432], [], [], [], [], [], []
Process ID: 16029
Session ID: 1 Serial number: 3
ORA-600-2262エラ:
データファイルのSCNはデータのSCNより大きい。
4.ORA-2662に対応してデータベースを強制的に起動する
10015で adjust_scnを引き起こしてください。10gのあとadjust_scnはディフォルトで使えない。バラメタファイルに_ALLOW_ERROR_SIMULATION=trueを設定してください:
startup nomount
alter system set “_ALLOW_ERROR_SIMULATION”=true
shutdown immediate
startup mount
recover database until cancel using backup controlfile;
–ORA-16443エラが現れたら、ステップ2に繰り返してください。
alter session set events ‘10015 trace name adjust_scn level 1’;
alter database open restetlogs;
adjust_scn計算方法:
一般的には五つの数値に注目するだけが、例えば 18045088の場合に十億ごとにレベルが変わる。
より正確に計算するれば、四つの *4 +五つの数値である。ここでは0*4+18045088 が十億より小さいから、1と設定してください。
会根据直接递增数据库的SCN
参考:
Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ID 1428786.1)