ORACLE MASTER Gold DBA 2019の試験対策について紹介していきたいと思います。
ORACLE MASTER Gold DBA 2019(以降Gold DBA)はOracle Databaseに関するDBA、つまりデータベース管理者スキルを問うProfessional資格です。
Bronze DBAやSilver DBAの上位資格となり、Gold DBAの認定には事前にSilver DBAを取得する必要があります。
現在はクラウドネイティブな環境や会社も多くあまりオンプレミスデータベースの知見を求められる機会はありませんが、Oracleデータベースの構造を理解するためには有益な資格と言えます。
逆にオンプレミス環境でOracleデータベースを扱う技術者にとっては実務においても有益になるということです。
Oracle DBの試験では、BronzeではFundmentalレベル、SilverはAssociateレベルですがSQLも問われます。
Gold試験ではデータベースのアーキテクチャやバックアップ・リカバリ、アップグレードや複製、新機能といったよりDBAスキルに特化した内容が問われます。
Silverまでは幅広く問われるDBAスキルを、より特定の領域で深堀した内容と言えます。
つまり、用語を理解するのはもちろんベストプラクティスを理解する必要があります。
そのため、Gold DBAはより実務に近いレベルの知見を問われると思っていいでしょう。
そこで今回はGold DBAの試験対策について紹介していきたいと思います。
試験名は1Z0-083-JPN: Oracle Database Administration II
大事なことですが試験名は「1Z0-083-JPN: Oracle Database Administration II」となります。
12cまでアップグレード試験(Upgrade 12c等)もありましたが、Oracle Database 2019に関しては上記の試験に合格するとGold DBAの認定、過去のGold DBAの保有者は更新となります。
また、12cまではGold DBAの認定にOracle指定の研修の履修が必須(1科目)でしたが、2019から免除されているため試験の合格のみで資格が認定されます。
これは良くも悪くも、というところでしょう。
筆者は初認定が11gだったので研修が必須という理由で会社から費用を出してもらって研修を受けさせてもらえましたので、自己負担なしでベンダートレーニングを受けられるのは技術者としては有益です。
逆に研修の履修が必須のため、Gold DBA受験を諦めていた人も多くいると思うので、そういった方たちにとっては研修免除は吉報かもしれません。
Gold DBA 2019は過去試験と比較しても難しい
Gold DBA 2019試験ですが、過去のGold DBA試験と比較すると難しいと感じました。
筆者は11g時代にBronzeからGoldまで取得し、その後、12c(12cR1)時代に更新を行っており、Gold 2019は最後のGold試験から5年ほど経過しております。
ブランクがあるので難しく感じた部分もあるのでしょうが、過去の試験よりもより細かい内容を問われた、また新機能に関する設問が多く、複数回答の問題が非常に多いと感じました。
11g、12cの頃のGold試験はバックアップ・リカバリを中心に覚えてフラッシュバック操作、12cはマルチテナントの基礎を抑えていればそこそこ点数が取れましたが、Gold 2019はそこまで簡単な問題は多くなかったと思います。
実際に合格ライン57%に対して63%と合格ラインぎりぎりでの合格となりました。
元々、Oracle Master試験はあまり合格ラインは高くないのですが過去一番に合格ラインが低いので、難しさの表れかもしれません。
体感的に過去のGold試験で一番難しいと感じたGold 2019ですが試験の対策について、本題に入っていきたいと思います。
ORACLE MASTER Gold DBA 2019の試験対策
守秘義務等々あるので、具体的な試験問題は紹介できませんが、個人的に多く問われたり理解が必要だと感じた分野や機能について書いていきたいと思います。
また、座学だけでも合格は十分可能ですが出来るだけ手を動かして確認してみる方が良いでしょう。
特に初めてGold DBA試験に挑む人は確実に操作はしておいた方がいいと思います。
マルチテナント・アーキテクチャがベースになるので、ここの理解が疎かだと全体的に試験が難しく感じてしまうと思います。
12c以降はマルチテナント環境でのDBAスキルを前提としているので、非CDBのみの知見では合格するのはかなり厳しいと思います。
非CDBというのはOracleもそうですが、PostgresやSQL Serverなど異なるDBスキルがあっても、というところです。
試験対策ですが、基本的には以下の参考書と検証環境でのハンズオンをお勧めします。
参考書は値段がそこそこで、900ページ近く厚みも多いのですが現状は対策本と言える書籍はこちらだけです。
かといって内容が悪いということはなく、この参考書をしっかりと頭に入れることで十分合格することが出来ます。
前段はここまでとして、対策について具体的に紹介していきたいと思います。
重要度(高)アプリケーション・コンテナ
まず重要度が高いと感じたのが12cR2から新機能として登場したアプリケーション・コンテナです。
実際の試験ではアプリケーション・コンテナに関する設問が多く見受けられました。
筆者自身は正直、アプリケーション・コンテナを利用するシーンが全く思い浮かばなかったので理解するのに苦労していました。
Oracle Databaseの試験ではGold DBAでは特に新機能について問われる傾向があります。
2019ではアプリケーション・コンテナが最も問われると思っていいでしょう。
抑えるべきポイントですが、以下は反復的に学習、検証、理解しておくとよいと思います。
- アプリケーション・コンテナとアプリケーション・ルート、アプリケーション・シード、アプリケーションPDBの作成
- 共通オブジェクトの利用方法
- アプリケーション・コンテナ、ルート、PDBに必要な条件(SEEDは必須ではない、アプリケーションのインストール、同期)
- メタデータリンク、データリンクの利用方法
- プロキシPDBの利用
アプリケーション・コンテナはCDB$ROOT上に作成できるアプリケーション用のCDBのような形ですが、SEEDが必須ではなかったり共通オブジェクトが使えるなど固有の機能や制限が多いです。
比較的、細かい仕様や手順について問われる場合もあるのでアプリケーション・コンテナは優先して学習しておいた方がいいと個人的に感じます。
筆者同様にアプリケーション・コンテナの利用イメージがつかない人も多くいると思いますが、試験に合格するには根気が必要です。
重要度(中)インストール・アップグレード
次に重要だと感じたのがデータベース関連ソフトウェアのインストールとアップグレードの問題です。
これはいかにもGold DBAの試験内容といった分野です。
抑えておくべきポイントとしては概ね以下になると思います。
- Linux上でのOracleソフトウェアのインストール(RPMインストール、環境変数の設定)
- DBUAを利用するシーンとDBUAで行えること
- Grid InfrastructureとOracle Databaseのインストール(DB作成前と作成後に出来ること)
- RHP(高速プロビジョニング)で出来ること
- CDB、PDBのアップグレード方法
正直、上記でも足りないくらいかと思いますが個人的に特に抑えるべきは「Grid Infrastructure」についても問われるというところです。
RACを扱った人であればASMであったりsrvctlコマンドやcrsctlコマンドを使った経験があると思いますが、Oracle Databaseを単純にデータベースとしてのみ利用したことがない人にとっては少し理解が難しいと感じます。
Grid Infrastructureにフォーカスして抑える点としては以下でしょう。
- Grid InfrastructureとOracle Databaseのインストールに前後関係はない(がGrid Infrastructureを先に入れたほうが後続の対応は楽になる)
- Oracle Restart構成に必要(シングルでRACの機能を使うようなもの)
- ストレージはASMが必須
- ClusterwareとASMが同梱
- アップグレードにはOracle Databaseの停止が必要
Grid Infrastructureは突き詰めると色々なことが出来、かつ機能(バックグラウンドプロセスやサービスなど)も豊富なので少なくとも上記は知っておかないと試験で解けない問題が出てくるでしょう。
Oracle DatabaseのOUIを使ったインストール、RPMインストール、Grid Infrastructureのインストール、そしてそれぞれのアップグレードについては深堀しておくと試験対策としては尚よいと思います。
重要度(中)バックアップ・リカバリ
冒頭でも記載しましたがGold DBA試験のメインと言っていいのはバックアップ・リカバリです。
従来よりも問題数は減ったと感じておりますが、この分野に関してはやはり確実に問われます。
学習しておくべきポイントを以下にまとめます。
- 非一貫性バック / 一貫性バックアップの取得条件(ARCHIVE LOGモード、NO ARCHIVE LOGモード)
- 不完全リカバリの方法(12cR2からUNTIL REDOが利用可能)
- 完全リカバリが可能、不可能な条件(制御ファイルのバックアップ状態、データファイルの損失状態)
- PDBのデータファイル障害
- PDBのバックアップ
基本的には12c試験と同等レベルですが、12cR2移行から新機能があったりします。
このあたりは紹介した参考書の方でも丁寧に解説があるので、バックアップ・リカバリは参考書ベースでしっかり学習することで十分、試験対策が可能です。
従来のGold DBA試験との差としては、いまま主流だったPITRや増分バックアップを使ったバックアップ計画などの問題がほとんど問われなかったと感じます。
もちろん、出題されないとは限りませんしDBAの業務としては必要な知識なので理解はしておきましょう。
ただ、どこまで綺麗にPITRしたりするよりは、リカバリのプロセスや不完全リカバリでどのようにバックアップから復旧させるのかがメインになっていると思っていただければと思います。
重要度(中)フラッシュバック操作とFRA領域
次に、フラッシュバック操作とFRA領域についてです。
後者ですがOracle Database 2019からの機能更新としてFRAの領域について初期化パラメータで指定した保存ポリシーを超過するとフラッシュバックログは自動で削除される、という仕様になっております。
従来は領域不足が発生した場合に自動で削除されていましたが、最新試験ではポリシーに準拠した期間のログのみ保持されるようになっています。
フラッシュバック操作は11g時代のGold DBA試験でも出題されており、過去の試験の方が比重が高かったですがGold DBA 2019では以下は押さえておきましょう。
- フラッシュバックデータベースを使わないと復旧できないケース(例:DDLによる表定義の変更)
- フラッシュバック表で戻せる・戻せない操作(戻せる:DELETE 戻せない:DROP TABLE)
- フラッシュバック操作で利用するリソース(UNDO、ゴミ箱、フラッシュバックログ)
- フラッシュバック・ログの利用用途(フラッシュバックデータベースとブロック・メディア・リカバリ)
- FRA領域の管理(バックアップファイルの保存先や削除ポリシー)
フラッシュバック関連ですが、12cR2までの仕様を理解していればほとんど差がありません。
差があるのでFRA領域の利用に関する機能面でしょう。
また、RMANから実行するBACKUP RECOVERY FILESコマンドとBACKUP RECOVERY AREAとFORCEオプションの動作の違いは理解しておくとよいと思います。
重要度(小)マルチテナント・アーキテクチャ
マルチテナント・アーキテクチャが重要度(小)としているのは、前述しましたがそもそもGold DBA 2019試験そのものがマルチテナント・アーキテクチャをベースにしているためです。
つまり、マルチテナント・アーキテクチャそのものに関する設問は少なく、応用した設問が問われることが多いということです。
なので、マルチテナント・アーキテクチャの基礎が分かっていれば十分、設問に対しては答えることが出来るということでもあります。
参考までに抑えるべきポイントを列挙します。
- 共通ユーザ・ロールとローカルユーザ・ロール
- SAVE STATE(PDBの状態)
- PDBコンテナの切り替えとトランザクションの実行
先に説明してきたバックアップ・リカバリやフラッシュバック操作も基本的にはPDBもしくはCDBに対する内容が問われます。
その手の設問にも答えられる状態になっていればマルチテナント・アーキテクチャの設問はそこまで苦戦することはないと思います。
重要度(小)データベースの複製(DUPLICATE)
データベースの複製に関しても少数ですが問われます。
PDBを複製する場合に、オープン中の複製(ホット・クローン)やバックアップセットを使った複製方法があります。
12cR2では複製以外に「再配置」、別の言葉だとリロケートの機能も追加されているので軽く頭に入れておいた方がいいでしょう。
- DUPLICATEコマンドを使ったデータベースの複製方法
- 複製方法の違いと必須条件(ターゲットデータベース、補助インスタンスへの接続)
- 複製後のPDBの状態
重要度(小)エクスポート・インポート / トランスポータブル表領域
少数の設問だったと思いますが、エクスポートとインポート、トランスポータブル表領域についても問われました。
データ移行作業におけるDataPumpの利用については、利用したことがない人は押さえておくことをお勧めします。
主に表のデータ挿入などに使われるSQL Loaderについては一切問われないと思った方が良いです。
- フル・エクスポートではCDB$ROOTのみエクスポートされる(全体エクスポートは出来ない)
- PDBから非CDBへのインポートはスキーマ変換が必要(逆はインポートできない)
- トランスポータブル表領域は表領域を最初にREAD ONLYに変更する必要がある
- エンディアン形式が異なる場合は変換する必要がある
数問問われた機能 オプティマイザ、アドバイザ、チューニング、メモリ管理
重要度は小かそれ以下ですが問われた分野としてはオプティマイザ、アドバイザ、チューニング、メモリ管理があります。
どれも12c以前からの機能と差はなく、Gold DBAに初めて挑む人はしっかり覚えるべき内容で更新の人はある程度覚えていれば苦にならない問題と思います。
オプティマイザに関しては昔からの仕様であるデフォルトはメンテナンスウィンドウで自動実行される、初期化パラメータでSTATISTICS_LEVELをBASIC以外にする等基礎的な知識で問題ないと思います。
アドバイザに関しては全アドバイザの仕様を暗記すれば正直100%答えられると思います。
しいてフォーカスするとしたらSQLアクセスアドバイザとSQLチューニングアドバイザをお勧めします。
チューニングに関しては動的パフォーマンスビュー(v$session、v$session_waitなど)の情報を使ったパフォーマンス測定と、バックアップ動作の最適化などが出題されました。
参考書の方に記載のあるパフォーマンスチューニングの内容で十分対策出来ていると感じます。
AWRを使った方法も覚えておくとよりよいかと思います。
メモリ管理については過去のGold DBAでは多く問われた自動メモリー管理の設定方法と動作、自動共有メモリー管理の設定方法と動作が理解できていれば問題ないでしょう。
PGAに関しては2019では専用サーバ接続や共有サーバ接続などについては問われず、PGAに関する問題自体があまり記憶にありません。
ほぼ問われなかったもの コンテナー・マップ、統合監査、暗号化
出題されないとは限らないので気になる機能は下調べしておくことも必要かとは思います。
コンテナー・マップは出題されることを想定しておりましたが、杞憂に終わった気がします。
また、統合監査についても出題された記憶があまりありません。
Oracle Databaseで監査機能はコアな機能なので知っておいた方がいいとは思います。
(重要機関のデータベースでは今でもFGAなど動いていると思います)
暗号化については仕組み自体は昔と変わっていませんが、ウォレットがキーストアという呼び方に変わっています。
このあたり、出題されるかは不透明ですが出るとしても参考書レベル十分知識が身につくと思います。
最後に
長々と書いていきましたが、Gold DBA 2019ですが少なくとも重要度を記載している分野と機能については深堀しておくことを強くお勧めします。
そのうえで、ケーススタディとしてどういったシーンでは何が適切か、正しいのか考える力が必要になります。
筆者と同様に、例えばアプリケーション・コンテナの利用シーンや用途が上手く掴めない人は苦戦する問題もあるでしょう。
ただし、苦手な分野が多少あっても他の分野でカバーできれば問題がないと言えます。
2019試験は過去の試験と比較しても新機能については問われる内容が多い気がします。
マルチテナント・アーキテクチャをベースとして仕組みを理解することが大前提となるので、座学だけではなかなか難しい試験と思うので可能であれば自分の手で動かしてみることもお勧めいたします。