DBCA を使ってデータベースを作成( Oracle 19c )
今回の目的でもあるマルチテナントを確認するため、 DBCA を使ってデータベースを作成していきます。 Oracle 20c からは、従来の構成をサポートしなくなるということなので Oracle を使用していくのであれば、将来必要な作業となるでしょう。
動作環境:
- Windows Server 2019
- Oracle Database 19c(Version:19.3)
データベースを作成する
Database Configuration Assistant ( DBCA )を起動します。
新規にデータベースを作成するので、画面の「データベースの作成」を選択します。
データベースの作成方法を選択します。ここでは、カスタマイズを行うことを前提にしているので「拡張構成」を選択します。
作成するデータベースのタイプを選択します。単一インスタンスで構成するので、「 Oracle 単一インスタンス・データベース」を選択します。
また、テンプレートは使用しないので一覧の中から「カスタム・データベース」を選択します。
データベースの識別子を設定します。ここで、11g 以前にはなかったマルチテナントに関わるコンテナ・データベースが出てきます。ベースとなる「コンテナ・データベース( CDB )」の作成とその上にのる「プラガブル・データベース( PDB )」を作成するよう選択します。
ここでは、グローバル・データベース名を 「 orcl.world 」, SID を「 orcl 」として 11g 以前と同じように設定します。また、PDB名には「 dars 」と設定しました。
データベースに関わるファイルの管理方法や配置などを選択します。ここでは、「データベース記憶域属性に次を使用」を選択し、記憶領域のタイプやデータベース・ファイルの保管場所を指定します。
「Oracle Managed Files の使用 (OMF)」の利用は、必要に応じて選択しますがファイルの配置など詳細な設定が必要な場合はチェックを入れずに進めます。ここでは、動作確認のみを行う予定なのでチェックを入れて進めます。
高速リカバリとアーカイブログの設定をします。ここでは、どちらも有効にしておきます。
はじめてデータベースを作成するので、「新規リスナーの作成」にチェックを入れリスナーを作成します。ここでは、リスナー名を「LISTENER」としています。
必要なオプションを選択します。ここでは、使用するコンポーネントが無いのですべてチェックを外します。
構成オプションの中のメモリーに関する管理方法を選択します。とりあえず、「自動共有メモリー管理を使用」を選択しておきます。
構成オプションのサイズ設定を行います。ブロックサイズは、後から変更できないということなので実際に設計する場合は重要な要素となります。ここでは、デフォルトの 8K とし、プロセスの最大数もデフォルトのままとしています。
※ざっくりですが、ブロックサイズとは Oracle がデータを読み込むときの単位です。
構成オプションのキャラクターセットを設定します。新規に作成するのであれば、デフォルトの Unicode (AL32UTF8) でよいと思います。ここでは、機能検証を目的としていますのでデフォルトのままとしています。
構成オプションの接続モードを設定します。モードの選択は、データベースの使い方によるのですが、ここでは「共有サーバー・モード」を選択します。
Enterprise Managerを構成します。データベースを Web ブラウザから管理できるようになるので必要に応じて設定します。また、マルチテナントで構成した場合、グローバル・ポートとして構成するとよいようです。
スーパーユーザーとなるアカウントのパスワードを設定します。今回は、同一パスワードとしていますが本番運用するような環境では別々に管理した方がよいのでしょう。
ここまでの設定をどのように処理するか選択します。
- データベースの作成:ここまで設定した内容でデータベースを作成する。
- データベース・テンプレートとして保存:ここまで設定した内容をデータベース・テンプレートとして保存する。
- データベース作成スクリプトの生成:ここまで設定した内容でデータベース作成スクリプトを生成する。
今回はデータベースの作成のみを選択して作業を続けます。
※「Oracle Managed Files の使用 (OMF)」を使用するかしないかで、「記憶域の場所のカスタマイズ」で出来ることが変わってきます。
ここまでの設定内容が表示されるので、問題無ければ「終了」をクリックします。
構築作業が実行されるのでしばらく待ちます。
以上でデータベースの作成は完了です。
ブラウザから localhost の Enterprise Manager に設定したポートに接続すると次の画面が表示され、動作確認することができます。(ここでは、https://localhost:5500/em)
マルチテナント構成をはじめて使用するので Enterprise Manager のログイン画面にある「 Container Name 」に戸惑いました。「 Container Name 」には、 CDB$ROOT を指定します。
ログイン後、動作していることが確認できたら一通り完了です。
Oracle Managed Files の使用 (OMF)による違い
おまけですが、データベースの設計上、可用性を検討すると Oracle Managed Files の使用について考える必要があるのではと考えます。
Oracle Managed Files (OMF)を使用しない場合
Oracle Managed Files を使用しない場合、次のように制御ファイルの配置やデータファイル等細かな設定が可能となります。
Oracle Managed Files (OMF)を使用する場合
Oracle Managed Files を使用した場合、ファイルの配置を変更することができず細かな設定はできないようです。しかし、命名規則などはルールに基づいて行われるなどメリットが無いわけではありません。
今のところ、実稼働環境を構築する場合は Oracle Managed Files を使用しない方を選択する気がします。(2020/08/25現在)
Oracle の機能は、賢く自動化に向かっているので今後も様々な機能に注目しておく必要がありそうです。