Backup Oracle Database to OCI Object Storage using Bck2Cloud
Contents
Backup Oracle Database to OCI Object Storage using Bck2Cloud – “1-Button” Cloud Backup/Restore Automation Utility
This is a quick ‘How-To’ guide on setting up the Bck2Cloud utility to back up the Oracle Database to OCI object storage. The source Oracle database can be hosted on-prem, ExaCC, or any other third-party Cloud. If you are new to these concepts, I would recommend reading the article written by Anas Darkal on our website.
Anatomy of Bck2Cloud
The Bck2Cloud was developed by Ruggero Citton of Oracle RAC Pack, Cloud Innovation and Solution Engineering Team in 2017. As of February 2022, the latest release available for Linux 6 and 7 is 3.0.1.4. The aim of this tool is to automate Oracle database RMAN backup to Oracle Database Backup Cloud Service with the help of OCI CLI, Oracle Database Cloud Backup Module, and Oracle RMAN. All these technologies are encapsulated into the tool and will be running in the background. Hence, you do not need to know much about how each tool works.
Let’s get started.
Install the Bck2cloud Tool
I have downloaded Linux 7 compatible binary from the MOS document – Bck2Cloud – “1-Button” Cloud Backup/Restore Automation Utility (Doc ID 2363679.1).
Also, download the Oracle Database Cloud Backup Module. You can download the module from https://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html
[root@labvboxasmdb01]# rpm -ivh bck2cloud-3.0.1-4.el7.x86_64.rpm
warning: bck2cloud-3.0.1-4.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 939112d6: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:bck2cloud-3.0.1-4 ################################# [100%]
bck2cloud-3.0.1.4 binary has been installed on /opt/bck2cloud successfully!
Bck2Cloud Supports 4 Groups of Operations
- Install Oracle Database Cloud Backup Module for OCI Classic/OCI
- RMAN Operations
- Database Transparent Data Encryption (TDE) wallet Operations
- Oracle Cloud Storage Classic (OCIC) & Oracle Cloud Storage gen2 (OCI) Operations (*)
- Password Encrypt Operation
Upon successful installation, check the help page. You may see the options that are supported by the tool.
[root@labvboxasmdb01]# cd /opt/bck2cloud
[root@labvboxasmdb01 bck2cloud]# ls -lrt
total 10324
-rwxr-xr-x 1 root root 10571009 Feb 9 2022 bck2cloud.bin
drwxr-xr-x 2 root root 87 Jan 11 11:51 conf
[root@labvboxasmdb01 bck2cloud]# ./bck2cloud.bin --help
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
bck2cloud - Backup to Cloud Automation Utility
Version: 3.0.1-04
Copyright Oracle, Inc. 2017, 2022
-------------------------------------------------------
Author: Ruggero Citton <ruggero.citton@oracle.com>
RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
The command option is missing!
One of the following operations is possible:
Managing OPC Module:
- Install
Database Convert Operations:
- Convert
RMAN Operations:
- backup
- bckreport
- bvalidate
- clone
- crosscheck
- dbbckreport
- delbck
- listbck
- listinc
- recovery
- restore
- rpreview
- rvalidate
- throughput
TDE Wallet Operations:
- wltbackup
- wltrestore
- wltlist
- wltdelete
Oracle Cloud Storage Operations :
- createcontainer
- delcontainer
- listcontainer
- reportcontainer
- storageinfo
Oracle Cloud Storage Objects Operations :
- delobj
- getobj
- listobj
- putobj
Encrypt password Operations:
- encpass
Install Oracle Database Cloud Backup Module for OCI
Below is a config file that has OCI details such as tenancy OCID, user OCID, private key file, Fingerprint, and Object storage bucket name. If you refer to steps 1 to 5 of the above article, you will further understand the usage of those parameters.
Create the required WALLET_DIR and LIB_DIR directories as specified above. Now run the installer using the config file that you prepared above.
[root@labvboxasmdb01 bck2cloud]# ./bck2cloud.bin install --oci /tmp/opc_installer/oci_installer/oci_install.jar --conf /opt/bck2cloud/conf/oci.conf
INFO: 2023-01-11 12:16:17: Please check the logfile '/opt/bck2cloud/out/log/bck2cloud_7473.log' for more details
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
bck2cloud - Backup to Cloud Automation Utility
Version: 3.0.1-04
Copyright Oracle, Inc. 2017, 2022
-------------------------------------------------------
Author: Ruggero Citton <ruggero.citton@oracle.com>
RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
INFO: 2023-01-11 12:16:17: Installing the Oracle Database Cloud Backup Module for OCI
INFO: 2023-01-11 12:16:17: Reading the configuration file '/opt/bck2cloud/conf/oci.conf'
INFO: 2023-01-11 12:16:17: Executing command:
java -jar /tmp/opc_installer/oci_installer/oci_install.jar -host https://objectstorage.ca-toronto-1.oraclecloud.com -pvtKeyFile /opt/bck2cloud/oci/oracleidentitycloudservice_DinushaR-01-11-03-40_private-pem.pem -pubFingerPrint d7:98: aa: aa: aa: aa: aa: aa: aa: aa: aa:b5:9c -tOCID ocid1.tenancy.oc1..aaaabbbbbbbbbbbbbbbbbbbbbbbbbbbdsbbbbbbbbqt7crdn7a -uOCID ocid1.user.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaalzq -walletDir /opt/bck2cloud/BM/wallet -libDir /opt/bck2cloud/BM/libopc -bucket Oracle-Backups -configFile /opt/bck2cloud/BM/bck2cloud.conf -debug
SUCCESS: 2023-01-11 12:16:21: OPC Backup Module for OCI installed successfully
RMAN Operations
Bck2Cloud is designed to perform many RMAN operations making them much simpler.
- Backup
- BckReport
- BValidate
- Clone
- Crosscheck
- DBBckReport
- DelBck
- ListBck
- ListInc
- Recovery
- Restore
- RPreview
- RValidate
- Throughput
Let’s perform a backup operation. We will be creating a config file that contains the parameters of the database that will be backing up.
BCK_TYPE = full|incremental|differential|cumulative
DELETE= Delete archive logs once backed up (true|false)
QUICK= Restore Validate ‘Header’ (true|false)
Please refer to the Bck2Cloud reference guide for more options.
Let’s run the below command to take the database full backup and archivelog.
[root@labvboxasmdb01 bck2cloud]# ./bck2cloud.bin backup -type archivelog -delete -conf /opt/bck2cloud/conf/cdb1902.bck2cloud.cfg
INFO: 2023-01-11 16:16:38: Please check the logfile '/opt/bck2cloud/out/log/bck2cloud_2522.log' for more details
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
bck2cloud - Backup to Cloud Automation Utility
Version: 3.0.1-04
Copyright Oracle, Inc. 2017, 2022
-------------------------------------------------------
Author: Ruggero Citton <ruggero.citton@oracle.com>
RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
INFO: 2023-01-11 16:16:38: Reading the configuration file '/opt/bck2cloud/conf/cdb1902.bck2cloud.cfg'
INFO: 2023-01-11 16:16:39: Checking if 'cdb1902' is TDE enable
---------------------------------------------------------
- Database Backup
Database Name: cdb1902
DB unique Name: cdb1902
DB TDE Enable : true
Backup Type : full (base)
Backup TAG : BCK2CLOUD
Delete Arch. : false
- Oracle Cloud Storage Info
OPC Host : https://objectstorage.ca-toronto-1.oraclecloud.com/n/yza00k7tuks0
Container: BCK2CLOUD
---------------------------------------------------------
INFO: 2023-01-11 16:16:41: Saving RMAN configuration...
INFO: 2023-01-11 16:16:45: Calculating the section size
INFO: 2023-01-11 16:16:46: Getting max dbfile size for the database 'cdb1902'
INFO: 2023-01-11 16:16:46: Executing database 'cdb1902' full backup
SUCCESS: 2023-01-11 16:31:57: Successfully executed database 'cdb1902' full backup
You may see backups that have been uploaded to the object storage.
You may see the backup report from the dbbckreport command.
Database Transparent Data Encryption (TDE) wallet Operations
One of the advantages of using the Bck2Cloud tool is to perform TDE wallet backup/restore operations as follows:
- WltBackup
- WltRestore
- WltList
Use wltbackup and wltlist commands to backup and list the TDE wallet backups.
Sample of output of wltlist command as follows:
[root@labvboxasmdb01 bck2cloud]# ./bck2cloud.bin wltlist -conf /opt/bck2cloud/conf/cdb1902.bck2cloud.cfg
INFO: 2023-01-11 19:50:21: Please check the logfile '/opt/bck2cloud/out/log/bck2cloud_16912.log' for more details
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
bck2cloud - Backup to Cloud Automation Utility
Version: 3.0.1-04
Copyright Oracle, Inc. 2017, 2022
-------------------------------------------------------
Author: Ruggero Citton <ruggero.citton@oracle.com>
RAC Pack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
INFO: 2023-01-11 19:50:21: Reading the configuration file '/opt/bck2cloud/conf/cdb1902.bck2cloud.cfg'
INFO: 2023-01-11 19:50:21: Getting container 'BCK2CLOUD' Database tde_wallet list using oci-cli
---------------------------------------------------------
- Container name : BCK2CLOUD
---------------------------------------------------------
- Object prefix in use : tde_wallet_cdb1902/
- Object limit in use : All
---------------------------------------------------------
List Database tde_wallet stored into container 'BCK2CLOUD':
{
"data": [
{
"archival-state": null,
"etag": "2955f410-dfaf-4a89-b375-2ab01b9ab5df",
"md5": "7phnz8d7Er1CFoYYm0HfIg==",
"name": "tde_wallet_cdb1902/cwallet.sso",
"size": 15240,
"storage-tier": "Standard",
"time-created": "2023-01-11T21:21:31.118000+00:00",
"time-modified": "2023-01-11T23:48:12.950000+00:00"
},
{
"archival-state": null,
"etag": "6a0badda-60b8-47f2-9b0a-881159f89130",
"md5": "0373JEsnfl+/G05aehEeLQ==",
"name": "tde_wallet_cdb1902/ewallet.p12",
"size": 15179,
"storage-tier": "Standard",
"time-created": "2023-01-11T21:21:31.111000+00:00",
"time-modified": "2023-01-11T23:48:12.867000+00:00"
},
{
"archival-state": null,
"etag": "ddaa2033-f712-44b9-a0ad-56ed388799d2",
"md5": "wUnfHedXK5tpRSglWmEUgw==",
"name": "tde_wallet_cdb1902/ewallet_2023011121175400.p12",
"size": 2555,
"storage-tier": "Standard",
"time-created": "2023-01-11T21:21:31.135000+00:00",
"time-modified": "2023-01-11T23:48:12.966000+00:00"
}
],
"prefixes": []
}
You may observe the same result from the OCI console as well.
Note: – This works when the TDE wallet is on the file system. But I tried migrating the wallet to ASM and ended up with the below error. I assume that the tool does not recognize it when the wallet is in ASM.
“Undefined subroutine &Bck2Cloud_Utils::setHome called at (eval 38) line 865.”
Similarly, you can perform storage container-level and object-level operations using the Bck2Cloud utility. I do not intend to discuss those features in this article. You may refer to the Bck2Cloud reference for more information.
References: Bck2Cloud – “1-Button” Cloud Backup/Restore Automation Utility (Doc ID 2363679.1)