[ホーム] -
[Oracle FAQ 一覧] - [コントロールファイルを再作成する方法]
OS:Redhat Enterprise Linux 5
バージョン:Oracle 11g R2
コントロールファイルが破損してしまいバックアップファイルも存在しない場合など、最終手段としてコントロールファイルを再作成する方法を紹介します。
(原則はコントロールファイルが破損した場合、冗長化されたコントロールファイルからの復元、あるいはバックアップからの復元を実行してください)
(1)
以下のコマンドを実行します。。
alter database backup controlfile to trace;
user_dump_dest 以下に コントロールファイル再作成のSQLが作成されます。
参考:user_dump_dest の確認方法
http://tooljp.com/database/Oracle/faq/371A7D5F90E2101D49257C4E006A0DAB.html
(2)
以下のようなファイルが作成されます。
<SID>_ora_xxxx.trc
(3)
以下の記述があり、それより下にコントロールファイル再作成のcreate文があります。
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
例:
STARTUP NOMOUNT
CREATE CONTROLFILE
〜〜〜中略〜〜〜
CHARACTER SET AL32UTF8
;
(4)上記の例では
STARTUP NOMOUNT
でデータベースを起動後、
CREATE CONTROLFILE
〜〜〜中略〜〜〜
CHARACTER SET AL32UTF8
を一つのコマンドで実行します。
[ホーム] -
[Oracle FAQ 一覧]