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: (external edit)
