Quick Reference Guide to Oracle Multitenant commands
|
Multitenant
|
The Oracle Architecture that consists of a CDB, and one or more PDBs
|
|
Container Database (CDB)
|
A traditional database instance, but has the ability to support PDBs
|
|
Pluggable Database (PDB)
|
A collection of Tablespaces which supports it's own independant Role and User security, and can be easily moved between CDBs
|
|
Root Database
|
The instance administrative layer that sets above PDBs. Users and Roles here must be preceded by c##
|
|
Seed Database
|
A PDB that remains offline to be used as a template for creating new blank PDBs
|
|
Connect to Contaner or PDB
|
||
CONN <user>/<pwd>@//<host>:<listener port>/<service> {as sysdba}; |
||
CONN <user>/<pwd>@//<tns_entry> {as sysdba}; |
||
|
Display Current Container or PDB
|
||
SHOW CON_NAME; |
SELECT SYS_CONTEXT('USERENV','CON_NAME') |
|
SHOW CON_ID; |
FROM DUAL; |
|
|
List Containers and PDBs on Instance
|
||
SELECT PDB_NAME, Status |
SELECT Name, Open_Mode |
SELECT Name,PDB |
FROM DBA_PDBS |
FROM V$PDBS |
FROM V$SERVICES |
ORDER BY PDB_Name; |
ORDER BY Name; |
ORDER BY Name; |
|
Change Container or PDB
|
||
ALTER SESSION SET container=<name>; |
ALTER SESSION SET container=cdb$root; |
|
ALTER SESSION SET PDB_FILE_NAME_CONVERT='</seed path/>','</target path/>';CREATE PLUGGABLE DATABASE <New PDB Name> ADMIN USER <Username> IDENTIFIED BY <Password> FROM <Source PDB[@dblink]>ALTER PLUGGABLE DATABASE <target pdb> OPEN;ALTER PLUGGABLE DATABASE <name>OPEN READ WRITE{RESTRICTED}{FORCE};ALTER PLUGGABLE DATABASE <name> OPEN READ ONLY {RESTRICTED}{FORCE};ALTER PLUGGABLE DATABASE <name> OPEN UPGRADE {RESTRICTED};ALTER PLUGGABLE DATABASE <name> CLOSE {IMMEDIATE};ALTER PLUGGABLE DATABASE <name> SAVE STATE;c##GRANT <privelege/role> TO <user> CONTAINER=<PDB name or ALL>; BACKUP DATABASE ROOT BACKUP PLUGGABLE DATABASE <pdb1,pdb2,pdb3>RUN {ALTER PLUGGABLE DATABASE <pdb> CLOSE; SET UNTIL TIME "<timeset value>"; RESTORE PLUGGABLE DATABASE <pdb>; RECOVER PLUGGABLE DATABASE <pdb>; ALTER PLUGGABLE DATABASE <pdb>OPEN; }ALTER PLUGGABLE DATABASE <pdb_name> CLOSE;ALTER PLUGGABLE DATABASE <pdb_name> UNPLUG INTO '</path/><name>.xml';DROP PLUGGABLE DATABASE <pdb_name> KEEP DATAFILES;SET SERVEROUTPUT ONDECLARE l_result BOOLEAN;BEGIN l_result := DBMS_PDB.CHECK_PLUG_COMPATIBILITY( PDB_DESCR_FILE => '</path/><name>.xml', PDB_NAME => '<name>'); IF l_result THEN DBMS_OUTPUT.PUT_LINE('Compatible, OK to Proceed'); ELSE DBMS_OUTPUT.PUT_LINE('Incompatible, See PDB_PLUG_IN_VIOLATIONS for details'); END IF;END;CREATE PLUGGABLE DATABASE <new_pdb_name> USING '</path/><name>.xml' FILE_NAME_CONVERT=('</source path/>','</dest path/>');ALTER PLUGGABLE DATABASE <new_pdb_name> OPEN;CREATE PLUGGABLE DATABASE <proxy pdb name> AS PROXY FROM <target pdb>@<dblink>;CREATE PLUGGABLE DATABASE <new_pdb> FROM NON$CDB@<dblink> FILE_NAME_CONVERT=('</source datafile path/>,'</target datafile path/>');@ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sqlALTER PLUGGABLE DATABASE <target pdb> OPEN;CREATE PLUGGABLE DATABASE <new pdb> FROM <old pdb>@<dblink> RELOCATE;ALTER PLUGGABLE DATABASE <new pdb> OPEN;ALTER PLUGGABLE DATABASE <name> CLOSE;DROP PLUGGABLE DATABASE <name> INCLUDING DATAFILES;ALTER PLUGGABLE DATABASE <pdb_name> UNPLUG INTO '</path/><filename>.pdb';CREATE PLUGGABLE DATABASE <new pdb name> USING '</path/><filename>.pdb';No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.