This API cookbook recipe describes how to rewind a VDB using the Delphix Engine API.
To rewind a VDB, you need a reference to the Database
object. See the topic, API Cookbook: List dSources and VDBs, for information on how to obtain the database reference. The following sample script includes a working example for creating a session, authenticating to the Delphix Engine, and rewinding the VDB. Please update the script variables to match your environment before using it.
#!/bin/bash # # sample script to start or stop a VDB. # # set this to the FQDN or IP address of the Delphix Engine DE="192.168.2.131" # set this to the Delphix admin user name DELPHIX_ADMIN="delphix_admin" # set this to the password for the Delphix admin user DELPHIX_PASS="delphix" # set this to the object reference for the VDB VDB="ORACLE_DB_CONTAINER-57" # # create our session curl -s -X POST -k --data @- http://${DE}/resources/json/delphix/session \ $ curl -s -X POST -k --data @- http://delphix-server/resources/json/delphix/session \ -c ~/cookies.txt -H "Content-Type: application/json" <<EOF { "type": "APISession", "version": { "type": "APIVersion", "major": 1, "minor": 4, "micro": 3 } } EOF { "status":"OK", "result": { "type":"APISession", "version": { "type": "APIVersion", "major": 1, "minor": 4, "micro": 3 }, "locale": "en_US", "client": null }, "job": null } EOF echo # # authenticate to the DE curl -s -X POST -k --data @- http://${DE}/resources/json/delphix/login \ $ curl -s -X POST -k --data @- http://delphix-server/resources/json/delphix/login \ -b ~/cookies.txt -c ~/cookies.txt -H "Content-Type: application/json" <<EOF { "type": "LoginRequest", "username": "delphix_username", "password": "delphix_password" } EOF echo # # rewind VDB curl -s -X POST -k --data @- http://${DE}/resources/json/delphix/database/${VDB}/rollback \ -b ~/cookies.txt -H "Content-Type: application/json" <<EOF { "type": "OracleRollbackParameters", "timeflowPointParameters": { "type" : "TimeflowPointSnapshot", "snapshot" : "ORACLE_SNAPSHOT-172" } } EOF echo
Note: While rewinding a VDB, you can use different parameter types. In the above example "timeflowPointParameters" type is used as "TimeflowPointSnapshot" and a appropriate snapshot name is provided. Instead of "TimeflowPointSnapshot", you can also choose from "TimeflowPointLocation" or "TimeflowPointTimestamp" or "TimeflowPointBookmark" etc. and pass the relevant parameters.
You can list your Snapshots by following the instructions on: API Cookbook: List Snapshots.