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 |
| SID | ORCL |
| 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の作成および構成




コメント