この記事では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
以上で基本的な設定については完了になります。