Skip to main content
Skip table of contents

API cookbook: example provision of an Oracle VDB

This API cookbook recipe demonstrates how to provision an Oracle VDB using the Delphix Engine API.

In order to provision an Oracle VDB using the API, you need to provide a set of parameters of type OracleProvisionParameters (having already authenticated as per API Cookbook: Authentication).

There are a number of parameters you will need to know:

  • Group reference - See the list operation in "/api#group" on your Delphix Engine

  • VDB name - The name you want the new VDB to be called

  • Mount path - Where to mount datasets on the target host.

  • DB/unique names - The Oracle DB and unique names, often the same as the VDB name

  • Instance name/number - The Oracle instance name and number to use (dictated by your environment, but often VDB name and 1)

  • Repository reference - See the list operation on "/api#repository" on your Delphix Engine

  • TimeFlow point - See API Cookbook: List Snapshots for more information on finding a TimeFlow point, as well as the reference at "/api#TimeflowPoint Parameters

You will need to use the structure of the OracleProvisionParameters object to fill it out, see "/api/#OracleProvisionParameters" for details on which fields are mandatory/optional.

Here is a minimal example using curl to communicate with the API, provisioning a VDB called "EGVDB" (authentication omitted)

CODE
curl -X POST -k --data @- http://delphix1.company.com/resources/json/delphix/database/provision \
    -b cookies.txt -H "Content-Type: application/json" <<EOF
{ 
    "container": {
        "group": "GROUP-2",
        "name": "EGVDB", 
        "type": "OracleDatabaseContainer"
    },
    "source": {
        "type": "OracleVirtualSource",
        "mountBase": "/mnt/provision", 
        "allowAutoVDBRestartOnHostReboot": true
    },  
    "sourceConfig": {
        "type": "OracleSIConfig",
        "databaseName": "EGVDB", 
        "uniqueName": "EGVDB", 
        "repository": "ORACLE_INSTALL-3",
        "instance": {
            "type": "OracleInstance",
            "instanceName": "EGVDB",
            "instanceNumber": 1
        }
    },
    "timeflowPointParameters": {
        "type": "TimeflowPointLocation",
        "timeflow": "ORACLE_TIMEFLOW-123",
        "location": "3043123"
    },
    "type": "OracleProvisionParameters"
}
EOF
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.