multitenantarchitecture
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
multitenantarchitecture [2015/07/28 08:37] – created z0hpvk | multitenantarchitecture [2025/03/08 22:24] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Multitenant Architecture ===== | ===== Multitenant Architecture ===== | ||
+ | ==== Advantages ==== | ||
+ | * Database Consolidation | ||
+ | * Reduced Costs | ||
+ | * Rapid Implementation | ||
+ | * Simplified Management | ||
+ | * Separation of Duties | ||
+ | * Simplified Tuning | ||
+ | * Simplified Patching | ||
+ | |||
+ | ==== Creating a CDB ==== | ||
+ | Create spfile setting parameter ENABLE_PLUGGABLE_DATABASES = TRUE\\ | ||
+ | Create instance by specifying STARTUP NOMOUNT\\ | ||
+ | Create database using CREATE DATABASE command, adding new clause ENABLE_PLUGGABLE_DATABASES. \\ | ||
+ | If you are not using OMF you must either ... \\ | ||
+ | Use the SEED FILE_NAME_CONVERT option or set PDB_FILE_NAME_CONVERT in spfile \\ | ||
+ | Connect to root and run scripts to create data dictionary\\ | ||
+ | |||
==== Opening / Closing Pluggable Databases ==== | ==== Opening / Closing Pluggable Databases ==== | ||
< | < | ||
Line 17: | Line 34: | ||
Pluggable database altered.</ | Pluggable database altered.</ | ||
+ | I think it always safer to use the "alter pluggable" | ||
+ | |||
+ | Sometimes you may get an error when opening a pluggable database | ||
+ | < | ||
+ | |||
+ | Warning: PDB altered with errors.</ | ||
+ | |||
+ | The "show pdbs" reveals that pluggable database pdb2 has been opened in restricted mode. | ||
+ | < | ||
+ | |||
+ | CON_ID CON_NAME | ||
+ | ---------- ------------------------------ ---------- ---------- | ||
+ | 2 PDB$SEED | ||
+ | 3 PDB1 READ WRITE NO | ||
+ | 4 PDB2 READ WRITE YES</ | ||
+ | |||
+ | Use the view PDB_PLUG_IN_VIOLATIONS to see what the error is.\\ | ||
+ | The full error message is not always written to the Alert Log. | ||
+ | < | ||
+ | |||
+ | TIME MESSAGE | ||
+ | ------------------------- -------------------------------------------------------------------------------- | ||
+ | 28-JUL-15 08.59.31.507182 Sync PDB failed with ORA-959 during ' | ||
+ | ABLESPACE " | ||
+ | | ||
+ | In the above case I had forgotten to create the tablespace users in database pdb2. | ||
+ | |||
+ | ==== Unplugging a PDB ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | Session altered. | ||
+ | |||
+ | SQL> shutdown immediate; | ||
+ | Pluggable Database closed. | ||
+ | SQL> show pdbs | ||
+ | |||
+ | CON_ID CON_NAME | ||
+ | ---------- ------------------------------ ---------- ---------- | ||
+ | 4 PDB2 MOUNTED | ||
+ | |||
+ | SQL> conn / as sysdba | ||
+ | Connected. | ||
+ | SQL> alter pluggable database pdb2 unplug into '/ | ||
+ | |||
+ | Pluggable database altered. | ||
+ | |||
+ | SQL> select pdb_name, status from dba_pdbs; | ||
+ | |||
+ | PDB_NAME STATUS | ||
+ | --------------- --------- | ||
+ | PDB$SEED NORMAL | ||
+ | PDB1 NORMAL | ||
+ | PDB2 UNPLUGGED | ||
+ | |||
+ | SQL> drop pluggable database pdb2; | ||
+ | |||
+ | Pluggable database dropped.</ | ||
+ | |||
+ | ==== Plugging In an Unplugged PDB ==== | ||
+ | For this example I will simply plug back in the database that was dropped from above.\\ | ||
+ | If I was moving the PDB to a new location on the server I would need to use the ' | ||
+ | < | ||
+ | |||
+ | Pluggable database created.</ | ||
+ | |||
+ | The database is in MOUNTED mode and must be opened after it has been created.\\ | ||
+ | The Service Name was created automatically when the PDB was plugged in. | ||
multitenantarchitecture.1438072633.txt.gz · Last modified: 2025/03/08 22:23 (external edit)