rink_rewさんの投稿一覧
同じ構成とは「ディレクトリコピーで取得したバックアップがそのまま動く環境」だと思います。
具体的にはPostgreSQLのバージョンやOS、アーキテクチャ、ディレクトリ構成、等でしょうか。
IPが異なるマシンに移動させる場合、IP直書きしている設定は変更しなければ動作しないでしょうけれど、それはそもそも同じ構成ではないかなと。
仰られているとおり、他の選択肢が誤答であることは明確なので、それが判断できる知識を持っているか否かを問うという観点から、模擬問題としては良いのではないかなと思います。
実務として考えると、一部、他の状態でもできることがあるかもしれませんが、「必要な情報が得られている状態でなければその操作ができない」、「修正、再作成などの操作は対象のファイルが使用中でない状態である必要がある」が基本的な考え方になるのかなと思います。
例えば、一般ユーザがデータベースにアクセスしてselectなどの操作を行うためには、データファイルが読み込まれてデータベースがOPENの状態でなければならないですし、データファイルやREDOログファイルの名前を変更したければ、これらのファイルの場所が格納されている制御ファイルが読み込まれていなければならない(mount状態まで到達していなければならない)ですし、制御ファイルを再作成したければ制御ファイルが読み込まれていない状態でなければならない(再作成したいシチュエーションは、おそらく制御ファイルが破損してしまっていてmountまで進めない、などでしょうけど)といったことが言えるかと思います。
Bronze DBA試験の対策としては、この問題で解説されている通りの理解で問題無いように思います。
問題や解説の内容はとても基本的なことだとは思うので、覚えて損は全くないと思いますが、ピンポイントに1Z0-085の内容だけにしぼられているのか?というとそうでもないような感はありますね。
「大は小を兼ねる」じゃないですが、少なくともBronze DBA 2019の水準はカバーされているようには見えますが。
実際に試してみるとわかりますが、エラーにならずに削除できます。
SQL> CREATE TABLE parent
2 (
3 id NUMBER(2) CONSTRAINT pid_pk PRIMARY KEY,
4 dept_name VARCHAR2(10)
5 );
表が作成されました。
SQL> CREATE TABLE child
2 (
3 id NUMBER(2) CONSTRAINT cid_pk PRIMARY KEY,
4 name VARCHAR2(10) CONSTRAINT cname_uq UNIQUE,
5 deptid NUMBER(2) CONSTRAINT dept_fk REFERENCES parent (id) ON DELETE CASCADE
6 );
表が作成されました。
SQL> INSERT INTO parent VALUES (1, 'parent');
1行が作成されました。
SQL> INSERT INTO child VALUES (10, 'child', 1);
1行が作成されました。
SQL> ALTER TABLE child DROP (id);
表が変更されました。
SQL> desc child
名前 NULL? 型
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(10)
DEPTID NUMBER(2)
SQL>
たとえば、列pkを他の表から参照する参照制約が他に存在しない場合は、次の文を指定するときにCASCADE CONSTRAINTS句がなくてもエラーにはなりません。