{"id":73169,"date":"2015-04-07T12:19:42","date_gmt":"2015-04-07T12:19:42","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/uncategorized\/oracle-multitenant-super-fast-provisioning-of-standby-databases\/"},"modified":"2021-07-14T13:07:25","modified_gmt":"2021-07-14T13:07:25","slug":"oracle-multitenant-super-fast-provisioning-of-standby-databases","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/databases\/oracle-databases\/oracle-multitenant-super-fast-provisioning-of-standby-databases\/","title":{"rendered":"Oracle Multitenant : Super-fast Provisioning of Standby Databases"},"content":{"rendered":"<p>In this article, I will demonstrate how to quickly create a standby database for a non-multitenant container database (NCDB) by plugging it as a pluggable database (PDB) into primary CDB (BOSTON). This method tremendously simplifies and speeds up the procedure to create a standby database without the need to set various initialization parameters or take backup or configure tnsnames.ora entries etc.<\/p>\n<p>Oracle Database 12c introduces Multitenant Architecture; in this new architecture, a multitenant container database (CDB) can hold many pluggable databases (PDBs), which are standardized and self-contained databases. An administrator looks after the multitenant container database, while application code connects to one pluggable database as in conventional Pre-12c Oracle Database. This architecture makes it easy to rapidly provision and clone PDBs for various purposes. You can clone a pluggable database within the same CDB or to another CDB. The PDBs can also be rapidly moved across the containers by unplugging from one container and plugging into another container. This gives the flexibility of creating new patched or upgraded containers and selectively unplugging PDB from older container and plugging into a new patched or upgraded container. Moreover, DBAs can leverage the new multitenant functionality for existing conventional databases (non-CDBs) by plugging them as PDBs into CDBs without any changes to any associated applications. In addition, Oracle Multitenant is fully compatible with other Oracle Database options, including Oracle Real Application Clusters and Active Data Guard.<\/p>\n<p>Data Guard manages one or more synchronized copies of a primary database by sending and applying redo logs from primary to standby(s). Since redo logs are managed for the CDB as a whole, in a data guard configuration for a CDB, redo logs applied at the container level will protect each PDB in it from outages. Moreover, the role (primary \/ standby) is associated with the entire CDB and not with individual pluggable databases (PDBs).Hence, if a non-CDB is plugged-in as a PDB into a CDB in primary role, redo application on its standby CDB(s) will cause a corresponding standby PDB to be created and synchronized. This in turn simply means\u00a0 that in order to quickly create a standby database for an existing database (non-CDB), all you need to do is\u00a0 plug-in the non-CDB as a PDB into a CDB which already has a standby configured for it.<\/p>\n<p>Here\u2019s how it\u2019s done:<\/p>\n<h2>Current scenario:<\/h2>\n<p>Non-CDB to be plugged in \u00a0 : ncdb<br \/>\nTarget CDB\u00a0(primary)\u00a0 \u00a0 \u00a0  : boston<br \/>\nHost for primary\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0: host01<br \/>\nTarget PDB\u00a0\u00a0(standby) \u00a0 \u00a0 \u00a0: london<br \/>\nHost for standby\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : host03<\/p>\n<h2>Overview of the steps:<\/h2>\n<ol>\n<li>View current dataguard configuration for CDB<\/li>\n<li>Connect to non-CDB (ncdb) and use DBMS_PDB.DESCRIBE to create an XML file\u00a0describing the database<\/li>\n<li>Shut down non-CDB (ncdb)<\/li>\n<li>Check that non-CDB(ncdb) can be plugged into Primary CDB(boston)<\/li>\n<li>Create required directories to hold datafiles for the new PDB (ncdb) on primary and standby hosts (host01 and host03)<\/li>\n<li>Copy datafiles for the new PDB (ncdb) to standby host (host03)<\/li>\n<li>Plug-in Non-CDB (ncdb) as PDB into primary CDB(boston)<\/li>\n<li>Open newly created PDB (ncdb) on standby CDB (London) &#8211; opens in read only mode<\/li>\n<\/ol>\n<h2>Implementation:<\/h2>\n<h3>1. View current dataguard configuration for multitenant container database<\/h3>\n<pre>DGMGRL&gt; show configuration;\r\nConfiguration - drsolution\r\n   Protection Mode: MaxPerformance\r\n   Databases:\r\n   boston\u00a0\u00a0 - Primary database\r\n      bostonfs - Far Sync\r\n         london\u00a0\u00a0 - Physical standby database\r\n      london2\u00a0 - Logical standby database (disabled)\r\n      londonfs - Far Sync (inactive)\r\n\r\nFast-Start Failover: DISABLED\r\n\r\nConfiguration Status:\r\nSUCCESS<\/pre>\n<h3>2. Connect to non-multitenant container database and use DBMS_PDB.DESCRIBE to create an XML file\u00a0describing the database.<\/h3>\n<pre>NCDB&gt;sho parameter db_name\r\n\r\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TYPE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0string\u00a0\u00a0\u00a0\u00a0\u00a0 ncdb<\/pre>\n<p><B>Check that it is a non CDB<\/B><\/p>\n<pre>NCDB&gt;select name, cdb from v$database;\r\n\r\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0 CDB\r\n--------- ---\r\nNCDB\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color:red;\">NO<\/span>\r\n\r\nNCDB&gt;select instance_name from v$instance;\r\n\r\nINSTANCE_NAME\r\n----------------\r\nncdb<\/pre>\n<p><b>Find out names of datafiles for NCDB (needed later for FILE_NAME_CONVERT)<\/b><\/p>\n<pre>NCDB&gt;select name from v$datafile;\r\n\r\nNAME\r\n----------------------------------------------------------------\r\n\/u01\/app\/oracle\/oradata\/ncdb\/system01.dbf\r\n\/u01\/app\/oracle\/oradata\/ncdb\/sysaux01.dbf\r\n\/u01\/app\/oracle\/oradata\/ncdb\/undotbs01.dbf\r\n\/u01\/app\/oracle\/oradata\/ncdb\/users01.dbf<\/pre>\n<p><b>Get the database in a consistent state and then run DBMS_PDB.DESCRIBE to create an XML file to describe the database.<\/b><\/p>\n<pre>NCDB&gt;shutdown immediate;\r\nstartup mount;\r\nalter database open read only;\r\n\r\nNCDB&gt;exec dbms_pdb.describe (PDB_DESCR_FILE=&gt;'\/u01\/app\/oracle\/oradata\/ncdb\/ncdb.xml');\r\n\r\nPL\/SQL procedure successfully completed.\r\n\r\nNCDB&gt;ho ls -l \/u01\/app\/oracle\/oradata\/ncdb\/ncdb.xml\r\n-rw-r--r-- 1 oracle oinstall 3918 Feb 16 15:15 \r\n\/u01\/app\/oracle\/oradata\/ncdb\/ncdb.xml<\/pre>\n<h3>3. Shut down non-CDB (ncdb)<\/h3>\n<pre>NCDB&gt;shutdown immediate;\r\nExit<\/pre>\n<h3>4. Check that non-cdb (ncdb) can be plugged into Primary CDB (boston)<\/h3>\n<pre>BOSTON&gt;conn sys\/oracle@boston as sysdba\r\nBOSTON&gt;col name for a30\r\nBOSTON&gt;select name, CDB from v$database;\r\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CDB\r\n------------------------------ ---\r\nBOSTON\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color:red;\">YES<\/span>\r\n\r\nBOSTON&gt;SET SERVEROUTPUT ON\r\nDECLARE\r\ncompatible CONSTANT VARCHAR2(3) :=\r\nCASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(\r\npdb_descr_file =&gt; '\/u01\/app\/oracle\/oradata\/ncdb\/ncdb.xml',\r\npdb_name =&gt; 'NCDB')\r\nWHEN TRUE THEN 'YES'\r\nELSE 'NO'\r\nEND;\r\nBEGIN\r\nDBMS_OUTPUT.PUT_LINE(compatible);\r\nEND;\r\n\/\r\n\r\n<span style=\"color:red;\">NO<\/span>\r\n\r\nBOSTON&gt;col cause for a10\r\ncol name for a10\r\ncol message for a35 word_wrapped\r\nselect name,cause,type,message,status\r\n   from PDB_PLUG_IN_VIOLATIONS where name='NCDB';\r\n\r\nNAME\u00a0\u00a0\u00a0\u00a0 CAUSE\u00a0\u00a0\u00a0\u00a0\u00a0     TYPE\u00a0\u00a0\u00a0\u00a0\u00a0 MESSAGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0                              STATUS\r\n-------- ----------     --------- -----------------------------------                              ---------\r\nNCDB\u00a0\u00a0\u00a0\u00a0 Non-CDB to PDB <span style=\"color:red;\">WARNING<\/span>   PDB plugged in is a non-CDB, requires noncdb_to_pdb.sql be run.\u00a0<span style=\"color:red;\">PENDING<\/span>\r\n<\/pre>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/p>\n<p>Since we will run the script noncdb_to_pdb.sql later, we can continue.<\/p>\n<h3>5. Create required directories to hold datafiles for new PDB (ncdb) on primary and standby hosts (host01 and host03)<\/h3>\n<pre>[oracle@host01 ~]$ mkdir -p \/u01\/app\/oracle\/oradata\/boston\/ncdb\r\n[oracle@host03 ~]$ mkdir -p \/u01\/app\/oracle\/oradata\/london\/ncdb<\/pre>\n<h3>6.Copy datafiles for new PDB (ncdb) to standby host (host03)<\/h3>\n<p>Since we will create a PDB from an XML file, copy the data files specified in the XML file to the standby database before plugging in the PDB at the primary database. Ensure that the files are copied to an appropriate location where they can be found by managed standby recovery.<\/p>\n<pre>[oracle@host01 ~]$ scp \/u01\/app\/oracle\/oradata\/ncdb\/system01.dbf host03:\/u01\/app\/oracle\/oradata\/london\/ncdb\/system01.dbf\r\n\r\n[oracle@host01 ~]$ scp \/u01\/app\/oracle\/oradata\/ncdb\/sysaux01.dbf host03:\/u01\/app\/oracle\/oradata\/london\/ncdb\/sysaux01.dbf\r\n\r\n[oracle@host01 ~]$ scp \/u01\/app\/oracle\/oradata\/ncdb\/undotbs01.dbf host03:\/u01\/app\/oracle\/oradata\/london\/ncdb\/undotbs01.dbf\r\n\r\n[oracle@host01 ~]$ \u00a0scp \/u01\/app\/oracle\/oradata\/ncdb\/users01.dbf host03:\/u01\/app\/oracle\/oradata\/london\/ncdb\/users01.dbf<\/pre>\n<h3>7. Plug-in Non-CDB (ncdb) as PDB(ncdb) into primary CDB(boston)<\/h3>\n<pre>BOSTON&gt;CREATE PLUGGABLE DATABASE <b>ncdb<\/b> USING \r\n'\/u01\/app\/oracle\/oradata\/ncdb\/ncdb.xml'\r\nCOPY\r\nfile_name_convert=('\/u01\/app\/oracle\/oradata\/ncdb','\/u01\/app\/oracle\/oradata\/boston\/ncdb');<\/pre>\n<p><b>Check that newly plugged-in PDB (NCDB) is in mounted state on primary<\/b><\/p>\n<pre>BOSTON&gt;sho pdbs\r\n\r\nCON_ID     CON_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 OPEN MODE\u00a0 RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ ONLY \u00a0NO\r\n         3 DEV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MOUNTED\r\n         4 <span style=\"color:red;\">NCDB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MOUNTED<\/span><\/pre>\n<p><b>Open the newly created PDB (NCDB). <\/b><\/p>\n<pre>BOSTON&gt;alter pluggable database ncdb open;\r\n\r\n<span style=\"color:red;\">Warning: PDB altered with errors.<\/span><\/pre>\n<p>This warning message is appearing as we have not run the script noncdb_to_pdb.sql yet. You can ignore this message as of now.<\/p>\n<p><b>Check that status of newly created PDB NCDB is NEW<\/b><\/p>\n<pre>BOSTON&gt;col pdb_name for a15\r\n               select pdb_name, status from dba_pdbs where pdb_name = 'NCDB';\r\nPDB_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STATUS\r\n--------------- -------------\r\nNCDB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0      <span style=\"color:red;\">NEW<\/span><\/pre>\n<p><b>Access the newly created PDB ncdb and run the script noncdb_to_pdb.sql.<\/b><\/p>\n<pre>BOSTON&gt;alter session set container=ncdb;\r\n\r\nsho con_name\r\n\r\nCON_NAME\r\n------------------------------\r\nNCDB\r\n\r\nBOSTON&gt;@?\/rdbms\/admin\/noncdb_to_pdb.sql<\/pre>\n<p>The script will take some time and has lengthy output. But at the end it will leave your database in stage where it was when script was run. In our case PDB NCDB was open.<\/p>\n<pre>BOSTON&gt;sho pdbs\r\n\r\nCON_ID     CON_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 OPEN MODE\u00a0   RESTRICTED\r\n---------- --------------------------- ----------   ----------\r\n         2 PDB$SEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ ONLY\u00a0   NO\r\n         3 DEV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ WRITE   NO\r\n         4 <span style=\"color:red;\">NCDB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ WRITE<\/span>  NO<\/pre>\n<p><b>Verify that warnings for running the script noncdb_to_pdb.sql has been resolved.<\/b><\/p>\n<pre>BOSTON&gt;col cause for a10\r\ncol name for a10\r\ncol message for a35 word_wrapped\r\nselect name,cause,type,message,status\r\nfrom PDB_PLUG_IN_VIOLATIONS where name='NCDB';\r\n\r\nNAME\u00a0\u00a0\u00a0    CAUSE\u00a0\u00a0\u00a0\u00a0\u00a0      TYPE\u00a0\u00a0\u00a0\u00a0\u00a0 MESSAGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0                                \u00a0\u00a0\u00a0STATUS\r\n-------    ----------      --------  -----------------------------------                                ---------\r\nNCDB\u00a0\u00a0\u00a0    Non-CDB to PDB  ERROR\u00a0\u00a0\u00a0\u00a0 PDB plugged in is a non-CDB, requires noncdb_to_pdb.sql be run.\u00a0\u00a0\u00a0\u00a0<span style=\"color:red;\">RESOLVED<\/span><\/pre>\n<p><b>Check that the status of NCDB changes to NORMAL now.<\/b><\/p>\n<pre>BOSTON&gt;col pdb_name for a30\r\nBOSTON&gt;select pdb_name, status from dba_pdbs;\r\n\r\nPDB_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STATUS\r\n------------------------------ -------------\r\nDEV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NORMAL\r\nPDB$SEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NORMAL\r\nNCDB                           <span style=\"color:red;\">NORMAL<\/span><\/pre>\n<h3>8. Open newly created PDB (ncdb) on standby CDB (London) &#8211; opens in read only mode<\/h3>\n<pre>LONDON&gt;sho pdbs\r\n\r\nCON_ID     CON_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 OPEN MODE\u00a0 RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0READ ONLY\u00a0 NO\r\n         3 DEV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ ONLY\u00a0 NO\r\n         4 NCDB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0    MOUNTED\r\n\r\nLONDON&gt;alter pluggable database ncdb open;\r\n\r\n   sho pdbs\r\n   \r\n   CON_ID  CON_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 OPEN MODE\u00a0 RESTRICTED\r\n---------- ------------------------------ ---------- ----------\r\n         2 PDB$SEED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ ONLY\u00a0 NO\r\n         3 DEV1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 READ ONLY\u00a0 NO\r\n         4 NCDB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0   \u00a0\u00a0\u00a0\u00a0 READ ONLY\u00a0 NO<\/pre>\n<h2>Conclusion:<\/h2>\n<p>Multitenant architecture introduced in Oracle database 12c can be employed to quickly provision standby database for conventional database (Non-CDB) by plugging it as PDB into a CDB which has a standby CDB configured for it.<\/p>\n<p><b>Reference:<\/b><\/p>\n<p><a href=\"https:\/\/docs.oracle.com\/database\/121\/SBYDB\/create_ps.htm#SBYDB5260\">https:\/\/docs.oracle.com\/database\/121\/SBYDB\/create_ps.htm#SBYDB5260<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, I will demonstrate how to quickly create a standby database for a non-multitenant container database (NCDB) by plugging it as a pluggable database (PDB) into primary CDB (BOSTON). This method tremendously simplifies and speeds up the procedure to create a standby database without the need to set various initialization parameters or take backup or configure tnsnames.ora entries&hellip;<\/p>\n","protected":false},"author":316217,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[143533],"tags":[48373,48381,48445,48446,48447,48471,48476],"coauthors":[],"class_list":["post-73169","post","type-post","status-publish","format-standard","hentry","category-oracle-databases","tag-cdb","tag-container-databases","tag-multitenant","tag-multitenant-architecture","tag-ncdb","tag-pdb","tag-pluggable-databases"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/73169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/316217"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=73169"}],"version-history":[{"count":1,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/73169\/revisions"}],"predecessor-version":[{"id":91660,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/73169\/revisions\/91660"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=73169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=73169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=73169"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=73169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}