咨询微信: dbservice1234 7 x 24 在线支持!

ORA -00704: ブートストラップ・プロセス障害 - 原因と解決策

ORA -00704: ブートストラップ・プロセス障害 - 原因と解決策

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

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

 

 

現象

 アップグレード後、データベースオープン時に、下記のエラーで失敗します

ORA-00704: ブートストラップ・プロセス障害です
ORA-00604: 再帰SQLレベル 1 でエラーが発生しました
 

変更点

 データベースのアップグレード

原因

1. サポートされていない操作でデータベースを強制的にオープンする時に、これらのエラーになる可能性があります。

2. このエラーはシステムのデータファイルにブロックが破損(ORA-1578)がある場合に発生することがあります。

3. ブートストラップ・オブジェクトが破損/欠落しています。

 

解決策

Oracleでは、ブートストラップはデータベースを OPEN する前のメタデータ(データ・ディクショナリ)のロードに関連しています。

 

ORA-00704 が下記のエラーを伴う場合

A) ORA-39700: データベースは、UPGRADEオプションを使用してオープンしてください

環境変数 ORACLE_HOME, PATH などが正しく設定されていることを確認した上で、catupgrd.sql を再実行します。      

 

B) ORA-00942: 表またはビューがありません

   特定のブートストラップ・オブジェクトが欠落している可能性があります。

    1.Shutdown (abort)でインスタンスを停止し、インスタンスに使用されるすべてのOS構造体をクリーンアップします。

    2.共有メモリやセマフォが存在する場合、クリーンアップします 
     
       下記コマンドを使用し、Oracleユーザーが所有する共有メモリー・セグメントおよびセマフォを削除します。

       Unixのプロンプトに次のコマンドを実行します。
   
   a) ipcs -m
      これはoracleユーザーが所有するメモリー・セグメントを示します。 開始が失敗しているインスタンスに関連するOracleセグメントが存在する場合、削除します
      > ipcrm -m <segment id number>
      これで、メモリーからセグメントが削除され、Oracleはこの部分のメモリを保留しません

   c) ipcs -s
     セマフォの確認 - スタートおよび削除に失敗しているインスタンスのセグメントIDを取得します  
      >ipcrm -s <segment id number>
    

   3.起動を再試行してください。

   4.エラーが繰り返される場合は、アップグレード前に実施したバックアップからデータベースをリストアします。

 

C) ORA-01406: フェッチされた列の値は切り捨てられました

ブートストラップ・オブジェクトが破損している可能性があります。 
アップグレードする前に取得したバックアップからデータベースをリストアします。

 

注意 エラーに付随するエラーが存在する場合は注意してください。