助け合いフォーラム
この問題はプレミアムコンテンツです。
新たにファイルを加える場合正解手順は一体どちです
ping-tでこの問題の答えは
- ALTER SYSTEM文で、初期化パラメータ「CONTROL_FILES」にcontrol03.ctlのフルパスを加えます。
- 正常にインスタンスを停止します(SHUTDOWN ABORT以外のコマンド)。
- 既存の制御ファイルをcontrol03.ctlとして、OSコマンドでコピーします。
4.インスタンスを起動します。
でもoracle Database管理者ガイド(https://docs.oracle.com/cd/E16338_01/server.112/b56301/control.htm)は
1、データベースを停止します。
2、オペレーティング・システムのコマンドを使用して、既存の制御ファイルを新しい位置にコピーします。
3、データベース初期化パラメータ・ファイルのCONTROL_FILESパラメータを編集して、新しい制御ファイル名を追加するか、または既存の制御ファイル名を変更します。
4、データベースを再起動します。
黒本p159は
既存の制御ファイルをコピーして、
コピーにより新たに作成された制御ファイル名をCONTROL_FILESに追加する
ちょっとわからない、、、
どちらの手順も、結果としてやっていることは同じだと思います。
Ping-tの説明では、最初に ALTER SYSTEM 文で初期化パラメータ「CONTROL_FILE」を編集していますが、解説にも記載のとおり「CONTROL_FILE」は静的パラメータなので、SCOPE=SPFILEを指定して、spfileだけを変更しています。
つまり、この時点で稼働中のインスタンスには何の影響もありません。変更内容が反映されるのは、次回の起動時です。
重要なのは、制御ファイルをコピーするタイミングで、これについてはping-tの手順でも公式ドキュメントの手順でも、インスタンスが停止した状態で、OSコマンドで制御ファイルのコピーを行っています。あとは、起動すれば初期化パラメータ「CONTROL_FILE」の変更内容も反映されます。
コメント
この投稿に対して返信しませんか?
s shrimpmint
2023/12/21 17:37
ありがとうございます!