Multitennant Architecture 19c
Multitennant Architecture 19c
Doyensys
DOYENSYS
Program Agenda
Manual Creation
Creating CDB using CREATE DATABASE
SQL> @?/rdbms/admin/catcdb.sql
Create and Configure a (CDB) & (PDB) Databases
SQL> @?/rdbms/admin/catcdb.sql*
Create and Configure a (CDB) & (PDB) Databases
Þ USER_*
−Dictionary views showing data owned by a user
STARTUP FORCE;
STARTUP OPEN READ WRITE [RESTRICT];
STARTUP OPEN READ ONLY [RESTRICT];
STARTUP UPGRADE;
SHUTDOWN [IMMEDIATE];
Startup and Shutdown (CDB) & (PDB)
ALTER PLUGGABLE DATABASE
CONN / AS SYSDBA
CONN / AS SYSDBA
CONN / AS SYSDBA
-- Create the common role.
CONN / AS SYSDBA
-- Switch container.
CONN / AS SYSDBA
Alternative Method
CONN / AS SYSDBA
ALTER SESSION SET
PDB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/cdb1/pdbseed/','/u01/app/
oracle/oradata/cdb1/pdb3/';
$ rman target=/
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
$ rman target=/
RMAN> BACKUP DATABASE ROOT;
$ rman target=/
RMAN> BACKUP PLUGGABLE DATABASE pdb1, pdb2;
Multitenant : Backup and Recovery (CDB) & (PDB)
Þ $ rman target=sys@pdb1
RMAN> BACKUP TABLESPACE system, sysaux, users;
Þ $ rman target=sys@pdb1
RMAN> BACKUP DATAFILE 8, 9, 10;
Complete Recovery
Container Database (CDB) Complete Recovery
Þ $ rman target=/
RUN
{
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
}
Multitenant : Backup and Recovery (CDB) & (PDB)
$ rman target=/
RUN
{
ALTER PLUGGABLE DATABASE pdb1, pdb2 CLOSE;
RESTORE PLUGGABLE DATABASE pdb1, pdb2;
RECOVER PLUGGABLE DATABASE pdb1, pdb2;
ALTER PLUGGABLE DATABASE pdb1, pdb2 OPEN;
}
Using DBMS_PDB
Step : 1
Cleanly shutdown the non-CDB and start it in read-only mode.
• export ORACLE_SID=db12c
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP OPEN READ ONLY;
Step :2
BEGIN
DBMS_PDB.DESCRIBE( pdb_descr_file => '/tmp/db12c.xml');
END;
/
Step:3
Shutdown the non-CDB database.
export ORACLE_SID=db12c
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
Multitenant : Migrate a (Non-CDB) to a (PDB)
Using DBMS_PDB
Step:4
export ORACLE_SID=cdb1
sqlplus / as sysdba
CREATE PLUGGABLE DATABASE pdb6 USING '/tmp/db12c.xml' COPY FILE_NAME_CONVERT
= ('/u01/app/oracle/oradata/db12c/', '/u01/app/oracle/oradata
/cdb1/pdb6/');
Step:5
ALTER SESSION SET CONTAINER=pdb6;
@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
Step:6
ALTER SESSION SET CONTAINER=pdb6;
ALTER PLUGGABLE DATABASE OPEN;