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)