DBCA によるデータベースの作成（Oracle Database 19c）

Database Configuration Assistant(DBCA)を使用して、データベースを作成する。
RHEL 8.6 のデスクトップ環境で実施する。

以下のサイトを参考にさせて頂いた。

https://www.oracle.com/jp/a/tech/docs/technical-resources/19c-sidb-installationguide.pdf

https://arkgame.com/2021/11/06/post-301478/

https://ai-can-fly.hateblo.jp/entry/oracle-database-create

https://oha-yo.com/oracle/dbca_19c/

## データベースの作成
- ログイン
デスクトップ環境に root ユーザでログインし、
`# xhost + SI:localuser:oracle`
oracle ユーザに切り替え、
`# su - oracle`
`$ export DISPLAY=:0`
:::note info
※最初から oracle ユーザでデスクトップ環境にログインしてもよい。その場合は上記の設定は不要。
:::
![a01_after_login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/b360be78-0abc-d8e8-30b9-3c40e3dfefca.png)


- DBCA 起動
`$ $ORACLE_HOME/bin/dbca &`
![a02_run_dbca.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/f6396c55-6a07-9178-4d6c-7944ec6b5584.png)

- データベース操作の選択
「**データベースの作成**」を選択し、「次へ」をクリックする。
![a03_db_operation2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/7c3463ce-e59e-9ba0-f08f-cb6bcc06e95b.png)

- データベース作成モードの選択
標準構成か拡張構成のいずれかを選択する。
データベースを詳細に設定するため、「**拡張構成**」を選択し、「次へ」をクリックする。
![a04_creation_mode.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/14ce264e-6052-05f7-3ae8-f82b73c4926c.png)

- データベース・デプロイメント・タイプの選択
作成するデータベースのタイプとテンプレートを選択する。
データベース・タイプとして「**Oracle 単一インスタンス・データベース**」を選択し、
    データベースのテンプレートとして、ここでは「**汎用またはトランザクション処理**」を選択し、「次へ」をクリックする。
:::note
「カスタム・データベース」は、一からデータベース・ファイルを作成するため時間がかかるが標準データブロック・サイズを指定することができる。
「汎用またはトランザクション処理」と「データ・ウェアハウス」は内部的にはテンプレートのデータベース・ファイルをリストアして作成するため「カスタム・データベース」よりも短時間で作成できるが標準データブロック・サイズは指定することができない。標準データブロック・サイズはデータベースを作成するときしか指定できない。
:::
![a05_deploy_type.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/764ea03f-f095-3f11-c5f9-2face206f4e3.png)

- データベース ID の詳細の設定
一意のデータベース名を「グローバル・データベース名」に、インスタンス SID を「SID」にそれぞれ入力する。
ここで入力したグローバル・データベース名が初期化パラメータの DB_NAME、DB_UNIQUENAME、DB_DOMAIN になる。
空のコンテナ・データベース(CDB)を作成するか、１つ以上のプラガブル・データベース(PDB)を含めたコンテナ・データベースを作成するか選択することができる。
PDB を含めた CDB を作成する場合、追加する PDB 名の接頭辞を指定できる。
PDB を複数作成する場合、PDB 名は PDB 名前接頭辞の後に番号が割り振られたものになる。
(例：PDB の数を”2”、PDB 名前接頭辞を”orclpdb”とした場合、PDB 名は”orclpdb1”と”orclpdb2”になる)

    ここでは、グローバル・データベース名に「**orcl.oracle.com**」、SID に「**orcl**」、「**コンテナ・データベースとして作成**」と「**PDB用のローカルUNDO表領域の使用**」にチェックを入れ、「**1つ以上のPDBを含むコンテナ・データベースの作成**」を選択し、PDB の数を「**1**」、PDB 名を「**pdb**」として、「次へ」をクリックする。
![a06_db_identification.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/f329af8f-b6a1-ed3e-5e42-97aa387b034a.png)

- データベース記憶域オプションの選択
ここでは、「**データベース記憶域属性に次を使用**」を選択する。
「データベース・ファイルの記憶域タイプ」は、「**ファイルシステム**」を選択し、
「データベース・ファイルの位置」はデフォルトのままの設定で、「次へ」をクリックする。
![a07_storage_option.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/87a12527-bb61-ceb5-4b40-dac63204d03c.png)

- 高速リカバリ・オプションの選択
「高速リカバリ領域の指定」にチェックをつけた場合、高速リカバリ領域が設定される。
また、「アーカイブ有効化」にチェックをつけた場合、ARCHIVELOG モードで運用される。
ここでは、「**高速リカバリ領域の指定**」を選択し、そのオプション項目はデフォルトのままとする。
さらに「**アーカイブ有効化**」を選択後、「次へ」をクリックする。
![a08_fast_recovery_option.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/30ea8b80-6273-ebf0-ad2d-8bc365d5f2d4.png)

- ネットワーク構成詳細の指定
データベース Oracle ホームのリスナーを指定する。
データベース Oracle ホームに新規リスナーを作成するには、リスナーの名前とポートを指定する。
ここでは、「**新規リスナーの作成**」にチェックを入れ、リスナーの名前に「**LISTENER**」、ポートに「**1521**」を入力し、「次へ」をクリックする。
![a09_nw_config.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/5423b427-eb23-ee06-2717-93207ba06226.png)

- 構成オプションの指定
ここでは、「メモリー」「サイズ設定」「キャラクタ・セット」「接続モード」「サンプル・スキーマ」を各タブで設定できる。

    SGA と PGA のサイズを足した値のデフォルトは OS の認識するメモリーの 40%に設定されている。
データベースを 1 つしか作らない場合、かなり空きがあるため、本番環境ではチューニングの余地がある。

    「メモリー」では「**自動共有メモリー管理を使用**」を選択し、SGA サイズ、PGA サイズはデフォルトとする。
![a10_memory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/de7240f8-8b3a-b6f0-2ec4-9e78b1dd4483.png)
「サイズ設定」では、「データベース・デプロイメント・タイプの選択」でデータベースのテンプレートとして「カスタム・データベース」を選択した場合は標準ブロックサイズを選択できる。
「汎用またはトランザクション処理」また「データ・ウェアハウス」を選択した場合は内部的にはテンプレートのデータベース・ファイルをリストアして作成するため、テンプレートの値から変更できない。
ここでは、「汎用またはトランザクション処理」を選択したため変更ができないようになっている。
![a11_sizing.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/2470551f-3c17-3d0e-474a-d767d8f7d7a3.png)
キャラクタ・セットはデータベース作成後には変更できない。
キャラクタ・セットはほとんどの要件ではデフォルトの Unicode(AL32UTF8) が推奨である。
（もしShift_JIS 系や EUC 系を選択したい場合はここで選択する）
「**Unicode(AL32UTF8)を使用**」を選択し、オプションは以下の通り選択する。
・各国語文字セット：**AL16UTF16 - Unicode UTF-16汎用キャラクタ・セット**
・デフォルト言語：**日本語**
・デフォルト地域：**日本**
![a12_character_set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/c2ff4efa-69cd-534e-82d1-18a737814eca.png)
接続モードはほとんどの要件ではデフォルトの「専用サーバーモード」を選択する。
![a13_connection_mode.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/a34cba73-be91-c03a-fa8a-73edd52536d8.png)
「サンプル・スキーマ」はチェックを入れずそのままにする。
すべての項目で設定が完了したら「次へ」をクリックする。
![a14_sample_schema.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/44b9ff4c-b6d1-7f75-4cdd-bd2f099f890f.png)

- 管理オプションの指定
Oracle Enterprise Manager Database Express (EM Express)、または Oracle Enterprise Manager Cloud Control(EMCC)、
あるいはその両方を使用して Oracle Database を管理することが可能である。
事前に EMCC の管理サーバーが準備されている場合は、Oracle Database のインストールの過程の中で登録することができる。

    Web ブラウザから Oracle Database を管理できるので、 Enterprise Manager (EM) Database Express は有効化する。
「**Enterprise Manager (EM) Database Expressの構成**」にチェックを入れる。

    マルチ・コンテナ・データベースとしてデータベースを作成し、プラガブル・データベース（PDB）も同時に作成しており、PDB も一緒に管理するためにグローバル・ポートとして構成するので
「**グローバル・ポートとしてEM Database Expressポートを構成**」にチェックを入れる。
![a15_management_options.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/c6e49c3f-e57f-cd32-4bbb-620582aeda20.png)

- データベース・ユーザー資格証明の指定
Oracle インスタンスにログインする DB 管理者のパスワードの設定を行う。
SYS ユーザー、SYSTEM ユーザー、PDBADMIN ユーザーのパスワードをそれぞれ設定する。
ここでは、「**すべてのアカウントに同じ管理パスワードを使用**」を選択し、パスワード（8文字以上、英大文字小文字と数字、特殊文字を組み合わせる）を入力して「次へ」をクリックする。
![a16_user_credentials.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/ff48a3de-a2ce-85fb-17c0-06d07819909a.png)

- データベース作成オプションの選択
「**データベースの作成**」にチェックを入れて「次へ」をクリックし、データベースの作成に進む。
![a17_creation_option.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/8000d46f-d4ba-d213-f1a8-1e6e63c1b47e.png)

- サマリー
スクロールしてインストールの内容を確認し、
![a18_summary01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/85ee6ee6-b04d-3ce4-8a0c-c0ba5ee03710.png)
![a19_summary02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/aaac312c-ac1e-6a02-935f-cb5b616a62e6.png)
![a20_summary03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/5dcdd986-9a62-c1e6-cfee-0cd2e96e8551.png)
「終了」をクリックするとデータベースの作成が開始される。
![a21_summary04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/541d6e9d-0590-3d52-b457-9d3e2cca65a8.png)

- データベースの作成
データベースの作成処理が開始される。完了までしばらく時間がかかる（10～20分）。
![a22_install_now.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/f392b295-f04c-7b6c-b07e-e468c1d5052e.png)

- 終了
データベースの作成が完了すると以下の画面が表示される。
「閉じる」をクリックしてデータベースの作成は完了となる。
![a23_finish.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/0138706a-a4fe-effa-85ad-c8ed64d65631.png)

## データベース作成後の確認
- コンテナ・データベースとプラガブル・データベースの接続確認
SQL\*Plus でコンテナ・データベース(CDB)への接続を確認する。
CDB のデフォルトのサービス名(DB_UNIQUE_NAME.DB_DOMAIN)は 手順「データベース ID の詳細の指定」で指定したグローバル・データベース名「**orcl.oracle.com**」に等しくなっている。
`$ sqlplus system@localhost:1521/orcl.oracle.com`
`※パスワードを入力`
![a24_sqlplus_login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/7bc98d86-99d5-b65a-3d18-892e10c8c27e.png)
DBCA で作成した PDB がある事と、OPEN_MODE の値が「READ WRITE」であることを確認してSQL*Plus を終了する。
`SQL> set linesize 200`
`SQL> select con_id, name, open_mode from v$pdbs;`
`SQL> exit`
![a25_confirm_pdbs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/af2b42c4-c1e3-7025-d883-c004efcf9443.png)
    SQL\*Plus から PDB へ Net サービス名を使用して接続できることを確認する。
先に Netサービス名を確認するため、以下のコマンドを実行する。
`$ lsnrctl status`
![a26_lsnrctl_status.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/7019b265-46c1-2c74-7735-a0353fbdd398.png)
以下のコマンドで PDB へ Net サービス名を使用して接続できることを確認する。	
`$ sqlplus system@localhost:1521/pdb.oracle.com`
`SQL> show con_name`
`SQL> exit`
![a27_sqlplus_pdb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/359f4a99-9e50-cd7d-1548-f91885b40b35.png)

- Enterprise Manager Express の確認
FireFox を起動し、以下のURLにアクセスする。
`https://localhost:5500/em`
以下のようなメッセージが出るので、「**詳細情報**」をクリックする。
![a28_firefox_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/d1a57b76-3a13-9fce-b93a-3ef2ac041628.png)
「**危険性を承知で続行**」をクリックする。
![a29_firefox_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/9c2fbb99-e549-8e77-97fd-688bb8b525ba.png)
「Username」に **system**、「Password」にパスワードを入力し、「Log in」をクリックする。
![a30_firefox_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/90ac9677-0d0c-c28a-700f-782ae6a2239e.png)
以下のような画面が表示されることを確認する。
![a31_firefox_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2519182/6dcc040e-96b6-a5d0-1856-338b00b710d6.png)