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 :