oracle

1) Introdução

Ola a todos. Neste pequeno tutorial, irei falar como gerar os backups de uma base de dados na nuvem, mais precisamente usando os serviços da Amazon Web Services (AWS). Esse serviço da Amazon, possui, entre outros, uma solução de armazenamento na nuvem, chamada de S3. Você pode testar de forma gratuita esse serviço, bastando criar uma conta na Amazon. Inicialmente, é possível usar até 5GBs de dados de forma gratuita. Para mais informações, acessar http://aws.amazon.com/pt/s3/?nc1=h_l2_sc

A Oracle utiliza o OSB Cloud Module Library para configurar a comunicação entre uma base de dados e a núvem da Amazon. Abaixo é possível ver uma nota da própria Oracle sobre essa biblioteca

“The Oracle Secure Backup (OSB) Cloud Module enables you to take advantage of internet-based data storage services offered by Amazon Simple Storage Service (S3) for RMAN backup and recovery tasks.”

Bom, vamos agora aos passos necessários para configurar seu ambiente para gerar os backups RMAN na nuvem. Neste tutorial foram usados o CentOS 6.5 e o Oracle 11.2.0.3
2) Passos

 

[PASSO 1] Instalar e validar o JDK. É necessário ter instalado o JDK 5 ou maior para instalar o OSB Cloud Module Library. Neste exemplo, instalei a versão 1.7 update 55:

— instalação
rpm -ivh jdk-7u55-linux-x64.rpm

— validação
java -version

java version “1.7.0_55”
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

 

[PASSO 2] Download e instalação do OSB Cloud Module Library (deve ser feito com o usuário “oracle”):

1) Download do OSB Cloud Module Library:

http://www.oracle.com/technetwork/products/secure-backup/secure-backup-s3-484709.html?ssSourceSiteId=ocomen

2) Criar arquivo de parâmetros, que será usado pelo instalador para acessar a Amazon e baixar os arquivos necessários:

touch par_file_s3_install

3) Adicionar o seguinte no arquivo de parametros criado anteriormente:

-AWSID [AWS Access Key ID] -AWSKey [AWS Secret Access Key] -otnUser email_cadastro_otn@email.com.br -otnPass senha_otn -walletDir /u01/app/oracle/product/11.2.0/db_1/dbs/osbws_wallet/ -configFile /u01/app/oracle/product/11.2.0/db_1/dbs/osbwsdb01.ora -libDir /u01/app/oracle/product/11.2.0/db_1/lib/


— parâmetros usados:

-AWSID:        AWS Access Key ID           (Ver OBS1)
-AWSKey:       AWS Secret Access Key       (Ver OBS1)
-otnUser:      OTN Username                (e-mail de registro no OTN)
-otnPass:      OTN Password                (senha OTN)
-walletDir:    Directory to store wallet   (o instalador criará um wallet nesse caminho)
-configFile:   File name of config file    (o instalador da Amazon criará um arquivo de configurações nesse caminho)
-libDir:       Directory to store library  (Diretório de bibliotecas usados pelo Oracle, geralmente em $ORACLE_HOME/lib)

OBS1: Para obter o “-AWSID” e o “-AWSKey” é necessário se autenticar no serviço AWS, depois ir em “Security Credentials”, clicar na aba “Access Keys” localizada em “Access Credentuals”, para criar/ver seu “Access Key ID” e “Secret Access Key”

4) Instalar usando o arquivo de parâmetros

— descompactar o arquivo baixado no passo 1
unzip osbws_installer.zip

— instalar
java -jar osbws_install.jar -ARGFILE par_file_s3_install

 

[PASSO 3] Configurando o RMAN

RMAN> configure channel device type sbt parms ‘SBT_LIBRARY=/u01/app/oracle/product/11.2.0/db_1/lib/libosbws12.so SBT_PARMS=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/db_1/dbs/osbwsdb01.ora,OSB_WS_BUCKET=<nome_bucket_criado>)’;

RMAN> configure default device type to ‘sbt_tape’;

OBS1: O parâmetro OSB_WS_PFILE deve conter o arquivo especificado pelo parâmetro “-configFile” durante a instalação do OSB Cloud Module Library

OBS2: No parâmetro OSB_WS_BUCKET, deve-se especificar o bucket criado nos serviços da Amazon. Todo arquivo armazenado no S3 está contido em um bucket. Para mais informações. ver em http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html

 

[PASSO 4] Criação do link simbolico (como usuário “oracle”)

cd $ORACLE_HOME/lib
ln -s libosbws12.so libobk.so

 

[PASSO 5] Testando (como usuário “oracle”)

sbttest osbws_readme.txt -dbname db01


— saida mostrando o sucesso no teste

The sbt function pointers are loaded from libobk.so library.
— sbtinit succeeded
— sbtinit (2nd time) succeeded
sbtinit: vendor description string=Oracle Secure Backup
sbtinit: Media manager is version 3.14.4.8
sbtinit: Media manager supports SBT API version 2.0
sbtinit: allocated sbt context area of 1088 bytes
— sbtinit2 succeeded
— regular_backup_restore starts …………………………..
— sbtbackup succeeded
write 100 blocks
— sbtwrite2 succeeded
— sbtclose2 succeeded
sbtinfo2: SBTBFINFO_NAME=osbws_readme.txt
sbtinfo2: SBTBFINFO_COMMENT=Oracle Secure Backup Web Services Library
sbtinfo2: SBTBFINFO_METHOD=stream
sbtinfo2: SBTBFINFO_ORDER=random access
sbtinfo2: SBTBFINFO_SHARE=multiple users
sbtinfo2: SBTBFINFO_LABEL=s3.amazonaws.com/oracle-data-cloud-1
— sbtinfo2 succeeded
— sbtrestore succeeded
file was created by this program:
seed=444409682, blk_size=16384, blk_count=100
read 100 buffers
— sbtread2 succeeded
— sbtclose2 succeeded
— sbtremove2 succeeded
— regular_backup_restore ends   …………………………..
— sbtcommand succeeded
proxy copy is not supported
— sbtend succeeded
*** The SBT API test was successful ***

 

[PASSO 6] Gerando o backup FULL para a nuvem da Amazon

RUN {

ALLOCATE CHANNEL CH01 DEVICE TYPE SBT;
ALLOCATE CHANNEL CH02 DEVICE TYPE SBT;

BACKUP AS COMPRESSED BACKUPSET DATABASE;
SQL ‘ALTER SYSTEM ARCHIVE LOG CURRENT’;
BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL;
DELETE NOPROMPT ARCHIVELOG UNTIL TIME ‘SYSDATE-1’;
BACKUP CURRENT CONTROLFILE;

RELEASE CHANNEL CH01;
RELEASE CHANNEL CH02;

}

 

[PASSO 7] Validando se o backup recem-gerado foi enviado para a “fita” (SBT_TAPE)

RMAN> list backup of database;

List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
1       Full    232.75M    SBT_TAPE    00:00:52     09-JUL-14
BP Key: 1   Status: AVAILABLE  Compressed: YES  Tag: TAG20140709T144233
Handle: 02pcvfep_1_1   Media: s3.amazonaws.com/oracle-data-cloud-1
List of Datafiles in backup set 1
File LV Type Ckp SCN    Ckp Time  Name
—- — —- ———- ——— —-
1       Full 2225096    09-JUL-14 /u01/oradata/gridrepo/system01.dbf
3       Full 2225096    09-JUL-14 /u01/oradata/gridrepo/undotbs01.dbf
5       Full 2225096    09-JUL-14 /u01/oradata/gridrepo/mgmt_depot.dbf
7       Full 2225096    09-JUL-14 /u01/oradata/gridrepo/mgmt_ad4j.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
4       Full    178.25M    SBT_TAPE    00:01:18     09-JUL-14
BP Key: 4   Status: AVAILABLE  Compressed: YES  Tag: TAG20140709T144233
Handle: 01pcvfep_1_1   Media: s3.amazonaws.com/oracle-data-cloud-1
List of Datafiles in backup set 4
File LV Type Ckp SCN    Ckp Time  Name
—- — —- ———- ——— —-
2       Full 2225095    09-JUL-14 /u01/oradata/gridrepo/sysaux01.dbf
4       Full 2225095    09-JUL-14 /u01/oradata/gridrepo/users01.dbf
6       Full 2225095    09-JUL-14 /u01/oradata/gridrepo/mgmt.dbf