ORACLEデータベース によくあるエラ の解決策

プロのOracle Databaseの復旧サービスを提供 携帯番号: +86 13764045638 メール:service@parnassusdata.com

  データベースを強制的に起動するステップ: 1)データベースを閉じるときにデータベースをバックアップする 後のオペレーションを実行する前に、バックアップがなければ、データベースをなくすrかもしれない。 2)データファイルの時点が異なった場合に、もっとも古いデータファイルに近いシステムテーブルスペースデータファイルを使ったほうがいい。これでデータベースを起動するノートがエラになる可能性を減らせる。 3)*init<sid>.oraファイルを編集して、undo_managementを変更し、二つのバラメタを追加する:
  • undo_management=autoをundo_management=manualに変更する
  • undo_tablespace とundo_retentionを削除/移動する
  • _allow_resetlogs_corruption=true,_corrupted_rollback_segments=を増やす
例えば: _corrupted_rollback_segments=(SYSSMU1$,SYSMU2$, SYSMU3$, SYSMU4$, SYSMU5$, SYSMU6$, SYSMU7$ SYSMU8$, SYSMU9$, SYSMU10$)   注意:alert.logでどこの自動undoセグメントが使われたかすぐ分かる。SYSSで検索する。alter.logに探し出せなかった。フォーマットは_SYSMU_$,例えば: _SYSSMU1_3423929671$ _SYSSMU2_3471197032$ _SYSSMU3_1940572779$ _SYSSMU4_703930491$ _SYSSMU5_2293911943$ _SYSSMU6_2782670761$ _SYSSMU7_3176421677$ _SYSSMU8_1585569843$ _SYSSMU9_1242704454$ _SYSSMU10_777531512$   UNIXで、以下のようなコマンドで、undoセグメントの名を獲得できる: strings SYSTEM01.DBF|grep _SYSSMU | awk -F “$” ‘{print $1″$”}’ | sort -u
  • 使えるバラメタファイルがあれば、pfileを作成できる:
create pfile from spfile; spfileを変更しないでください 4)SQL*PLUS中で、startup mount、ふさわしいバラメタファイルを使ったかをテストしてください。すべてのデータファイルもonlineあるいはsystem状態だった show parameter corrupt show parameter undo   select name,file#,status from v$datafile where status not in(‘ONLINE’,’SYSTEM’); どんなラインが返されても、次のファイルでオンラインさせる: alter database datafile file# online; オンラインしたい場合に、その状態をreoverに変更し、ステップ5を続く。 5) 仮に不完全リカバリを実行して、resetlogsでデータベースを起動する。 recover database until cancel; あるいは recover database using backup controlfile until cancel; アーカイブタイプを実行することが現れて、enterキーを押す alter database open resetlogs; 6)データベースを起動した場合に、テーブルを検索してみる。例えば: select sysdata from dual; ラインが返されたら、ほかのテーブルを検索して、エクスポートを実行するために、データベースが足りるかを確認する。 データベースが起動してから、データベースをエクスポートする。エクスポート出来たら、生き残ったところからデータベースを再構造できる。つまり、すべてのデータファイルを削除して、新たなデータベースを作成する。 この方法で起動した場合に、再構造しない限り、Oracleに支持されない。どんな遅れたエクスポートファイルも取り返さない災厄をもたらす。 注意:init.oraで削除したステップ3に増やしたバラメタに注目してください。さもなければ、このinit.oraで新たなデータベースを作成するときに予想外の損害が起こる。 7)もしステップ5で、起動するときに、インスタンスがシャットダウンしたら、トレースファイルをチェックしてください。トレースファイルがあれば、そこにはORA-00600[2662]あるいはORA-00600[4000]を含んでいるかチェックしてください。これらのエラもalert.logに現れるかもしれない。