~オラクルDB担当エンジニア直伝~

ユージ&ギョータの実践データベース講座

Oracle Database 12cを使ってみよう



マルチテナント・アーキテクチャ編

第4回 プラガブル・データベースのクローニング(複製)

第3回では、マルチテナント・アーキテクチャでのバックアップとリカバリを行いました。CDB全体でもPDB単位でもバップアップが行え、リカバリもCDB全体およびPDB単位でも行えることが確認できたと思います。

第4回、第5回では、PDBのクローニング(複製)や移動を行いPDB自体の操作で、PDBを使用する大きなメリットとなる操作を実行してみましょう。

本ガイドに記載している内容は、Oracle Database 12c Release 1の機能評価を手早く行うことを目的としています。システムおよびパッケージの開発や実行環境で使用する際には、関連ドキュメントを参照の上、実施してください。

また、本ガイドは単に情報として提供されるものであり、内容に誤りがないことの保障や弊社サポート部門へのお問い合わせはできませんのでご理解ください。

1.PDBのクローニング(複製)

PDBのクローニング(複製)はPDBの新規作成と似ています。新規作成では、PDB$SEEDというデフォルトで用意されている空のPDBをクローンして作成しますが、クローニングでは、既存のPDBをクローン(複製)して、全く同じ環境を作成します。

例えば皆さんがいつも使う構成のPDBを作成しておいて、それをクローンして素早くデータベースを用意することができます。

また、ネットワーク越しにデータベース・リンク経由で他のCDBにクローンすることも可能なので、他のマシンでテスト環境を構築する場合やその反対に本番環境にデータベースを移行する場合などに非常に有効です。

今回は第1回で作成したPDB2をクローンして、PDB3を作成します。

PDB2には、第2回で作成したHRスキーマとEMP表が含まれていますので、PDB3にも、HRスキーマとEMP表が含まれることを確認します。


今回はPDBのクローニングや移動を、SQL Developerから実施します。SQLコマンドでも実行できますが、SQL DeveloperではGUIを使用して、より簡単に行えます。その他Enterprise Managerを使用した場合もGUIで操作することが可能です。


1.1. 事前準備(読取り専用モードでのオープン)

PDBのクローンを行うには、クローン元を一貫性のある状態にするために、読取り専用(READ ONLY)モードにする必要があります。

読取り専用モードにするには、一度クローズしてから再度読取り専用モードでオープンします。

クローズをするには、SQL DeveloperのDBAビューから、CDB1を選択して展開し、「コンテナ・データベース」から”PDB2”を右クリックします。

「プラガブル状態の変更」画面がポップアップ表示されるので、「新しい状態」が”CLOSE”になっていることを確認して、「適用」ボタンをクリックします。

これで、PDBをクローズできました。

次に同様にPDB2を右クリックして、「状態の変更」を選択し、「状態のオプション」で”READ ONLY”を選択し、「適用」ボタンをクリックします。

これで読取り専用(READ ONLY)モードになりました。

1.2. PDBのクローン(複製)の実施

B2をクローンします。PDB2を右クリックし、プラガブル・データベースのクローン作成」を選択してください。

「プラガブル・データベースのクローン作成」画面がポップアップ表示されますので、「データベース名」に”PDB3”を入力し、必要に応じて「ファイル名の変換」を指定してください。この例では、ファイル名やパスに含まれる”pdb2”という文字列を”pdb3”に変更しています。

指定しましたら、「適用」ボタンをクリックして、クローンを開始します。

(ファイルのコピーを行うので、完了するまで、少し待つこともあります)

クローンが完了すると、DBAビューに”PDB3”が表示されます。

これで、クローンが完了です。

ただし、クローンした後はクローズ状態なので、接続できるようにPDB3の状態を変更して読み書き(READ WRITE)モードでオープンします。
(PDB3を右クリックし、「状態の変更」を選択、「状態のオプション」で”READ WRITE”を指定します)

それは、PDB3にPDB2で作成したHRスキーマやEMP表がちゃんとクローンされて、PDB3にもあることを確認してみましょう。

第1回のPDB2の時と同様の手順で、接続ビューから接続を新規作成してください。PDB2の時と違うのは、「データベース接続の作成/選択」画面で「接続名」い”PDB3”、サービス名に”PDB3”を指定するところだけです。

接続の作成が完了すると、DBAビューに”PDB3”が表示されます。

“+”アイコンをクリックして、”PDB3”を展開し、HRユーザーにEMP表があることを確認してみましょう。

2.まとめ

今回は、SQL Developerを使用してプラガブル・データベース (PDB) のクローニング(複製)を実施しました。 クローニングは、同じ環境をすばやく構築できるため、SaaSのような同じ環境を複数使用するような場合や、標準構成を複数展開するようなプライベート・クラウドでも有用です。 その他にも、本番で何か問題があった場合に再現環境を用意する場合など、いろいろな場合に使用できる機能です。

PDBのクローニングや移動は、ユーザーやシノニムを含むアプリケーション実行に必要な環境がPDB内に包含されているために実現できる機能で、マルチテナント・アーキテクチャの大きな利点となります。

次回は、PDBの移動を試してみたいと思います。

<< 第3回へ戻る I 第5回へ進む >>

>> 連載トップページに戻る