Comme nous l’avons déjà évoqué dans un récent article relatif à la découverte du « Database Cloud Service », le « Cloud Public d’Oracle » continue d’être porté par le vent et propose des offres attrayantes qui visent toujours des objectifs de gains en simplicité, rapidité et flexibilité dans la réalisation de tâches incombant aux DBA(s) « Oracle » que nous sommes.
Aujourd’hui, nous allons utiliser le « Database Backup Cloud Service » afin de stocker la sauvegarde d’une base de données dans le « Cloud Oracle ».
Après avoir obtenu notre accès au service, quelques minutes suffiront afin de télécharger et installer le « Cloud Backup Module » sur notre serveur, de configurer « RMAN », et de réaliser notre première sauvegarde dans le « Cloud ».
- Téléchargement du « Database Cloud Backup Module »
Le module est disponible sur OTN (Oracle Technology Network), à cette adresse: http://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html
L’archive téléchargée contient un simple fichier « .jar » ainsi qu’un fichier « readme » associé :
- Installation du « Database Cloud Backup Module » sur notre serveur
L’installation du module se fait très simplement, en exécutant la commande ci-dessous :
java -jar opc_install.jar -serviceName myService -identityDomain myDomain –opcId ‘myAccount@myCompany.com’ -opcPass ‘myPassword’ -walletDir /walletDirectory -libDir /libraryDirectory
Dans notre contexte, cela donne :
[oracle@localhost ~]$ java -jar opc_install.jar -serviceName Storage -identityDomain easyteam -opcId 'democloud@easyteam.fr' -opcPass '***********' -walletDir /home/oracle/OPC/wallet -libDir /home/oracle/OPC/lib Oracle Database Cloud Backup Module Install Tool, build 2015-11-03 Oracle Database Cloud Backup Module credentials are valid. Oracle Database Cloud Backup Module wallet created in directory /home/oracle/OPC/wallet. Oracle Database Cloud Backup Module initialization file /home/oracle/app/oracle/product/12.1.0/dbhome_1/dbs/opccdb1.ora created. Downloading Oracle Database Cloud Backup Module Software Library from file opc_linux64.zip. Downloaded 26933594 bytes in 68 seconds. Transfer rate was 396082 bytes/second. Download complete.
La librairie adéquate (« libopc.so ») a été copiée dans le répertoire spécifié lors de l’installation (argument « -libDir »).
Le fichier « opccdb1.ora » créé pendant l’installation contient les informations qui seront nécessaires à la connexion au service :
OPC_HOST=https://easyteam.storage.oraclecloud.com/v1/Storage-easyteam
OPC_WALLET=’LOCATION=file:/home/oracle/OPC/wallet CREDENTIAL_ALIAS=storage_opc’
- Configuration de « RMAN »
Maintenant que le module est installé sur notre serveur, nous n’avons plus qu’à configurer « RMAN ».
Configuration d’un « channel » de type « SBT »:
Le canal (« channel ») à configurer va faire référence à la librairie « libopc.so » ainsi qu’au fichier de configuration créés lors de l’installation du « Database Cloud Backup Module » via les paramètres qui lui sont passés (« PARMS=…») :
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='SBT_LIBRARY=/home/oracle/OPC/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/app/oracle/product/12.1.0/dbhome_1/dbs/opccdb1.ora)'; using target database control file instead of recovery catalog new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/OPC/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/app/oracle/product/12.1.0/dbhome_1/dbs/opccdb1.ora)'; new RMAN configuration parameters are successfully stored
Configuration du cryptage des sauvegardes
Les sauvegardes qui seront réalisées dans le « Cloud » devront obligatoirement être encryptées.
Plusieurs types de gestion des clés peuvent être utilisés (« Transparent Data Encryption », « Password Encryption » ou « Dual-Mode Encryption »).
Nous allons choisir l’utilisation de « Password Encryption ».
Pour cela, cette simple activation est nécessaire :
RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON; new RMAN configuration parameters: CONFIGURE ENCRYPTION FOR DATABASE ON; new RMAN configuration parameters are successfully stored
Configuration de la compression des sauvegardes
Bien que cela soit facultatif, mais à des fins de gain en performance, nous allons activer la compression des sauvegardes :
RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM'; new RMAN configuration parameters: CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; new RMAN configuration parameters are successfully stored RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET; new RMAN configuration parameters: CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; new RMAN configuration parameters are successfully stored
- Sauvegarde dans le « Oracle Database Backup Cloud Service »
Tout est désormais prêt pour sauvegarder nos bases de données (une « CDB » contenant deux « PDB(s) » dans notre contexte).
Pour cela, il nous suffit d’utiliser nos commandes « RMAN » habituelles, en précisant le canal de type « SBT » précédemment configuré.
Pour que tout se déroule convenablement, nous choisirons le cryptage de notre sauvegarde par un mot de passe :
[oracle@localhost lib]$ rman target sys/******@cdb1 Recovery Manager: Release 12.1.0.2.0 - Production on Sun Mar 27 05:54:12 2016 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. connected to target database: CDB1 (DBID=828012650) RMAN> set encryption on identified by '**********' only; executing command: SET encryption RMAN> BACKUP DEVICE TYPE sbt DATABASE; Starting backup at 27-MAR-16 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=279 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=3.15.12.30 channel ORA_SBT_TAPE_1: starting compressed full datafile backup set channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set input datafile file number=00011 name=/home/oracle/app/oracle/oradata/cdb1/orcl/example01.dbf input datafile file number=00030 name=/home/oracle/app/oracle/oradata/cdb1/orcl/dataarchives01.dbf input datafile file number=00009 name=/home/oracle/app/oracle/oradata/cdb1/orcl/sysaux01.dbf input datafile file number=00008 name=/home/oracle/app/oracle/oradata/cdb1/orcl/system01.dbf input datafile file number=00010 name=/home/oracle/app/oracle/oradata/cdb1/orcl/SAMPLE_SCHEMA_users01.dbf input datafile file number=00023 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3496321052328731.dbf input datafile file number=00027 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3638406606618093.dbf input datafile file number=00028 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3753603687620385.dbf input datafile file number=00024 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3618122143496338.dbf input datafile file number=00025 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3624405313851440.dbf input datafile file number=00026 name=/home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3632418306476203.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 27-MAR-16 channel ORA_SBT_TAPE_1: finished piece 1 at 27-MAR-16 piece handle=06r1gotg_1_1 tag=TAG20160327T061407 comment=API Version 2.0,MMS Version 3.15.12.30 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:31:36 channel ORA_SBT_TAPE_1: starting compressed full datafile backup set channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set input datafile file number=00003 name=/home/oracle/app/oracle/oradata/cdb1/sysaux01.dbf input datafile file number=00001 name=/home/oracle/app/oracle/oradata/cdb1/system01.dbf input datafile file number=00004 name=/home/oracle/app/oracle/oradata/cdb1/undotbs01.dbf input datafile file number=00006 name=/home/oracle/app/oracle/oradata/cdb1/users01.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 27-MAR-16 channel ORA_SBT_TAPE_1: finished piece 1 at 27-MAR-16 piece handle=07r1gqoo_1_1 tag=TAG20160327T061407 comment=API Version 2.0,MMS Version 3.15.12.30 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:23:16 channel ORA_SBT_TAPE_1: starting compressed full datafile backup set channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set input datafile file number=00007 name=/home/oracle/app/oracle/oradata/cdb1/pdbseed/sysaux01.dbf input datafile file number=00005 name=/home/oracle/app/oracle/oradata/cdb1/pdbseed/system01.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 27-MAR-16 channel ORA_SBT_TAPE_1: finished piece 1 at 27-MAR-16 piece handle=08r1gs4c_1_1 tag=TAG20160327T061407 comment=API Version 2.0,MMS Version 3.15.12.30 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:10:56 Finished backup at 27-MAR-16 Starting Control File and SPFILE Autobackup at 27-MAR-16 piece handle=c-828012650-20160327-00 comment=API Version 2.0,MMS Version 3.15.12.30 Finished Control File and SPFILE Autobackup at 27-MAR-16
Il est intéressant de remarquer le fait que le type de « média » associé à chaque « backupset » créé est « easyteam.storage.oraclecloud.com/v1/Storage-easyteam/oracle-data » :
RMAN> LIST BACKUP SUMMARY; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- --------------- ------- ------- ---------- --- 1 B F A DISK 18-MAR-16 1 1 NO TAG20160318T072647 2 B F A DISK 18-MAR-16 1 1 NO TAG20160318T072713 3 B F A SBT_TAPE 27-MAR-16 1 1 YES TAG20160327T061407 4 B F A SBT_TAPE 27-MAR-16 1 1 YES TAG20160327T061407 5 B F A SBT_TAPE 27-MAR-16 1 1 YES TAG20160327T061407 6 B F A SBT_TAPE 27-MAR-16 1 1 NO TAG20160327T071956 RMAN> list backupset 3,4,5,6; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 3 Full 304.50M SBT_TAPE 00:31:01 27-MAR-16 BP Key: 3 Status: AVAILABLE Compressed: YES Tag: TAG20160327T061407 Handle: 06r1gotg_1_1 Media: easyteam.storage.oraclecloud.com/v1/Storage-easyteam/oracle-data List of Datafiles in backup set 3 Container ID: 3, PDB Name: ORCL File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 8 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/system01.dbf 9 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/sysaux01.dbf 10 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/SAMPLE_SCHEMA_users01.dbf 11 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/example01.dbf 23 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3496321052328731.dbf 24 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3618122143496338.dbf 25 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3624405313851440.dbf 26 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3632418306476203.dbf 27 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3638406606618093.dbf 28 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/APEX_3753603687620385.dbf 30 Full 7697819 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/orcl/dataarchives01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 370.00M SBT_TAPE 00:18:07 27-MAR-16 BP Key: 4 Status: AVAILABLE Compressed: YES Tag: TAG20160327T061407 Handle: 07r1gqoo_1_1 Media: easyteam.storage.oraclecloud.com/v1/Storage-easyteam/oracle-data List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 7699008 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/system01.dbf 3 Full 7699008 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/sysaux01.dbf 4 Full 7699008 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/undotbs01.dbf 6 Full 7699008 27-MAR-16 /home/oracle/app/oracle/oradata/cdb1/users01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Full 162.00M SBT_TAPE 00:06:58 27-MAR-16 BP Key: 5 Status: AVAILABLE Compressed: YES Tag: TAG20160327T061407 Handle: 08r1gs4c_1_1 Media: easyteam.storage.oraclecloud.com/v1/Storage-easyteam/oracle-data List of Datafiles in backup set 5 Container ID: 2, PDB Name: PDB$SEED File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 5 Full 1840166 30-JUL-14 /home/oracle/app/oracle/oradata/cdb1/pdbseed/system01.dbf 7 Full 1840166 30-JUL-14 /home/oracle/app/oracle/oradata/cdb1/pdbseed/sysaux01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 6 Full 17.25M SBT_TAPE 00:00:09 27-MAR-16 BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20160327T071956 Handle: c-828012650-20160327-00 Media: easyteam.storage.oraclecloud.com/v1/Storage-easyteam/oracle-data Control File Included: Ckp SCN: 7705197 Ckp time: 27-MAR-16 SPFILE Included: Modification time: 27-MAR-16 SPFILE db_unique_name: CDB1 RMAN>
- Conclusion
Comme nous l’avons remarqué, l’utilisation du « Oracle Database Backup Cloud Service » est d’une extrême simplicité, les opérations de restauration se déroulant avec le même principe de définition du canal type « SBT » au préalable des commandes RMAN « recover » et « restore ».
En plus de la souplesse que ce service offre, son adhésion peut être un moyen simple et rapide de commencer à appréhender tous les avantages offerts par le « Oracle Public Cloud ».
La gestion des sauvegardes réalisées dans le « Cloud » est très simple et apporte grâce au cryptage une sécurité supplémentaire sans surcoût (l’option ASO, Advanced Security Option, n’étant pas nécessaire dans ce cadre).
En plus de l’interface classique de « RMAN » et de la console « Oracle Enterprise Manager Cloud Control 13c », de nombreux logiciels tiers et dédiés sont disponibles.
Par exemple et pour l’avoir éprouvé, le logiciel « CloudBerry Lab’s cloud backup solution » offre des moyens très intuitifs à ce sujet.
Enfin, pour tous les sujets autour du Cloud Oracle n’oubliez pas notre #RedCloudDay 2016.