Email: [email protected] 7 x 24 online support!
RAW デバイス上のデータファイルが破損した表領域の再作成で ORA-27086 が発生
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:[email protected]
[起こりうる現象]
RAW デバイス上のデータファイルが破損した表領域の再作成で
ORA-27086 が発生します。
本現象は、以下の手順で再現可能です。
<再現手順>
1. RAW デバイス上に TEST データファイルを作成
SQL> create tablespace test datafile
'/dev/raw/raw5' SIZE 819200;
2
Tablespace created.
2. TEST データファイルを /dev/zero で埋め、データファイルを破損
$ dd if=/dev/zero of=/dev/raw/raw5 bs=8192 count=100
100+0 records in
100+0 records out
$
3. TEST データファイルを offline化
SQL> alter database datafile '/dev/raw/raw5' offline;
Database altered.
4. TEST データファイルを online化
Oracle が TEST データファイルが破損したことを検知
SQL> alter database datafile '/dev/raw/raw5' online;
alter database datafile '/dev/raw/raw5' online
*
ERROR at line 1:
ORA-01122: database file 6 failed verification check
ORA-01110: data file 6: '/dev/raw/raw5'
ORA-01251: Unknown File Header Version read for file number 6
5. TEST 表領域を drop
SQL> alter tablespace TEST offline immediate;
Tablespace altered.
SQL> drop tablespace TEST including contents;
Tablespace dropped.
6. RAW デバイス上に TEST データファイルを作成すると、ORA-27086 発生
SQL> create tablespace test datafile
'/dev/raw/raw5' SIZE 819200;
2 create tablespace test datafile
*
ERROR at line 1:
ORA-01119: error in creating database file '/dev/raw/raw5'
ORA-27086: unable to lock file - already in use
Linux Error: 11: Resource temporarily unavailable
Additional information: 8
Additional information: 20750
なお、ファイルシステムの場合は、手順6 で ORA-27086 ではなく
ORA-27038が発生します。
[対象リリース]
問題が発生するリリース :Oracle Database 10g Release 2(10.2.0)
問題を修正したリリース :Oracle Database 11g Release 1(11.1.0)
問題を修正予定のリリース:なし
問題を修正したPSR :なし
問題を修正予定のPSR :未定
[対象プラットフォーム]
すべてのプラットフォーム
[起こりうる条件]
破損したデータファイルの online を実施した場合に発生します。
[原因]
製品の不具合です。
データファイルを online にする際には、online にする前に DBW が
該当のデータファイルの確認を行いますが、その際のロックの扱いが正しく
ないために発生します。
[回避策]
以下の方法で回避してください。
・再現手順 4 の破損したデータファイルの online を実施しない
[障害発生時の対処]
ORA-27086 が発生した後は、インスタンスの再起動で対処してください。
