Email: [email protected] 7 x 24 online support!
Oracle UNDO表領域のoffline後にDB再起動でORA-1092が発生し、alert.log にORA-376 が出力される
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:[email protected]
[起こりうる現象]
再現手順は以下のとおりです:
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表領域を残すことによる
弊害はありません。
