連載
» 2018年11月20日 05時00分 公開

ORACLE MASTER Silver Oracle Database 12cの攻め方(終):12c Silver試験の「データの移行」「スケジューラ」に関するポイント

「ORACLE MASTER Silver Oracle Database 12c」資格を取得するための傾向と対策を紹介する連載。最終回のテーマは、「データの移行」「スケジューラ」です。

[河邊ふくゑ,日本オラクル オラクルユニバーシティ]
「ORACLE MASTER Silver Oracle Database 12cの攻め方」のインデックス

ORACLE MASTER Silver Oracle Database 12cの攻め方

 本連載では、「ORACLE MASTER Silver Oracle Database 12c」(以下、12c Silver)資格を取得するための「1Z0-062-JPN Oracle Database 12c Administration試験」(以下、12c Silver試験)の傾向と対策を紹介します。

 初回は、ORACLE MASTERの資格制度や2017年8月に行われた12c Silver試験改訂のポイントを紹介しました。連載第2回から例題を使って、主要出題分野のポイントを押さえています。

 最終回となる第6回では、データの移行、スケジューラについて見ていきましょう。

 まずは、データの移行についてです。Oracle Databaseでもマルチテナントアーキテクチャやクラウドの技術が使われるようになったことで、従来に比べて、移行に関するスキルが必要とされる場面が増えてきました。

データの移行――SQL*Loader

 「SQL*Loader」についても、Oracle Database 12cからの新機能があるので、押さえておきましょう。

例題1

カレントディレクトリにある「employees.dat」というファイル名のCSV形式のデータをemployees表にロードしようと思います。次のコマンドを発行しました。

sqlldr  userid=hr  table=employees 

正しい説明はどれでしょうか。

  • A. カレントディレクトリに、「employees.ctl」という名前で制御ファイルを用意しておく必要がある
  • B. データファイル名を指定していないので、このコマンドはエラーとなる
  • C. このコマンドでは、従来型パスロードでロードを行う
  • D. このコマンドでは、パラレルでロードを行う

 この例では、Oracle Database 12cからの拡張機能である、SQL*Loaderの「Express Mode」を使用しています。SQL*Loaderでは、さまざまな形式のデータファイルから柔軟にデータをロードできるため、ともすると、その制御ファイルの作成が難しく感じる場合もありました。Express Modeを使用するとSQL*Loaderの制御ファイルを用意することなくロードできます。必要に応じてコマンドラインでパラメーターを指定することもできます。

 またExpress Modeでは、データファイルをデータソースとした外部表を使用し、APPENDヒントを含むパラレル挿入でロードを行うので、高速です。

A. Express Modeなので、制御ファイルは不要です。

B. この例ではデータファイル名を指定していませんが、その場合、カレントディレクトリの「表名.dat」がデータファイルとして使用されます。データファイル名が「表名.dat」と異なる場合は、dataパラメーターでファイル名を指定します。dataパラメーターではワイルドカードもサポートしているので、便利です。

C. Express Modeでは、外部表が使用できなかった場合、自動的にダイレクトパスロードに切り替えてロードを行います。従来型パスロードは行いません。

D. 正解です。Express Modeでは、パラレルでロードを行います。並列度は自動で調整されます。そのため、不良ファイルなども、最大で並列度の数だけ生成されます。


 新機能、拡張機能はよく出題されますし、覚えておくと実務でも役立つので、この機会に押さえておきましょう。また、解説の中で出てきた外部表もなじみが薄いと思うので、確認しておくといいでしょう。

データの移行――Oracle Data Pump

 続いて、「Oracle Data Pump」について見ていきましょう。

 Oracle Data Pumpはデータをデータベース間で非常に高速に移動するためのツールです。Oracle Data Pumpによるデータ移動には、下記のようにいろいろな方法があるので、それぞれの特徴を整理して理解しておくといいでしょう。

  • データファイルコピーを使用したトランスポータブルモードでのデータ移動
  • ダイレクトパスを使用したデータ移動
  • ネットワークリンクインポートを使用したデータ移動
  • 外部表を使用したデータ移動
  • 従来型パスを使用したデータ移動

 では、Oracle Data Pumpの基本的なところから、例題です。

例題2

Oracle Data Pumpについて正しい説明はどれですか。

  • A. 「データ・ポンプ・ジョブ」について監査することはできない
  • B. 「データ・ポンプ・エクスポート」「データ・ポンプ・インポート」では、「マルチテナント・コンテナ・データベース」「プラガブル・データベース」はサポートされない
  • C. 「データ・ポンプ」を使用して、異なるリリースのデータベース/ソフトウェア間で全データベースまたは一部を移行できる
  • D. ソースプラットフォームとターゲットプラットフォームのエンディアンが異なる場合、データ・ポンプにより自動的にデータの変換が行われる

 Oracle Data Pumpに関する基本的な問題です。

A. Oracle 12cの「統合監査」を使用すると、データ・ポンプ・ジョブについても監査することができます。

B. データ・ポンプ・エクスポートおよびインポートでは、マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)がサポートされます。データ・ポンプを使用すると、非CDBからPDBへの移行、同じかまたは異なるCDB内のPDB間での移行、PDBから非CDBへの移行が可能です。Silverの試験ではマルチテナントアーキテクチャに関する直接の出題はありませんが、せっかくですので、余力があれば言葉だけでも押さえておくとよいでしょう。

C. 正解です。データ・ポンプを用いて、アップグレードを行えます。

D. ソースプラットフォームとターゲットプラットフォームのエンディアンが異なる場合、転送するデータを変換してターゲットプラットフォームの形式にする必要があります。データの変換には、RMAN の「CONVERT」コマンドまたは「DBMS_FILE_TRANSFER」のPL/SQLパッケージを使用します。


データの移行――フル・トランスポータブル

 もう1問、見ておきましょう。

例題3

「フル・トランスポータブル」を使用して、Oracle Solaris x86サーバ上で稼働するOracle Database 11g Release 2(11.2.0.3)データベースを、Oracle Linux上で稼働するCDB内のOracle Database 12cのPDBに移行したいと考えています。

$ expdp  system/password  full=y  
transportable=always  version=12 
directory=dp_dir  dumpfile=full_tts.dmp 
 metrics=y  exclude=statistics 
 logfile=full_tts_export.log

このコマンドについて正しい説明はどれですか。2つ選択してください。

  • A. エクスポートの期間中は、SYSTEM表領域と全ての転送する表領域を読み取り専用モードに設定する必要がある
  • B. DATAPUMP_EXP_FULL_DATABASEロールを持つユーザーで行う必要がある
  • C. 「フル・トランスポータブル・エクスポート」が実行される
  • D. 「dp_dir」という名前のディレクトリオブジェクトが自動的に作成される

 この設問は、フル・トランスポータブル・エクスポートを行っている例です。

 フル・トランスポータブル・エクスポート/インポートは、データベースの移行プロセスを大幅に簡素化するOracle Database 12cの新機能です。フル・トランスポータブル・エクスポート/インポートにより、Oracle Data Pumpの使いやすさとトランスポータブル表領域のパフォーマンスが統合されます。

 フル・トランスポータブル・エクスポートは次の手順で行います。

  1. ソースおよびターゲットのエンディアンを確認
  2. 転送するユーザー表領域が自己完結型であることの確認
  3. ソースデータベースにディレクトリオブジェクトを作成
  4. 転送するユーザー表領域を読み取り専用モードに変更
  5. 「DATAPUMP_EXP_FULL_DATABASE」ロールを持つユーザーで「expdp」コマンドを実行する
  6. ユーザー表領域とエクスポートダンプファイルをソースからターゲットに転送
  7. ターゲットデータベース上にディレクトリオブジェクトを作成
  8. DATAPUMP_IMP_FULL_DATABASEロールを持つユーザーとして、「impdp」コマンドを実行
  9. ソースデータベースのユーザー表領域を読み取り/書き込みモードへ戻す

A. SYSTEM表領域を読み取り専用モードに設定することはできません。転送するユーザー表領域を読み取り専用モードに設定します。

B. 正解です。

C. 正解です。

D. ディレクトリオブジェクトはあらかじめ作成しておく必要があります。


 impdpのコマンドも確認しておくといいでしょう。移行関連は頻出ポイントなので、きちんと整理しておきましょう。

スケジューラ

 続いて、頻出トピックであるスケジューラについて見ていきましょう。

 なお、改訂後の12c Silverの試験では、「リソース・マネージャ」は出題されなくなりました。ただ、スケジューラに関連した部分については、出題される可能性があります。

例題4

次のようなジョブを実装しようとしています。

1時間に1回、表のデータをチェックし、その値に応じて対応するジョブを実行する。また、そのジョブが失敗した場合は、管理者に連絡するためのジョブを実行する。

次のどの機能を使って実装するといいでしょうか。

  • A. プログラム
  • B. 軽量ジョブ
  • C. ジョブ・チェーン
  • D. リモート・データベース・ジョブ

 それぞれの意味、用途を押さえておくといいでしょう。

A. 「プログラム」は、スケジューラによって実行される内容を記述したものです。実体はストアドプロシージャや実行可能ファイル、PL/SQL無名ブロックです。

B. 「軽量ジョブ」は標準ジョブに比べて柔軟性はありませんが、作成および削除に必要な時間を大幅に短縮できます。頻繁に実行する短時間のジョブが多数あるようなケースで使用するとパフォーマンスが向上します。

C. 正解です。「ジョブ・チェーン」は、結合した1つの目的のために互いにリンクされた一連の名前付きタスクです。ジョブ・チェーンを使用して、前にある1つ以上のジョブの結果に応じて異なるジョブが開始されるような依存性ベースのスケジューリングを実装できます。

D. 「リモート・データベース・ジョブ」はジョブが作成されたデータベースとは別のデータベース上で実行されるデータベースジョブのことです。


 スケジューラについて、もう1問、見ておきましょう。

例題5

スケジューラとリソース・マネージャについて、正しい記述はどれですか。2つ選択してください。

  • A. 「スケジューラ・ウィンドウ」はジョブクラスと連携して、ジョブクラスが定義されているジョブのリソース割り当てを制御する
  • B. 「リソース・プラン」がアクティブになったときに自動的にオープンするウィンドウを指定できる
  • C. ウィンドウの期間が重複している場合、複数のウィンドウが同時にアクティブとなる
  • D. ジョブの「schedule_name」属性でウィンドウを指定すると、ウィンドウがオープンしたときにジョブが開始される

 ジョブを自動的に開始したり、複数のジョブの間でリソース割り当てを制御したりするには、ウィンドウを使用します。ウィンドウは、「平日の午後10時から午前6時まで」といった明確な期間で定義します。

A. 正解です。ウィンドウがオープンしたときにアクティブにするリソース・プランを指定できます。また、ジョブクラスは、「リソース・コンシューマー・グループ」を指定できます。結果として、ジョブには、そのジョブがひも付くジョブクラスのリソース・コンシューマー・グループとして、リソースを割り当てます。

B. ウィンドウがオープンしたときにアクティブにするリソース・プランを指定できます。

C. 複数のウィンドウを重複させてオープンすることはできません。ウィンドウの期間が重複している場合は、優先度の高いウィンドウが優先度の低いウィンドウより優先して選択されます。

D. 正解です。ジョブのschedule_name属性でウィンドウを指定すると、ウィンドウがオープンしたときにジョブを開始します。


 スケジューラについては、さまざまな用語が出てきますが、正確に理解しておかれるとよいでしょう。

終わりに

 以上、本連載では12c Silverの主要トピックを紹介してきました。改訂後の12c Silverの試験は、Administrationがメインの試験となっているので、本連載で紹介してきたトピックについて、しっかり押さえるといいでしょう。

 その他、DBCAによるデータベースの作成、アップグレードの概要といったトピックもありますが、これらは全体に占める出題数も少ないので、Administrationに注力して準備をすればよいと思います。

 最後に、12c Silver試験の準備に当たっては、可能であれば実機で動作を確認すると理解が深まりますし、記憶も定着しやすいでしょう。データベースの作成、インスタンスの管理、ファイルの管理、ユーザーの管理など、一通り動作を試されることをお勧めします。テスト用の環境であれば、バックアップやリカバリーの動作も確認できます。

 12c Silverの試験合格に向けて体系立てて習得したことは、実務でも役立ちます。資格取得をマイルストーンに、継続してスキルを習得していただければと思います。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。