【投稿者】通りすがりの市民B
八戸本社のソフトウェア開発に従事している
通りすがりの市民Bです。
Oracle Silver DBA/SQLを受験したので、そのレポートを記載します。
これから受験を考えている方の参考になれば幸いです。
試験概要
受験金額
DBA試験 / SQL試験 でそれぞれ受験料: 37,730円(税込)。
そのため、2科目とも受験で75,460円(税込)。なかなか強気の値段設定。
※ 毎年3月から5月にかけてOracle試験のキャンペーンがあり、再受験が1回無料となるため、これを活用して経済的にも精神的にも助かった。
試験形式と内容
DBA試験
- 出題数: 72問
- 合格ライン: 60%
- 試験内容(ざっくり):
- 主にデータベース管理者向けの試験で、DBサーバの管理方法やコマンドについての問題が中心。
- 半分はDBA、半分はSQLの問題が出題される印象。
そのため、SQL試験側と出題範囲が一部かぶっている。
※ 管理者ならSQLのことも十分知ってるよね?という意図と思われる。
SQL試験
- 出題数: 78問
- 合格ライン: 63%
- 試験内容(ざっくり):
- DBA試験のSQL分野の知識に加えて、実践的なシチュエーションの問題が多く出題。
- SQLだけの問題でしたが、実行結果や構文の話だけでなく、制御面についても聞かれた印象。
試験内容の詳細
DBA分野(DBA試験側のみ出題)
- Oracleの仕組み
- バックグラウンドプロセスの役割
- ツールの種類と使用方法
- 表領域の作成と管理
- UNDO/REDO管理
- リスナーの起動と停止
- インスタンスの起動と停止
- 権限とロールの管理
- SQL*Loader, Datapumpの使用方法
- データディクショナリ
- 動的パフォーマンスビュー
SQL分野(DBA試験/SQL試験 共通)
- 基本構文 (SELECT/UPDATE/INSERT/DELETE)
- JOIN (OUTER, INNER, CROSS, NATURAL)
- オラクル特有構文 (+)
- 集合演算子 (UNION, UNION ALL, INTERSECT, MINUSなど)
- ファンクション (SUM, AVG, NVL, NVL2など)
- 置換変数、VERIFYコマンド
- サブクエリ
- 表の作成、制約
- 列無効化、制約無効化
- ビュー/シノニム/索引
- 一時表
- シーケンス
- 日付型とタイムゾーン
- 権限付与/はく奪
- トランザクション (暗黙的Commitなど)
SQL分野 (SQL試験側のみに出題)
- ER設計 (多対多の構成を交差表で回避など)
- INSERT ALL (マルチテーブルインサート)
- MERGE文
- 外部表の作成構文
- 相関副問い合わせ
自分の受験経験
受験のきっかけ
- Oracleデータベースを業務で使用しており、スキル向上と業務に役立てるため
- 自分のキャリアアップのため
受験場所
- 自宅でのオンライン受験。
- PC、カメラ、マイク、インターネット接続が必要だった。(カメラ、マイクを購入。。)
試験中はカメラとマイクをオンにする必要あり。
※ 不審な動きや問題を口に出していないかの監視があると思われます。
勉強期間と時間
- DBA試験: 3~4か月、1日1時間ずつ、合計80~100時間程度
- SQL試験: 2週間、1日1時間ずつ、合計15時間程度
※ 実務で結合多めの長いSQLを扱っていたため、DBAの勉強にかなり比重を置きました。
勉強方法
- 黒本を3周
- 1周目は各章の説明と問題、2・3周目は問題のみ。
Oracleの実行環境を用意しなかった代わりに黒本のコマンド実行イメージが非常に役ちました。
- 1周目は各章の説明と問題、2・3周目は問題のみ。
- Oracle Silver試験対策DBA/SQLセミナーを視聴
- Oracle公式の動画講座で、キャンペーン期間中に無料公開されていたため、これを利用。
本番試験に出る問題も解説されており、これも非常に役立ちました。
- Oracle公式の動画講座で、キャンペーン期間中に無料公開されていたため、これを利用。
試験結果
- DBA試験: 83% (合格)
- SQL試験: 87% (合格)
所感
- DBA試験:
Bronze DBAを受けずにSilver DBAの受験をすることが制度上できますが、Bronzeの知識が前提と感じたので、極力Bronze DBAから受験したほうがいいと思われます。記憶力とモチベーション維持のため、(余裕があればですが、)Bronze DBA受験後すぐにSilver DBAを受験するのが良いかもしれません。
- SQL試験:
実務経験があると、DMLやDCLに関してはあまり勉強せずに対応できる可能性が高いですが、DDLは、普段データベース定義に触っていない人にとっては要勉強事項になるかもしれません。
- DBA試験/SQL試験ともに:
試験は知識問題が中心ですが、実行イメージを持つことが重要です。実行環境があるとさらに良いと思います。
問題例(こういう感じの問題が出る、という参考に)
- まだコミットされていないトランザクションがある場合に、トランザクションがコミットされるのはどの場面か
A. 同じユーザの別セッションでCOMMITを発行したとき
B. DB管理者がSHUTDOWN IMMEDIATEを発行したとき
C. セッションを正常終了したとき
D. セッションが異常終了したとき
E. 同セッション内でトランザクションに関係ない表をTRUNCATEしたとき
正解 : C、E
A.は別セッションのコミットなので関係ない。
B.、D.のように(Oracleのシャットダウン含め)異常終了するような場合はROLLBACKされる
C.のように正常終了する場合は暗黙的にコミットされる。
E.のTRUNCATEに限らず、DDL(オブジェクト定義SQL)を発行した場合はたとえ関係ない表であっても暗黙的にコミットとなる。 - バッググラウンドプロセスのPMON(プロセスモニター)の役割はどれか
A. データベースサービスの状態をリスナーに動的サービス登録
B. アイドル時間を変えたセッションを検知
C. 未使用の一時セグメントを開放
D. AWRスナップショットの収集
正解:B
A.はLREG(リスナー登録プロセス)
C.はSMON(システムモニター)
D.はMMON(管理モニター)
の役割。D.のAWRスナップショットは性能分析で使用する統計情報を定期的に収集するもの。
(参考: オラクルマスター教科書 Silver DBA Oracle Database Administration I )