AI can fly !!

AI がやりたい Web エンジニアのアウトプット (AI の知識は無い)

【Oracle Database 19c】DBCAを使用したデータベース作成【Database Configuration Assistant】

ORACLE Database 19c

はじめに

Oracle Database 19c のデータベースを作成するにあたり、 Database Configuration Assistant (DBCA) の各ウィザードの設定項目についてまとめました。

今回は僕がプライベートで使用するものなので、ほぼデフォルト値で設定しています。

データベース作成後は変更できない項目もあるので、よく検討して値を決定しましょう。

動作環境

OS Version
Windows 10 Pro 1909
Database Version
Oracle Database 19c 19.3.0
Application
Database Configuration Assistant

Database Configuration Assistant (DBCA) とは

DBCA は Oracle Database に付属するツールで、段階的なガイド付きのワークフローに従ってデータベースの作成・構成の変更・削除を行うことができます。

Oracle 公式ドキュメント - 2日でデータベース管理者

2.3 DBCAを使用したデータベースの作成および管理

DBCA を使用したデータベース作成

Windows の場合、スタートメニューから DBCA を起動できます。

Database configuration Assistant の起動

1. データベース操作の選択

データベース操作の選択

  • データベースの作成
    • データベースを作成する
  • テンプレートの管理
    • データベース・テンプレートの作成、削除を行う

新規でデータベースを作成するので、「データベースの作成」を選択します。

2. データベース作成モードの選択

データベース作成モードの選択

  • 標準構成
    • この画面で入力する項目以外、デフォルト値を使用してデータベースを構成する
  • 拡張構成
    • 次画面からのワークフローに従って各設定値を入力し、データベースを構成する

カスタマイズを行うので「拡張構成」を選択します。

3. データベース・デプロイメント・タイプの選択

データベース・デプロイメント・タイプの選択

  • Oracle 単一インスタンス・データベース
    • 一つのデータベースに対して、一つのデータベース・インスタンスを構成する
  • Oracle Real Application Cluster (RAC) データベース
    • 一つのデータベースに対して、複数のデータベース・インスタンスを構成する
  • Oracle RAC One Node データベース
    • RAC 同様に複数ノードを立ち上げることが可能だが、通常は一つのデータベースに対して一つのデータベース・インスタンスが構成される

RAC 構成にはしないので「Oracle 単一インスタンス・データベース」を選択します。

また、データベース・テンプレートは使用しないので「カスタム・データベース」を選択します。

4. データベースIDの詳細の指定

データベースIDの詳細の指定

  • グローバル・データベース名
    • 初期化パラメータ「DB_NAME」 + 初期化パラメータ「DB_DOMAIN」
  • SID

マルチ・コンテナ・データベースとしてデータベースを作成し、プラガブル・データベースも同時に作成します。

5. データベース記憶域オプションの選択

データベース記憶域オプションの選択

  • データベース・ファイルの記憶域タイプ
  • データベース・ファイルの位置
    • Oracle データベース・ファイルの格納場所を指定する
  • Oracle Managed Files の使用 (OMF)
    • OMF を使用し、ファイルを自動的に作成、命名および管理する

「データベース記憶域属性に次を使用」を選択し、データベース・ファイルの格納場所を指定します。

Oracle Managed Files の使用 (OMF)」にもチェックを入れ、ファイルの管理を自動化しましょう。

6. 高速リカバリ・オプションの選択

高速リカバリ・オプションの選択

「高速リカバリ領域の指定」と「アーカイブ有効化」にチェックを入れます。

7. ネットワーク構成詳細の指定

ネットワーク構成詳細の指定

  • 新規リスナーの作成
    • リスナー名
      • LISTENER
    • リスナー・ポート
      • 1521

リスナーは Net Configuration Assistant (NETCA) でも構成することができますが、特に細かい設定をする必要は無いので、データベース作成と合わせて構成しておきます。

リスナー名とポート番号はデフォルト値を使用すると、lsnrctl コマンドでリスナーを制御する際にリスナー名を省略できます。

8. データベース・オプションの選択

データベース・オプションの選択

データベース・コンポーネントは、使用する予定のあるものにチェックを入れます。

今回は使用する予定は無いので、全てのチェックを外しました。

Windows 版 DBCA の不具合?

データベース・コンポーネント一覧の一番下の項目「Oracle Database Extensions for .NET」が見切れてしまっています…

スクロールバーも表示されていないので、どう頑張っても見ることができません。

チェック有無を切り替えるには、 Tab キーで項目を選択して Space キーで切替を行うしかありません。

9. 構成オプションの指定

1). メモリー

構成オプションの指定 - メモリー

使用するマシンの物理メモリ量に応じて、適切な値を設定します。

以前、物理メモリが 4GB の Windows マシンで自動メモリー管理を 1GB に設定したら、スワップアウトが多発して日常使いはできなくなりました…

自動メモリー管理

自動メモリー管理

自動メモリー管理オプションは、物理メモリが 4GB を超える場合は使用できないようです。

これ、初耳なのですが、そうなんですか…

今どき物理メモリが 4GB 未満でOracle Database を動かすことなんてあるのでしょうか。。
と言いつつ、僕は古いマシン (メモリ 4GB) に Oracle Database を入れてましたけど…

2). サイズ設定

構成オプションの指定 - サイズ設定

ブロック・サイズとユーザ・プロセスの最大同時接続数の設定です。

特に変更せず、デフォルト値を使用します。

と、あっさり決めましたが、ブロック・サイズはデータベース作成後は変更できないので、業務で使用する場合はよく検討してから設定しましょう!

3). キャラクタ・セット

構成オプションの指定 - キャラクタ・セット

Oracle Database 12c Release 1 までは各プラットフォームで使用される標準のキャラクタ・セットが継承されていましたが、 Oracle Database 12c Release 2 以降は Unicode (AL32UTF8) がデフォルトになりました。

ここも特に変更せず、デフォルト値を使用します。

キャラクタ・セットもデータベース作成後は変更できませんが、現在新規でデータベースを作成するなら Unicode (AL32UTF8) に設定しておけば問題無いと思います。

4). 接続モード

構成オプションの指定 - 接続モード

  • 専用サーバ・モード
    • 一つのユーザプロセスに対し、一つのサーバプロセスが立ち上がる
  • 共有サーバー・モード
    • ディスパッチャがユーザプロセスを受け付け、アイドル状態の共有サーバプロセスを割り当てる

ローカルで使用するだけなので「専用サーバ・モード」を選択します。

5). サンプル・スキーマ

構成オプションの指定 - サンプル・スキーマ

サンプル・スキーマは不要なので、チェックを外します。

10. 管理オプションの指定

管理オプションの指定

  • Enterprise Manager (EM) Database Express の構成
    • グローバル・ポートとして EM Database Exporess ポートを構成
      • グローバル・ポートを構成し、CDB の HTTPS ポート経由で CDB の全ての PDB を管理する

Web ブラウザから Oracle Database を管理できるので、 Enterprise Manager (EM) Database Express は有効化しましょう。

今回はマルチ・コンテナ・データベースとしてデータベースを作成するので、 PDB も一緒に管理するためにグローバル・ポートとして構成します。

11. データベース・ユーザー資格証明の指定

データベース・ユーザー資格証明の指定

本来であれば、セキュリティを考慮して各ユーザのパスワードは分けて管理すべきですが、今回はローカルで使用するだけなので、パスワードは共通化しています。

本番環境での運用や、一定のセキュリティを考慮する必要がある場合は、各ユーザ毎にパスワードを設定してください。

12. データベース作成オプションの選択

データベース作成オプションの選択

  • データベースの作成
    • 今まで入力した内容でデータベースを作成する
  • データベース・テンプレートとして保存
    • 今まで入力した内容をデータベース・テンプレートに保存する
  • データベース作成スクリプトの生成
    • 今まで入力した内容でデータベース作成スクリプトを生成する

今後、同じ構成を基にしてデータベースを作成する機会がある場合は、データベース・テンプレートとして保存しておけば、今回の設定内容をデフォルト値として再度データベースを作成できます。

また、データベース作成スクリプトを生成しておけば、 DBCA を使用せずに SQL*Plus からデータベースを作成することも可能です。

13. サマリー

サマリー

各設定項目を確認し、問題無ければ「終了」をクリックします。

データベースの作成まで結構時間が掛かるので、気長に待ちましょう。

ただ、長時間放置した後に確認してみたら、序盤でエラーが出て全てやり直しになることもあるので(僕です…)、15分置きくらいに確認した方がいいと思います。

14. 終了

終了

これでデータベースの作成は完了です。

EM Database Express に接続する URL が表示されるので、控えておきましょう。

と言っても、各 Database 固有のものではなく https://localhost:5500/em でアクセスできます。

おわりに

Oracle Database は高コストだと言われて久しいですが、こういったツールが公式から出ているのは強みの一つなんじゃないかなーと思います。

他のデータベースのことはよく知らないので、実は DBCA よりも使い勝手の良いツールがあったりするかもしれないですけど…

データベースの作成は CREATE DATABASE 文でも行えますが、 Oracle Database では作成時にしか設定できない項目や作成後の変更が容易ではない項目もあるので、初心者は GUI で対話的に設定ができる Database Configuration Assistant を使用することをお勧めします。

これは初心者の僕が言っているので間違いないです!笑