CREATE SPFILE FROM PFILE難易度 標準無料
次のコマンドの目的として正しいものを選べ。
1 CREATE SPFILE FROM PFILE='/u01/app/oracle/product/19/dbs/initorcl.ora';
- A指定したPFILEの内容から、バイナリ形式のSPFILEを新規に生成する
- B新しいデータベース(新しいデータファイル・制御ファイル一式)を作成する
- C稼働中のインスタンスの初期化パラメータをメモリ上で即座に書き換える
- D既存のSPFILEを削除し、PFILE運用へ切り替える
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
CREATE SPFILE FROM PFILE は、指定したテキスト形式の PFILEの内容を読み取り、それに基づいてバイナリ形式のSPFILEを新規作成するコマンドである。
逆方向(SPFILEからPFILEを生成)も CREATE PFILE FROM SPFILE で行える。
典型的な利用場面は、①これまでPFILEのみで運用していたインスタンスをSPFILE運用へ移行したい時、 ②SPFILEが破損・誤設定されて起動できなくなった際に、事前にバックアップしておいたPFILE(テキストなので直接編集・復旧しやすい)から 正常なSPFILEを作り直す時、の2つ。
このコマンド自体は現在稼働中のインスタンスのパラメータをその場で変更するものではない。あくまでファイルを生成するだけであり、 次回のSTARTUPからそのSPFILEが使われる。
- B本コマンドは初期化パラメータファイルの生成のみを行い、データファイルや制御ファイルなどデータベース本体には一切関与しない。データベース作成はCREATE DATABASE文の役割。
- C稼働中インスタンスのメモリ上パラメータを即時変更するのはALTER SYSTEM SET ... SCOPE=MEMORY(またはBOTH)の役割。本コマンドはファイル生成のみでインスタンスの現在の挙動には影響しない。
- D本コマンドは新しいSPFILEを作る操作であり、逆にPFILE運用へ切り替えたい場合はSPFILEを使わずSTARTUP PFILE=...で明示起動する運用に変える必要がある(本コマンドの目的とは逆)。
ひっかけ: コマンド名に「CREATE」と付くため「新しいデータベースを作成する」ものと誤解しやすいが、これは初期化パラメータファイルの形式変換(PFILE→SPFILE)であり、データベース自体には一切影響しない。
コマンド例と想定される挙動(未実行)
SQL>CREATE SPFILE FROM PFILE='/u01/app/oracle/product/19/dbs/initorcl.ora'; File created. ($ORACLE_HOME/dbs/spfileorcl.ora が新規作成される。稼働中インスタンスのパラメータ値はこの時点では変化しない)
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)