2.4 KiB
2.4 KiB
Oracle Clone Script
This script (oracle_clone.sh) performs a clone of an Oracle database using the Rubrik CDM API.
Usage
./oracle_clone.sh [options] <srcSID> <tgtHOSTNAME>
<srcSID>: Source Oracle database SID.<tgtHOSTNAME>: Target hostname for the clone.
Options
-h <dbhost>Source DB hostname-t <timestamp>Recovery point timestamp ("YYYY-MM-DD HH:MM:SS", uses latest if not specified)-n <newsid>New database SID for the clone-p <pfilepath>Custom pfile for the clone-a <key,value>Advanced Cloning Options (can be used multiple times)-b <pdb1,pdb2>Comma-separated list of PDBs to clone (include only these PDBs.PDB$SEEDis always included)-c <channels>Number of RMAN channels to use (setsnumChannelsin the API payload)-dDry run mode - show API payload without executing
Configuration (rbk_api.conf)
Before running the script, you must configure Rubrik API access in the rbk_api.conf file (located in the same directory). This file should define the following variables:
RUBRIK_IP: The IP address or DNS name of your Rubrik CDM cluster.ID: The service account ID or user credential for API authentication.SECRET: The secret or password for the service account/user.RSC_HOST: API endpoint host for SLA modification and other GraphQL calls
Example rbk_api.conf:
RUBRIK_IP=<cdm IP address>
ID="client|your-service-account-id"
SECRET=your-service-account-secret
RSC_HOST=customername.my.rubrik.com
Note: Do not share your
rbk_api.conffile or secrets publicly.
Notes
- The script requires access to the Rubrik API and expects the supporting functions
oracle_funcs.shto be present in the same directory. - Time is passed to
dateon the local machine and uses the local timezone. - If
-bis specified, the script will print the list of PDBs included in the clone. - The
-coption allows you to specify the number of RMAN channels to use for the clone operation. This is passed asnumChannelsin the API payload.
Example
./oracle_clone.sh -h dbhost01 -t "2024-06-01 12:00:00" -n CLONE01 -b PDB1,PDB2 -c 8 orcl targethost
This will clone the orcl database from dbhost01 to targethost, using the specified timestamp, new SID CLONE01, only include PDB$SEED, PDB1, and PDB2, and use 8 RMAN channels for the operation.