難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。
ORACLE MASTER Bronze DBA 26ai (1Z0-185-JPN)のサンプル問題(本番形式・解説付き)
ORACLE MASTER Bronze DBA 26ai (1Z0-185-JPN)(Oracle・Bronze DBA Oracle AI Database 26ai Fundamentals(ORACLE MASTER Bronze DBA))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(70問)の冒頭から抜粋したオリジナル問題です。当サイトは全280問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。
設問1
拠点をまたいでデータを分散して持ち、障害時に自動的にフェイルオーバーする構成を、Oracle AI Database 26ai で実現したい、という要件があります。この要件に合う機能はどれですか。
- Transparent Data Encryption による表領域とバックアップの暗号化
- Oracle SQL Firewall による許可リスト方式の SQL 実行制御
- SQL ドメインによる列の型・制約・既定値の共通化と再利用
- Globally Distributed Database による Raft ベースのレプリケーションと自動フェイルオーバー(正解)
解説
Globally Distributed Database は、データを複数のシャードへ分散し、Raft ベースのレプリケーションで障害時に自動フェイルオーバーできる可用性の機能です。Transparent Data Encryption は暗号化、SQL Firewall は SQL の許可リスト、SQL ドメインは列定義の再利用の機能です。
他の選択肢が誤りである理由
- 「Transparent Data Encryption による表領域とバックアップの暗号化」保存データを暗号化する機能で、可用性の機能ではありません
- 「Oracle SQL Firewall による許可リスト方式の SQL 実行制御」SQL の許可リストを管理する機能で、フェイルオーバーとは関係がありません
- 「SQL ドメインによる列の型・制約・既定値の共通化と再利用」列の型や制約を再利用する機能で、可用性の機能ではありません
設問2
SGA_TARGET=1200M、PGA_AGGREGATE_TARGET=300M、MEMORY_TARGET=0 と設定しました。この関係について正しいものはどれですか。
- SGA_TARGET と PGA_AGGREGATE_TARGET の合計が、自動的に MEMORY_TARGET の値になる
- SGA_TARGET の 1200M に PGA の 300M が含まれるので、SGA が使えるのは 900M になる
- SGA_TARGET は SGA だけの目標で、PGA_AGGREGATE_TARGET は別に管理され、両者は合算されない(正解)
- PGA_AGGREGATE_TARGET の 300M は、SGA の空きがあれば SGA へ自動で貸し出される
解説
SGA_TARGET は SGA の合計、PGA_AGGREGATE_TARGET は全サーバー・プロセスの PGA 合計の目標です。MEMORY_TARGET=0 なら、両者は独立して管理されます。 「SGA_TARGET と PGA_A…」:MEMORY_TARGET は自動では設定されず、0 のままです。 「SGA_TARGET の 1200M…」:SGA_TARGET は SGA だけの大きさで、PGA は含まれません。 「PGA_AGGREGATE_TARG…」:MEMORY_TARGET=0 では SGA と PGA の間でメモリーを融通しません。
他の選択肢が誤りである理由
- 「SGA_TARGET と PGA_AGGREGATE_TARGET の合計が、自動的に MEMORY_TARGET の値になる」MEMORY_TARGET は自動では設定されず、0 のままです。
- 「SGA_TARGET の 1200M に PGA の 300M が含まれるので、SGA が使えるのは 900M になる」SGA_TARGET は SGA だけの大きさで、PGA は含まれません。
- 「PGA_AGGREGATE_TARGET の 300M は、SGA の空きがあれば SGA へ自動で貸し出される」MEMORY_TARGET=0 では SGA と PGA の間でメモリーを融通しません。
設問3
tnsnames.ora に定義したネット・サービス名 MYPDB に対して tnsping を実行すると、OK (0 msec) と表示されました。ところが、sqlplus system@MYPDB は ORA-12514 で失敗します。この説明として正しいものはどれですか。
- tnsping は名前解決とリスナーへの到達だけを調べるため、サービス未登録でも OK になる(正解)
- tnsping が OK になるのは、サービスが開いていて SQL 文を実行できる状態であるとき
- パスワードが誤っているため、リスナーに届いたあとの認証で失敗している
- tnsnames.ora が複数あり、tnsping と sqlplus が別のファイルを参照している
解説
tnsping は、名前を解決してリスナーが応答するかを調べるだけで、サービスの登録は見ません。サービスがリスナーに登録されていなければ、tnsping が OK でも接続は ORA-12514 になります。 「tnsping が OK になるのは…」:tnsping はサービスの状態までは見ない 「パスワードが誤っているため、リスナー…」:認証の失敗は ORA-01017 で、ORA-12514 ではない 「tnsnames.ora が複数あり…」:同じ環境変数を使えば、tnsping と sqlplus は同じファイルを参照する
他の選択肢が誤りである理由
- 「tnsping が OK になるのは、サービスが開いていて SQL 文を実行できる状態であるとき」tnsping はサービスの状態までは見ない
- 「パスワードが誤っているため、リスナーに届いたあとの認証で失敗している」認証の失敗は ORA-01017 で、ORA-12514 ではない
- 「tnsnames.ora が複数あり、tnsping と sqlplus が別のファイルを参照している」同じ環境変数を使えば、tnsping と sqlplus は同じファイルを参照する
設問4
オンラインのデータベースが SHUTDOWN ABORT で停止されました。その後 STARTUP を実行した時の動作として正しいものはどれか。
- MOUNT で停止し、DBA が RECOVER DATABASE を実行するまで OPEN できない状態が続く
- OPEN の過程で、オンライン REDO ログを使ったインスタンス・リカバリが自動で実行される(正解)
- ALTER DATABASE OPEN RESETLOGS を実行しないと OPEN できない状態になる
- アーカイブ REDO ログを使ったメディア・リカバリが、OPEN の過程で自動で実行される
解説
SHUTDOWN ABORT はチェックポイントを取らずに停止するため、次回の起動時に OPEN の過程でインスタンス・リカバリが自動実行されます。DBA の作業は不要です。 「MOUNT で停止し、DBA が R…」:インスタンス・リカバリは自動で実行されるので、DBA の操作は不要である。 「ALTER DATABASE OPE…」:RESETLOGS は不完全リカバリの後に使うオプションで、ABORT の後には不要である。 「アーカイブ REDO ログを使ったメ…」:メディア・リカバリではなく、オンライン REDO ログを使うインスタンス・リカバリが実行される。
他の選択肢が誤りである理由
- 「MOUNT で停止し、DBA が RECOVER DATABASE を実行するまで OPEN できない状態が続く」インスタンス・リカバリは自動で実行されるので、DBA の操作は不要である。
- 「ALTER DATABASE OPEN RESETLOGS を実行しないと OPEN できない状態になる」RESETLOGS は不完全リカバリの後に使うオプションで、ABORT の後には不要である。
- 「アーカイブ REDO ログを使ったメディア・リカバリが、OPEN の過程で自動で実行される」メディア・リカバリではなく、オンライン REDO ログを使うインスタンス・リカバリが実行される。
設問5
ユーザー app1 の定義者権限のプロシージャが、ロール hr_read を通じた権限で hr.employees を参照しているため、コンパイル・エラーになっています。解決する方法として正しいものはどれか。
- app1 に hr.employees の SELECT 権限を直接付与する(正解)
- ロール hr_read を PUBLIC に付与する
- コンパイルの前に、app1 で SET ROLE hr_read; を実行する
- ALTER USER app1 DEFAULT ROLE ALL; を実行する
解説
定義者権限のプログラムが使えるのは、所有者に直接付与された権限だけです。直接付与で解決します。 「ロール hr_read を PUBLIC に付与する」:ロールを PUBLIC に付与しても、定義者権限のプログラムではロール経由の権限は使われない。 「コンパイルの前に、app1 で SE…」:SET ROLE で有効にしたロールの権限は、定義者権限のプロシージャのコンパイルには使われない。 「ALTER USER app1 DE…」:DEFAULT ROLE の設定は、定義者権限のプログラムが使う権限には影響しない。
他の選択肢が誤りである理由
- 「ロール hr_read を PUBLIC に付与する」ロールを PUBLIC に付与しても、定義者権限のプログラムではロール経由の権限は使われない。
- 「コンパイルの前に、app1 で SET ROLE hr_read; を実行する」SET ROLE で有効にしたロールの権限は、定義者権限のプロシージャのコンパイルには使われない。
- 「ALTER USER app1 DEFAULT ROLE ALL; を実行する」DEFAULT ROLE の設定は、定義者権限のプログラムが使う権限には影響しない。
続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。
登録なしで50問解く