Oracle試験道場

1Z0-071 · Silver SQL

DDLによる表とその関係の管理

★★★☆☆複数選択
Q19of 20

読み取り専用モードの表に対して、許可されている操作はどれですか。(複数選択)Silver SQL19

読み取り専用モードの表に対して、許可されている操作はどれですか。(複数選択)

ALTER TABLE <表名> READ ONLY

Choices選択肢

  • ASELECT正解
  • BSELECT FOR UPDATE
  • CTRUNCATE TABLE
  • DALTER TABLE ADD正解
Answer

正解は、A,Dです

Explanation解説

ALTER TABLE <表名> READ ONLY で表を 読み取り専用モード に変更すると、表データの変更操作は実行できなくなりますが、TRUNCATEを除く一部のDDL と SELECT は引き続き実行できます。

各選択肢の検討:

  • A(正解)SELECT は読み取り操作なので許可される。
  • B(誤)SELECT FOR UPDATE行ロックを取得して更新する前提の SELECT なので、データ変更操作と同じ扱いになり許可されない。
  • C(誤)TRUNCATE TABLE は DDL だが、データを削除する操作なので 読み取り専用モードでは禁止される
  • D(正解)ALTER TABLE ADD(列の追加など、表構造の変更)は許可される。データ自体は変更しないため。

読み取り専用モードでの操作可否まとめ:

操作可否
SELECT
SELECT FOR UPDATE×
INSERT / UPDATE / DELETE×
TRUNCATE TABLE×
ALTER TABLE ADD(列追加)
ALTER TABLE DROP COLUMN
DROP TABLE

読み書きモードに戻す:

ALTER TABLE <表名> READ WRITE;

メンテナンス時や移行時に、誤った更新を防ぐ目的で使われる機能です。