multitenantarchitecture
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
multitenantarchitecture [2015/07/28 08:45] – 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 35: | Line 52: | ||
Use the view PDB_PLUG_IN_VIOLATIONS to see what the error is.\\ | 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. | The full error message is not always written to the Alert Log. | ||
- | < | + | < |
TIME MESSAGE | TIME MESSAGE | ||
Line 44: | Line 61: | ||
In the above case I had forgotten to create the tablespace users in database pdb2. | 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.1438073139.txt.gz · Last modified: 2025/03/08 22:23 (external edit)