同一サーバーに複数のOracle環境を構成する3つの方法

オラクルデータベースのインストール/作成

~複数DB・複数ORACLE_HOME・CDB+PDB構成の違いと選び方~

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

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


■ はじめに

開発・検証・運用など、複数の独立したOracle環境を1台のサーバー上で使いたい場面は多々あります。Oracleでは、以下のように複数環境を作成できます:

  • 複数データベース(複数SID)を同一ORACLE_HOMEで構成
  • 複数のORACLE_HOMEに分けて独立構成
  • CDB(コンテナ・データベース)に複数PDB(プラガブル・データベース)を格納する構成

本記事では、それぞれの構成方法の比較と、GUI(dbca)での作成手順、PDBへの接続方法を解説します。


■ 3つの構成方法と違い

構成内容特徴
同一ORACLE_HOMEに複数DB同一ソフトで複数DB(SID)を作成シンプル・省スペース
複数ORACLE_HOMEに個別DBDBごとにソフトを分離障害・パッチの影響を最小化
CDB+複数PDB1つのCDBに複数のPDBを格納軽量・高速・柔軟性高い(Oracle推奨)

■ パターン①:同一ORACLE_HOMEに複数のDBを作成(SID別)

● 構成イメージ

/u01/app/oracle/product/19.0.0/dbhome_1
├── orcl1(SID:orcl1)
└── orcl2(SID:orcl2)

● GUI手順(dbca)

$ dbca
  • 「データベースの作成」→「新規データベース」→「SID名: orcl1」など指定
  • 繰り返してorcl2等を作成

■ パターン②:別ORACLE_HOMEに分離して構成

● 構成イメージ

/u01/app/oracle/product/19.0.0/dbhome_1 → orcl1
/u01/app/oracle/product/19.0.0/dbhome_2 → orcl2

● 手順

  1. Oracleソフトを再インストール(パスを変えて)
  2. ORACLE_HOMEを切り替えてdbcaを起動
$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_2
$ export PATH=$ORACLE_HOME/bin:$PATH
$ dbca

■ パターン③:CDB+複数PDBで構成(おすすめ)

● 構成イメージ(テキスト図)

CDB名:cdb1(SID:cdb1)
├── PDB1(開発用)
├── PDB2(検証用)
└── PDB3(本番用)

● 特徴

  • 軽量・高速にPDBを作成/削除可能
  • リソース共有による効率化
  • Oracle 21c以降は非CDBが非推奨となっており、将来性あり

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

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

● GUI手順(dbca)

$ dbca
  • 「データベースの作成」→「コンテナ・データベース(CDB)として作成」
  • 「作成するPDB数」を指定(例:1個)
  • 後から追加PDBを作成する場合は
    dbca → 「プラガブル・データベースの作成」を選択

■ PDBへの簡単な接続方法

● ローカル接続

$ export ORACLE_SID=cdb1
$ sqlplus sys/oracle@pdb1 as sysdba

※静的リスナーで構成していない場合、tnsnames.oraにPDB名を記載:

PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = pdb1)
)
)

● コンテナ変更コマンド(sqlplus上)

-- CDBに接続した状態で
ALTER SESSION SET CONTAINER = pdb1;

■ 環境変数設定(ローカル接続用)

複数DBやCDB+PDBを切り替えて使用するには、次のようにORACLE_SIDORACLE_HOMEを変更します。

# DB1を使う場合
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl1
export PATH=$ORACLE_HOME/bin:$PATH

# CDBを使う場合
export ORACLE_SID=cdb1

■ メリット・デメリット比較

構成メリットデメリット
同一ORACLE_HOMEに複数DBシンプル、省メモリ、容易な構築パッチ・障害が他DBに波及
複数ORACLE_HOME高い独立性、異なるバージョン共存ディスク容量増、運用負荷増
CDB+PDB構成軽量・高速・柔軟・今後の主流学習コストあり、初期設計重要

■ まとめ

環境構築目的推奨構成
簡単に複数環境を持ちたいCDB+PDB(Oracle推奨構成)
各環境の完全な分離が必要複数ORACLE_HOME+個別DB
小規模検証/学習用途同一ORACLE_HOME+複数DB

■ 補足:GUIを使って複数PDBを追加する手順

  1. dbca → 「プラガブル・データベースの作成」
  2. CDBを選択し、新しいPDB名(例:pdb_dev, pdb_test)を指定
  3. 必要に応じてPDBユーザーを作成して完了

CDB+PDB構成は、これからのOracle運用において標準となるアプローチです。1台のサーバーで複数の用途に分けて運用したい場合は、ぜひPDBの活用を検討してみてください。

[参考]
Oracle Database 19c 単一インスタンス・データベース インストレーション・ガイド

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

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

コメント

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