ORACLE MASTER Silver SQL 26ai付与済み権限とセッションの有効状態オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiで所有者APPがREADERにGRANT READ ON app.orders TO readerを実行した。READERにこの表の別の権限やANY・スキーマ権限はなく、ロールやPUBLIC経由の代替権限もない。READERが通常SQLでSELECT * FROM app.ordersとSELECT * FROM app.orders FOR UPDATEを別々に実行する結果はどれか。
A
両方ともREADだけで許可される
READは参照に限定され、SELECT FOR UPDATEは許可しない。
B
通常SELECTもFOR UPDATEも許可されない
READは通常のSELECTによる問合せを許可する。
C
通常SELECTは許可され、FOR UPDATEは権限不足で失敗する★ 正解
参照と、行ロックを取得するSELECT FOR UPDATEの権限上の違いである。
D
通常SELECTだけ失敗し、FOR UPDATEは許可される
READの許す操作と許さない操作が逆になっている。
解説
READ権限は通常のSELECTを許可するが、SELECT FOR UPDATEによる行ロック取得は許可しない。SELECTオブジェクト権限とREADオブジェクト権限を同一視しない。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-10-30
同じレッスンの問題
問題 2
Oracle AI Database 26aiで、READERは通常の対話SQLセッションで、付与済み・パスワードなしのapp_readロールを有効にしてapp.ordersをSELECTできる。このロール以外からの表参照権限はない。SET ROLE NONEの後に新たにSELECTし、その後SET ROLE app_readで再び有効にする説明として正しいのはどれか。
問題 3
Oracle AI Database 26aiで、APPは自分の表tのSELECTをREADERへ直接付与した唯一の付与者である。READERにREAD・ANY・スキーマ権限、ロール・PUBLIC等の代替権限はない。APPがREVOKE SELECT ON app.t FROM readerを成功させた後、READERが新たにSELECT * FROM app.tを実行する。結果はどれか。既に開いているカーソルは考えない。