Create DatabaseでCDBを作成する方法

この記事ではCreate Databaseを作成する方法について解説します。

 DBを作成する方法

DBを作成する方法はDBCAを使用する方法と、Create Databaseコマンドを使用して作成する方法があります。

DBCAを使用する方が自動で設定を行ってくれる項目が多いため、DBCAを使用する方が便利ですが、コマンドを使用する場合はスクリプトにして実行できるメリットもあります。

今回はCreate Databaseコマンドを使用してCDBを作成する方法を紹介します。


 手順

①環境変数を設定する

OracleをインストールしたサーバへOracleユーザでログインします。

新規に作成するDBのSIDを環境変数に設定します。

[oracle@XXXXX]$ export ORACLE_SID=CDBTEST

②初期化パラメータファイルを作成する

初期化パラメータファイルのサンプルが$ORACLE_HOME/dbsにあるので、それを利用して初期化パラメータファイルを作成します。

サンプルファイルの「<ORACLE_BASE>」を実際のORACLE_BASEのパスに置き換えます。

db_name、dispatcherの名前を作成するDB名に応じて変更します。

compatibleの値を作成するバージョンに変更します。

control_filesのパスを変更します。

サンプルファイルに下記のパラメータを追記します。

DB_CREATEFILE_DEST='/u01/app/oracle/oradata'
ENABLE_PLUGGABLE_DATABASE=true

作成したファイルが以下になります。

db_name='CDBTEST'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/CDBTEST/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=CDBTESTXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (/u01/app/oracle/oradata/ora_control1, /u01/app/oracle/fast_recovery_area/ora_control2)
compatible ='19.0.0'
DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'
ENABLE_PLUGGABLE_DATABASE=true


③ディレクトリの作成

audit_file_destパラメータでしていたディレクトリを作成します。

[oracle@XXXXXX]$ mkdir -p /u01/app/oracle/admin/CDBTEST/adump


④インスタンス起動

インスタンスをNOMUONTモードで起動します。

[oracle@XXXXXX]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 水 4月 3 07:22:33 2024
Version 19.3.0.0.0

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

アイドル・インスタンスに接続しました。

SQL> startup nomount
ORACLEインスタンスが起動しました。

Total System Global Area 1073738192 bytes
Fixed Size		    9142736 bytes
Variable Size		  616562688 bytes
Database Buffers	  440401920 bytes
Redo Buffers		    7630848 bytes


⑤CREATE DATABASE文の実行

CREATE DATABASE文を実行します。

SQL>CREATE DATABASE CDBTEST  
USER SYS IDENTIFIED BY password 
USER SYSTEM IDENTIFIED BY password
EXTENT MANAGEMENT LOCAL 
DEFAULT TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users
UNDO TABLESPACE undotbs1
ENABLE PLUGGABLE DATABASE;

データベースが作成されました。


⑥データディクショナリの作成

データディクショナリを作成するSQLを実行します。

DBCAを使用した場合は自動で実行されますが、CREATE DATABASEでDBを作成した場合は手動で実行する必要があります。

SQL>@$ORACLE_HOME/rdbms/admin/catalog.sql
SQL>@$ORACLE_HOME/rdbms/admin/catproc.sql


以上で基本的な設定については完了になります。