The configuration of creating a multi-tenant container database (CDB) is similar to the procedure for creating a non-CDB, however you need to have a knowledge of the architecture and concepts before leaving to create the CDB.
When should I use the CDB Creation method.
1) When using Oracle Universal Installer (OUI) to install software only, and did not create a CDB;
2) You want to create another CDB on the same host.
There are two specific methods that can be done to create a CBD:
Using the traditional Database Configuration Assistant (DBCA) which is a graphical interface tool, very easy and intuitive. See the topic below 'Creating Container Database (CDB) using DBCA'
If you can't use the graphical interface, you can create it manually with CREATE DATABASE through line of code, SQL statements.
Here I will show the two forms starting with the CREATE DATABASE manual method.
Creating a CDB manually using CREATE DATABASE.
Note the following prerequisites:
These instructions will be applied to a single instance database;
Using ASM to manage storage, group disks must be initialized before performing CDB creation.
Run the show parameter ENABLE_PLUGGABLE_DATABASE command and make sure it is TRUE enabled. if not, set the init.ora parameter enable_pluggable_database = true.
Run the catcdb.sql SQL script:
Enter the following in SQL*Plus (sqlplus / as sysdba) to run the script
Now we are going to use the script for the log file directory, insert /tmp and also create_cdb.log when prompted for the values as below:
SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2 Enter value for 1: /tmp Enter value for 2: create_cdb.log
The script will ask for administrator passwords and the name of the temporary tablespace:
Enter new password for SYS: ******** Enter new password for SYSTEM: ******** Enter temporary tablespace name: TEMP
The controlfile initialization parameters assume the following specific locations:
-> Directory '+DG_DATA/NEW_CDB/DATAFILE/' to Datafiles;
-> Directory '+DG_DATA/NEW_CDB/DATAFILE/pdbseed/ ' to PDBSEED;
-> Directory '+DG_DATA/MY_DIRECTORY_01/' to Redo;
-> Directory '+DG_DATA/MY_DIRECTORY_02/' to Redo;
CREATE DATABASE NEW_CDB USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('+DG_DATA/MY_DIRECTORY_01/redo01a.log','+DG_DATA/MY_DIRECTORY_02/redo01b.log') SIZE 100M BLOCKSIZE 512, GROUP 2 ('+DG_DATA/MY_DIRECTORY_01/redo02a.log','+DG_DATA/MY_DIRECTORY_02/redo02b.log') SIZE 100M BLOCKSIZE 512, GROUP 3 ('+DG_DATA/MY_DIRECTORY_01/redo03a.log','+DG_DATA/MY_DIRECTORY_02/redo03b.log') SIZE 100M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '+DG_DATA/NEW_CDB/DATAFILE/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SYSAUX DATAFILE '+DG_DATA/NEW_CDB/DATAFILE/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TABLESPACE deftbs DATAFILE '+DG_DATA/NEW_CDB/DATAFILE/deftbs01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE '+DG_DATA/NEW_CDB/DATAFILE/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE undotbs1 DATAFILE '+DG_DATA/NEW_CDB/DATAFILE/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT = ('+DG_DATA/NEW_CDB/DATAFILE/ ', '+DG_DATA/NEW_CDB/DATAFILE/pdbseed/') SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED SYSAUX DATAFILES SIZE 100M USER_DATA TABLESPACE usertbs DATAFILE '+DG_DATA/NEW_CDB/DATAFILE/pdbseed/usertbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED LOCAL UNDO ON;
Manual CDB creation procedure was successfully performed.
Creating Container Database (CDB) using DBCA
Using DBCA has more technical advantages and alternatives besides being an Oracle recommendation.
Graphic module for automated creation;
You can define the number of PDBs in a CDB when it is created;
When you finish creating the CDB using the DBCA wizard, you are ready to use.
Once the CDB is created you can still use the DBCA to clone local PDBs, connect and disconnect PDBs, duplicate a CDB using the silent module.
I called the CDB "ORADES" and the PDB 'ORADES_PDB01'
Use the DBCA command:
We started with operations with DBCA, selecting the option "Create a database". "Next" button.
Let's go to each item as follows:
1) Leave the Typical Configuration checked;
2) Enter the Global Name of your DATABASE;
3) Select the Storage Type ("Automatic Storage Management ASM). ASM will bring up File Location: automatically;
4) Keep the Character Set:
5) Enter the Password;
Attention this step to Create a Multitenant Database:
1) Check Create As Container Database
2) Enter the name of your PDB
A summary of the configurations that will be performed by DBCA will be shown.
Wait to finish it may happen that progress will take a while.
Your Pluggable Database (PDB) in a Multitenant Environment has already been successfully created. "Close" button.
Access sqlplus to check if your database is Startup with the commands:
sqlplus / as sysdba show pdbs;