Clone or Unplug operations for PDBs
/database/pdbs/{pdb_name}/
Request
- application/json
 
- 
                    pdb_name: string
                    
                    Name of the Pluggable Database to clone from or unplug.
 
object- 
            clonePDBName(optional): 
            string
            The name of the new clone PDB. Required when method is specified as CLONE.
 - 
            fileNameConversions(optional): 
            string
            Relevant for clone operations. As defined in the Oracle Multitenant Database documentation.
 - 
            getScript(optional): 
            boolean
            If defined, the response will contain a JSON object with the information of the script that was generated for execution. No action is taken when this property is true and only the script text is returned.
 - 
            method: 
            string
            Allowed Values:
[ "CLONE", "UNPLUG" ]This property defines the type of operation. Note that CLONE may change the state of the source PDB and UNPLUG will result in the PDB being dropped. - 
            pdb_name(optional): 
            string
            Source PDB in case of clone or the PDB to be unplugged in case of an unplug operation. This property is optional and the name defined in the URI takes priority.
 - 
            reuseTempFile(optional): 
            boolean
            Relevant for clone operations. True for temporary file reusage.
 - 
            sparseClonePath(optional): 
            string
            A Path specified for sparse clone snapshot copy. (Optional)
 - 
            tdeExport(optional): 
            boolean
            TDE export for unplug operations.
 - 
            tdeKeystorePath(optional): 
            string
            TDE keystore path is required if the tdeExport flag is set to true. Can be used in unplug operations only.
 - 
            tdePassword(optional): 
            string
            TDE password for unplug operations only. This is required when the tdeExport flag is set to true.
 - 
            tdeSecret(optional): 
            string
            TDE secret is required if the tdeExport flag is set to true. Can be used in unplug operations only.
 - 
            tempSize(optional): 
            string
            Relevant for clone operations. Size of the temporary tablespace. See size_clause description in Database SQL Language Reference documentation.
 - 
            totalSize(optional): 
            string
            Relevant for clone operations. Size of the tablespace. See size_clause description in Database SQL Language Reference documentation.
 - 
            unlimitedStorage(optional): 
            boolean
            Relevant for clone operations. True for unlimited storage. Even when set to true, totalSize and tempSize MUST be specified in the request if method is CLONE.
 - 
            xmlFileName(optional): 
            string
            Relevant for Unplug operations.
 
Response
- application/json
 
200 Response
Examples
The following example shows how to clone a pluggable database or unplug a pluggable database by submitting a POST request on the REST resource using cURL.
curl -i -X POST -u username:password 
-d @request_body.json 
-H "Content-Type:application/json" https://rest_server_url/ords/_/db-api/stable/database/pdbs/devpdb1/
 Example of Request Body
Note:
https://rest_server_url/resource-path, used in the preceding command has the following components: 
    rest_server_urlis the REST server where Oracle Rest Data Server is running- The remainder of the URL includes the ORDS context root, the version of ORDS Database API to use, the path for this operation and the PDB identifier 
devpdb1. The pdb_name path parameter in this example is devpdb1. The PDB Lifecycle Management service requires the credentials ofdb.cdb.adminUserto be set in the pool configuration and in this example the default pool is configured for the container database. 
The following is an example request body to create a new pluggable database by cloning the pluggable database specified by the pdb_name parameter in the URL. In this example, fileNameConversions parameter is also provided that results in a FILE_NAME_CONVERT clause included in the CREATE PLUGGABLE DATABASE statement executed in the container database. 
{
  "method": "CLONE",
  "clonePDBName": "pdb_new",
  "fileNameConversions": "('/disk1/oracle/dbs/devpdb1/','/disk1/oracle/dbs/pdb_new/')",
  "unlimitedStorage": true,
  "reuseTempFile": true,
  "totalSize": "UNLIMITED",
  "tempSize": "UNLIMITED"
}
 The following is an example request body to unplug the database specified by the pdb_name parameter in the URL. The pluggable database devpdb1, is disassociated from the container database and so will not be usable. An XML file, sales_pdb.xml in this example is generated with metadata about the pluggable database after it is unplugged. This metadata contains the required information to enable a CREATE PLUGGABLE DATABASE statement on a target container database to plug in the pluggable database. 
{
  "method": "UNPLUG",
  "xmlFileName": "/disk1/oracle/dbs/sales_pdb.xml"
} 
 Example of Response Header
The following example shows the response header:
HTTP/1.1 200 OK
Date: Thu, 05 Sep 2019 12:21:01 PDT
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
 Example of Response Body
The following example shows the response body with 200 returned in JSON format:
{
  "env":{"defaultTimeZone":"PST8PDT"},
  "items":[
    {
      "statementId":1,
      "response":["\nPL\/SQL procedure successfully completed.\n\n"],
      "result":0
    }
  ]
}