7 x 24 在线支持!
Oracle DBの移行(コピー)により作成したDBのオープン時にORA-1194が発生
[質問]
データベースの移行(コピー)を行うため、既存のデータベースのデータファイルをコピー
し、制御ファイルを再作成するスクリプトを実行したところ、データベースのオープン
時に以下のようなエラーが発生しました。
ALTER DATABASE OPEN RESETLOGS
*
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oracle/clonedata/system01.dbf'
ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/clonedata/temp01.dbf'
REUSE
*
ORA-01109: database not open
[回答]
コピー元のデータファイルが、以前オープンされてから正しくクローズされていないも
のであるために、エラーが発生しています。
データファイルのコピーを行う前に、コピー元のデータベースはshutdown normalで終了
してください。
コピー元のデータファイルが、正しくクローズされたものであったかを確認するには、
コピーにより作成されたデータベースをmount状態まで起動し、以下のSQL文を実行して
ください。
select file#,status,format,recover,fuzzy,checkpoint_change#
from v$datafile_header;
データベースは、V$DATAFILE_HEADERのFUZZY列がすべてNOとなり、かつCHECKPOINT_CHANGE#
列の値が全て一致している場合にオープンが可能となります。
以下のような場合、データベースはオープンできません。
SQL> select file#,status,format,recover,fuzzy,checkpoint_change#
from v$datafile_header;
FILE# STATUS FORMAT REC FUZ CHECKPOINT
---------- ------- ---------- --- --- ----------
1 ONLINE 8 122422786
2 ONLINE 8 122422786
3 ONLINE 8 122422786
4 ONLINE 8 122422786
5 ONLINE 8 122422786
6 ONLINE 8 122422786
7 ONLINE 8 122422786
8 ONLINE 8 122422786
9 ONLINE 8 122422786
:
以下のような場合はオープンが可能です。
SQL> select file#,status,format,recover,fuzzy,checkpoint_change#
from v$datafile_header;
FILE# STATUS FORMAT REC FUZ CHECKPOINT_CHANGE#
---------- ------- ---------- --- --- ------------------
1 ONLINE 8 NO NO 6.4446E+12
2 ONLINE 8 NO NO 6.4446E+12
3 ONLINE 8 NO NO 6.4446E+12
4 ONLINE 8 NO NO 6.4446E+12
5 ONLINE 8 NO NO 6.4446E+12
6 ONLINE 8 NO NO 6.4446E+12
7 ONLINE 8 NO NO 6.4446E+12
:

沪公网安备 31010802001377号