Email: service@parnassusdata.com 7 x 24 online support!
Oracle UNDO表領域のoffline後にDB再起動でORA-1092が発生し、alert.log にORA-376 が出力される
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
[起こりうる現象] 再現手順は以下のとおりです: 0. 自動UNDOモードでUNDO表領域UNDOTBS1を指定してDBが起動しています。 1. 別のUNDO表領域UNDOTBS2を作成します。 create undo tablespace undotbs2 datafile '/home/ora9013/app/oracle/oradata/undotbs02.dbf' size 50m; 2. インスタンスのUNDO表領域をUNDOTBS2にスイッチします。 alter system set undo_tablespace='UNDOTBS2'; 3. 以前のUNDO表領域UNDOTBS1をOFFLINEにします。 alter tablespace undotbs1 offline; 4. init.ora の undo_tablespace = UNDOTBS2 に変更 5. DBの再起動時にエラーが発生します。 SQL> startup ORACLEインスタンスが起動しました。 Total System Global Area 235701612 bytes Fixed Size 279916 bytes Variable Size 167772160 bytes Database Buffers 67108864 bytes Redo Buffers 540672 bytes データベースがマウントされました。 ORA-01092: Oracleインスタンスが終了しました。強制的に切断されます このときのアラート・ファイルの内容は以下のとおりです: Thu May 22 01:30:40 2003 SMON: enabling cache recovery Thu May 22 01:30:41 2003 Errors in file /home/ora9013/app/oracle/udump/ora9013_ora_19814.trc: ORA-00376: ファイル2を読み込むことはできません。 ORA-01110: データ・ファイル2: '/home/ora9013/app/oracle/oradata/undotbs01.dbf' Thu May 22 01:30:41 2003 Error 376 happened during db open, shutting down database USER: terminating instance due to error 376 Instance terminated by USER, pid = 19814 ORA-1092 signalled during: ALTER DATABASE OPEN... [対象リリース] 発生しうるリリース 9.0.1.0 - 9.2.0.1 問題を修正したPSR 9.2.0.2 [対象プラットフォーム] 全てのプラットフォーム [起こりうる条件] 対象リリースにて以前使用していたUNDO表領域をOFFLINEにした後のDB再起動時に 本現象に遭遇する可能性があります。 [原因] DBの再起動時に既にOFFLINEにしたUNDO表領域に作成されていたUNDOセグメントの参照を試みる オペレーションが発生してしまうことによる問題です。 アクセスを試みますがUNDO表領域のデータファイルがOFFLINEのためアクセスに失敗しエラーが 発生します。 [回避策] 本現象の対象リリースにおいてはUNDO表領域を変更した後にも、以前使用していたUNDO表領域は OFFLINEにしないようにしていただくようお願いします。 ※ 初期化パラメータundo_tablespaceに新たなUNDO表領域名を指定してDBを起動することによって そのインスタンスで使用するUNDO表領域が決定しますので古いUNDO表領域を残すことによる 弊害はありません。