dbca -silentでCDB構成のデータベースを作成する手順

CDB/PDB(マルチテナント)

Oracleでは、コマンドラインのみでデータベースを構築することができます。
本記事では、dbca -silent を用いたCDB構成のデータベース作成手順を、Oracle 21c以降向けに詳しく解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


✅ Oracle 21c以降はCDB構成が「必須」

Oracle 12c以降で導入された「マルチテナント・アーキテクチャ」では、1つのCDB(コンテナ・データベース)に複数のPDB(プラガブル・データベース)を格納する形式が採用されています。

そして Oracle 21c以降ではCDB構成が必須となり、非CDB構成はサポート対象外となりました。


📊 バージョン別対応状況

Oracleバージョン非CDB構成CDB構成
12c〜19c利用可能(非推奨)推奨される
21c〜23c❌ 利用不可✅ 必須

✅ CDB構成とは?(PDBが2つあるイメージ)

CDBとは、「コンテナ・データベース(Container Database)」の略で、Oracle Databaseの土台となる構造です。
その中に複数のPDB(プラガブル・データベース)を格納して、それぞれを独立したデータベースのように運用できます。


🧱 テキスト図:CDBと複数PDBの関係(100点)

          +-------------------------------------------+
| CDB: ORCL |
|-------------------------------------------|
| CDB$ROOT(システム/管理用) |
|-------------------------------------------|
| PDB1: ORCLPDB1(営業システム) |
| PDB2: ORCLPDB2(会計システム) |
+-------------------------------------------+

PDBごとにアプリケーションを分離できるため、1つのCDBで複数のシステムを共存させることができます。


✅ 構成例

項目内容
Oracleバージョン19c
グローバルDB名ORCL
SIDORCL
PDB名ORCLPDB1, ORCLPDB2
文字セットAL32UTF8
メモリ2048MB(自動SGA)
EM構成使用しない
データファイル格納先/u01/app/oracle/oradata

🛠️ 手順

① 環境変数の設定

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

② ディレクトリの作成

mkdir -p /u01/app/oracle/oradata
chown -R oracle:oinstall /u01/app/oracle/oradata

③ dbca -silent によるCDBの作成(PDB2つ)

dbca -silent \
-createDatabase \
-templateName General_Purpose.dbc \
-gdbname ORCL \
-sid ORCL \
-createAsContainerDatabase true \
-numberOfPDBs 2 \
-pdbName ORCLPDB1,ORCLPDB2 \
-pdbAdminPassword Oracle123 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-characterSet AL32UTF8 \
-memoryMgmtType auto_sga \
-totalMemory 2048 \
-emConfiguration NONE \
-datafileDestination /u01/app/oracle/oradata \
-storageType FS

レスポンスファイルを使う方法(参考)

Oracleでは、設定をまとめたレスポンスファイルを使って dbca を実行することも可能です。


📝 レスポンスファイル例(dbca_cdb.rsp)

[GENERAL]
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v21.0.0

[CREATEDATABASE]
gdbName=ORCL
sid=ORCL
createAsContainerDatabase=true
numberOfPDBs=2
pdbName=ORCLPDB1,ORCLPDB2
templateName=General_Purpose.dbc
characterSet=AL32UTF8
sysPassword=Oracle123
systemPassword=Oracle123
pdbAdminPassword=Oracle123
datafileDestination=/u01/app/oracle/oradata
automaticMemoryManagement=false
totalMemory=2048
emConfiguration=NONE
databaseType=MULTIPURPOSE
storageType=FS

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


🔍 作成確認

作成完了メッセージ:

Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/ORCL

SQL*Plusでの接続確認:

sqlplus sys/Oracle123@ORCL as sysdba

PDBへの接続:

sqlplus pdbadmin/Oracle123@ORCLPDB1
sqlplus pdbadmin/Oracle123@ORCLPDB2
・PDB が 1 つの CDB 構成のデータベースを作成。

[oracle@v19single ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname V19M -sid V19M -createAsContainerDatabase true -numberOfPDBs 1 -pdbName PDB01 -pdbAdminPassword oracle -sysPassword oracle -systemPassword oracle -characterSet AL32UTF8 -memoryMgmtType auto_sga -totalMemory 2048 -emConfiguration NONE -datafileDestination /u01/app/oracle/oradata -storageType FS ★DBCAで作成
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
53% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/V19M.
Database Information:
Global Database Name:V19M
System Identifier(SID):V19M
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/V19M/V19M.log" for further details.
[oracle@v19single ~]$ export ORACLE_SID=V19M
[oracle@v19single ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 金 4月 4 17:30:13 2025
Version 19.21.0.0.0

Copyright (c) 1982, 2022, Oracle. All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.21.0.0.0
に接続されました。
SQL> set lin 1000 pages 1000
SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS
------------------------------------------------ ------------------------------------
V19M OPEN

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO ★PDBが作成されている

✅ CDB構成のメリット(再確認)

  • PDBごとの独立性:アプリケーション単位で分離できる
  • 運用の効率化:1つのCDBでバックアップ・パッチ適用を集約
  • マルチテナント対応:クラウド・仮想環境と相性抜群

✅ まとめ

  • Oracle 21c以降は CDB構成が必須。非CDB構成は使えません。
  • dbca -silent を使えば、GUIなしでスクリプトによる自動構築が可能です。
  • 複数のPDBを持つことで、システムごとの分離運用も可能になります。


[参考]
4 CDBの作成および構成

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました