- VM作成・OSインストール・OS初期設定
- Oracle DB 19c ソフトウェアインストール
- CDB作成・自動起動設定(この記事)
目次
この記事について
この連載では、Proxmox VE上の仮想マシン1台にOracle Database 19c (19.28 RU) シングルインスタンスのCDB(コンテナ・データベース)を構築する手順を解説します。
連載の全体マップ:
| 記事 | タイトル | 内容 |
|---|---|---|
| 第1回 | VM作成・OSインストール・OS初期設定 | Proxmox VM作成・OL8インストール・NW/NTP/SELinux/THP設定・前提条件確認・インストーラー展開 |
| 第2回 | Oracle DB 19c ソフトウェアインストール | runInstaller・RU同時適用 |
| 第3回(本記事) | CDB作成・自動起動設定 | DBCAによるCDB+PDB作成・systemd自動起動設定 |
構築環境
| 項目 | 値 |
|---|---|
| VM名 | ol8-db19-11 |
| OS | Oracle Linux 8.9 |
| DBバージョン | 19.28.0.0 |
| ORACLE_SID | v11c19u |
| PDB名 | SP19U001 |
| Oracle Base | /u01/app/oracle |
| Oracle Home | /u01/app/oracle/product/19.0.0/dbhome_1 |
手順6: DBCAでシングルCDB作成(GUI)
DBCA(Database Configuration Assistant)はGUIアプリケーションです。Proxmox の noVNC コンソールから oracle ユーザーでGNOMEにログインして操作します。
6-1. DBCAの起動
GNOMEデスクトップで端末(ターミナル)を起動します。

ターミナルで以下を実行します。
su - oracle
dbca

6-2. DBCAウィザード
① ステップ1: データベース操作の選択
「データベースの作成」を選択して「次へ」をクリックします。

② ステップ2: データベース作成モードの選択
「拡張構成」を選択して「次へ」をクリックします。

③ ステップ3: デプロイ・タイプの選択
| 項目 | 設定値 |
|---|---|
| データベース・タイプ | Oracle単一インスタンス・データベース |
| テンプレート | 汎用またはトランザクション処理 |
「次へ」をクリックします。

④ ステップ4: データベースIDの詳細の指定
| 項目 | 設定値 |
|---|---|
| グローバル・データベース名 | v11c19u |
| SID | v11c19u |
| コンテナ・データベースとして作成 | チェックあり |
| PDB用のローカルUNDO表領域の使用 | チェックあり |
| 作成タイプ | 1つ以上のPDBを含むコンテナ・データベースの作成 |
| PDB名 | SP19U001 |
| PDB数 | 1 |
「次へ」をクリックします。

⑤ ステップ5: データベース記憶域オプションの選択
「データベース記憶域属性にテンプレート・ファイルを使用」(デフォルト)のまま「次へ」をクリックします。

⑥ ステップ6: 高速リカバリ・オプションの選択
| 項目 | 設定値 |
|---|---|
| 高速リカバリ領域の指定 | チェックあり |
| リカバリ・ファイルの記憶域タイプ | ファイルシステム |
| 高速リカバリ領域のサイズ | 5120 MB |
| アーカイブ有効化 | チェックなし |
「次へ」をクリックします。

「[DBT-06801] 指定された高速リカバリ領域サイズ(5,120 MB)は、推奨値に満たないサイズです。続行しますか?」のダイアログが表示されます。検証環境のため「はい」をクリックして続行します。

⑦ ステップ7: ネットワーク構成詳細の指定
| 項目 | 設定値 |
|---|---|
| 新規リスナーの作成 | チェックあり |
| リスナー名 | LISTENER |
| リスナー・ポート | 1521 |
「次へ」をクリックします。

⑧ ステップ8: Oracle Data Vault構成オプションの選択
すべてチェックなしのまま「次へ」をクリックします。

⑨ ステップ9: 構成オプションの指定
5つのタブで設定を行います。
メモリータブ:
| 項目 | 設定値 |
|---|---|
| メモリー管理 | 自動共有メモリー管理を使用 |
| SGAサイズ | 1024 MB |
| PGAサイズ | 512 MB |

サイズ設定タブ:
| 項目 | 設定値 |
|---|---|
| ブロック・サイズ | 8192 BYTES(デフォルト・変更不可) |
| 処理 | 300 |

キャラクタ・セットタブ:
| 項目 | 設定値 |
|---|---|
| データベース文字セット | Unicode(AL32UTF8) |
| 各国語文字セット | AL16UTF16 |
| デフォルト言語 | 日本語 |
| デフォルト地域 | 日本 |

接続モードタブ:
「専用サーバー・モード」を選択します。

サンプル・スキーマタブ:
「データベースにサンプル・スキーマを追加」はチェックなしのまま「次へ」をクリックします。

⑩ ステップ10: 管理オプションの指定
「Enterprise Manager (EM) Database Expressの構成」のチェックを外して「次へ」をクリックします。
EMCCで監視するため、EM Database Expressは使用しません。

⑪ ステップ11: データベース・ユーザー資格証明の指定
「すべてのアカウントに同じ管理パスワードを使用」を選択してパスワードを入力し、「次へ」をクリックします。

「[DBT-06208] 入力された’管理者’パスワードが推奨される標準に準拠していません。続行しますか?」のダイアログが表示された場合は「はい」をクリックします。

⑫ ステップ12: データベース作成オプションの選択
「データベースの作成」にチェックが入っていることを確認して「次へ」をクリックします。

再度「[DBT-06801] 指定された高速リカバリ領域サイズ(5,120 MB)は推奨値に満たないサイズです」のダイアログが表示されます。「はい」をクリックして続行します。

⑬ ステップ13: サマリー
設定内容を確認して「終了」をクリックします。

6-3. DB作成・完了確認
「終了」をクリックするとDB作成が開始されます。進行状況ページでステータスを確認できます。

「データベースの作成が完了しました。」と表示されたら「閉じる」をクリックします。

6-4. 作成後の確認
ターミナルで以下を実行して、CDB・PDBが正常に起動していることを確認します。
su - oracle
# DB起動確認
sqlplus / as sysdba <<EOF
SELECT name, open_mode FROM v\$database;
SELECT name, open_mode FROM v\$pdbs;
EOF
期待される出力:
NAME OPEN_MODE
--------- ----------
V11C19U READ WRITE
NAME OPEN_MODE
--------- --------------------
PDB\$SEED READ ONLY
SP19U001 READ WRITE
# リスナー登録確認
lsnrctl status | grep -E 'STATUS|v11c19u'
手順7: 自動起動設定・EMCC事前準備
再起動後もDBが自動起動するよう設定します。以降の作業は root ユーザーで実行します。
7-1. /etc/oratab の変更
DBCAが /etc/oratab にDBエントリを N(自動起動しない)で登録しています。これを Y に変更します。
su - root
hostname && whoami
# 現在の設定確認
grep v11c19u /etc/oratab
# → v11c19u:/u01/app/oracle/product/19.0.0/dbhome_1:N
# バックアップ取得
work_date=$(date +%Y%m%d)
cp -p /etc/oratab{,.${work_date}}
# N を Y に変更
sed -i "s|^v11c19u:\(.*\):N$|v11c19u:\1:Y|" /etc/oratab
# 差分確認
diff /etc/oratab{,.${work_date}}
# → :N → :Y の変更行が表示されること
# 確認
grep v11c19u /etc/oratab
# → v11c19u:/u01/app/oracle/product/19.0.0/dbhome_1:Y
7-2. systemd サービスの登録
dbstart / dbshut を使った systemd サービスを登録して、OS起動時にDB・リスナーが自動起動するようにします。
cat > /etc/systemd/system/oracle-db.service << 'EOF'
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart /u01/app/oracle/product/19.0.0/dbhome_1
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut /u01/app/oracle/product/19.0.0/dbhome_1
TimeoutStartSec=600
TimeoutStopSec=600
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable oracle-db
systemctl status oracle-db --no-pager
Loaded: loaded (...; enabled; ...) と表示されれば有効化されています。
7-3. 再起動テスト
reboot
再起動後、oracle ユーザーで以下を確認します。
su - oracle
# リスナー起動確認
lsnrctl status | grep -E 'STATUS|v11c19u'
# DB起動確認
sqlplus / as sysdba <<EOF
SELECT name, open_mode FROM v\$database;
SELECT name, open_mode FROM v\$pdbs;
EOF
DB・リスナーが起動していれば自動起動設定は完了です。
7-4. dbsnmp アンロック(EMCC事前準備)
EMCCからDBを監視するために必要な dbsnmp ユーザーをアンロックします。
su - oracle
hostname && whoami
sqlplus / as sysdba
-- dbsnmp の状態確認
SELECT username, account_status FROM dba_users WHERE username = 'DBSNMP';
-- LOCKED の場合はアンロック
ALTER USER dbsnmp IDENTIFIED BY <パスワード> ACCOUNT UNLOCK;
-- アンロック確認
SELECT username, account_status FROM dba_users WHERE username = 'DBSNMP';
-- → OPEN になっていること
スナップショット取得(完了後)
Proxmox WebUI から ol8-db19-11 のスナップショットを取得します。
「スナップショット」タブ → 「スナップショットの取得」:
| 項目 | 値 |
|---|---|
| 名前 | after-dbca |
| 説明 | CDB作成・自動起動設定完了 |
| RAMを含める | チェック外す |
まとめ
この記事では以下を実施しました。
- DBCAでシングルCDB(
v11c19u)とPDB(SP19U001)を作成 /etc/oratabをN → Yに変更し、systemdサービス(oracle-db.service)で自動起動を設定- 再起動後にDB・リスナーが正常起動することを確認
- EMCC登録に向けて
dbsnmpユーザーをアンロック
これで Oracle Database 19c シングルCDBの構築は完了です。








