Oracle エラー ORA-00376/ORA-01110 の対応方法
oracleのDBが SQLを実行した時にエラーを吐いて動かなくなってしまった時の対応方法のメモです。
SQL例外が発生しました。
理由:ORA-00376:ファイル4を読み込むことはできません。
ORA-01110:データファイル4:'/oracle/ORADATA/‥/DATAFILE/users.DBF
ディスクでもおかしくなったのかと、alert.logを確認。
KCF: write/open error block=0xe375 online=1
file=4 /oracle/ORADATA/‥/DATAFILE/O1_MF_UNDOTBS1_hoge_.DBF
error=27072 txt: 'OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 33) プロセスはファイルにアクセスできません。
別のプロセスがファイルの一部をロックしています。'
Automatic datafile offline due to write error on
file 4: /oracle/ORADATA/・・/DATAFILE/O1_MF_UNDOTBS1_hoge_.DBF
datafile がどうやら悪さをしてくれているらしい・・・
では、確認・復旧をしてみる。
- SQL*Plusでログインする $ sqlplus / as sysdba - 表領域のステータスを確認します。 SQL> select tablespace_name, status from dba_tablespaces; FILE_NAME STATUS ------------ --------- system.DBF ONLINE ・・(省略)・・ users.DBF ONLINE
どうやら正常そうなので、
- データファイルのステータスを確認します。
SQL> select name, status from v$datafile;
NAME STATUS
------------------------------- ---------
/ORACLE/ORADATA/‥/DATAFILE/system.DBF ONLINE
・・(省略)・・
/ORACLE/ORADATA/‥/DATAFILE/users.DBF RECOVERY
なぜに、リカバリになっているんだ。
- データファイルを が RECOVERY になっているのでリカバリをする。 SQL> recover datafile '/ORACLE/ORADATA/・・/DATAFILE/users.DBF'; - データファイルをオンラインに更新する。 SQL> alter database datafile /ORACLE/ORADATA/・・/DATAFILE/users.DBF online;
※復旧後のalertログ
ALTER DATABASE RECOVER datafile '/ORACLE/ORADATA/‥/DATAFILE/users.DBF'
Media Recovery Datafile: '/ORACLE/ORADATA/‥/DATAFILE/users.DBF'
Media Recovery Start
Starting datafile 4 with incarnation depth 0 in thread 1 sequence 1122
Datafile 4: '/ORACLE/ORADATA/‥/DATAFILE/users.DBF'
Media Recovery Log
ORA-279 signalled during: ALTER DATABASE RECOVER datafile '/ORACLE/ORADATA/‥...
ALTER DATABASE RECOVER CONTINUE DEFAULT
Media Recovery Log F:/ARCHIVE/ARC01122_0719227292.001
Completed: ALTER DATABASE RECOVER CONTINUE DEFAULT
alter database datafile '/ORACLE/ORADATA/‥/DATAFILE/users.DBF' online
Completed: alter database datafile '/ORACLE/ORADATA/‥/DATAFILE/users.DBF'
これで復旧終了!
関連記事:



コメントはまだありません。