Pular para o conteúdo

RMAN: Como criar e catalogar um backup Oracle

Como criar e catalogar um backup Oracle

O Recovery Manager (RMAN) é um a ferramenta da Oracle que possibilita funcionalidades de backup, restore e recover de uma base de dados Oracle. Esta ferramenta foi introduzida na versão 8.0 e é utilizada nos dias atuais, além de ser uma das ferramentas recomendada pela Oracle para execuções de backups e , com isso, sendo considerada uma boa prática.

Abaixo será elucidado como criar e catálogo do RMAN ( também conhecido como repositório do RMAN), denominado como “orac1” neste exemplo , e sua aplicação com um outro exemplo de um banco de dados sendo utilizando como um banco de produção. O intuito dessa aplicação é demonstrar a relação catálogo do RMAN e o banco de dados que será efetuado o backup.

— Primeiramente se conectando na base de dados que será utilizada como o repositório do RMAN , denominada neste exemplo como orac1.

[oracle@dba10g-1 ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 12 20:26:13 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> select instance_name as NOME_DO_BANCO, status from v$instance;

NOME_DO_BANCO STATUS

---------------- ------------

orac1 OPEN

— Posteriormente já conectado na base, há a necessidade de se criar uma tablespace para o repositório, denominada de RCVCAT.

SQL> create tablespace RCVCAT

Logging

datafile '/u01/app/oracle/oradata/orac1/tbs_rcvcat01.dbf'

size 128m

autoextend on

next 64m maxsize 2048m

extent management local uniform size 1m; 2 3 4 5 6 7

Tablespace created.

— Após isso cria-se o usuário do RMAN.

SQL> create user RMAN identified by RMAN temporary tablespace TEMP default tablespace USERS quota unlimited on USERS;

User created.

— Aplica-se o grant necessário para o usuário criado ser reconhecido como owner do catálogo em questão.

SQL> grant recovery_catalog_owner to RMAN;

Grant succeeded.

— Realizando o teste de conexão com o usuário criado através da execução da ferramenta pelo comando “rman” no prompt do sistema operacional em questão.

[oracle@dba10g-1 admin]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Feb 12 20:36:05 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

RMAN> connect catalog rman/rman@orac1

connected to recovery catalog database

-- Criando de fato o catálogo do RMAN:

RMAN> create catalog;

recovery catalog created

— Após a criação do catálogo, segue uma breve consulta no banco de dados do catálogo para verificar se há algum banco registrado para utilizar o mesmo. Nota-se que a consulta não retorna nenhuma linha, o que concerne com o fato de não haver nenhum banco registrado neste momento para utilizá-lo.

[oracle@dba10g-1 ~]$ sqlplus "/as sysdba"

SQL> conn rman/rman@orac1

Connected.

SQL> select * from rc_database;

no rows selected

SQL> exit

— Neste artigo, ambos as bases de dados foram criados no mesmo servidor para questão de não complicar a abordagem do foco principal. Todavia, ressalta-se que vários ambientes de produções estão localizados em servidores diferentes do catálogo do RMAN. Para isso ser possível, há a necessidade de se alterar o arquivo TNSNAMES.ora, localizado em $ORACLE_HOME/network/admin em servidores que utilizam sistemas operacionais UNIX/LINUX e em %ORACLE_HOME%networkadmin em sistemas operacionais Windows. Nota-se que as configurações de tanto o catálogo do RMAN e tanto do banco de dados a ser realizado o backup estão no mesmo TNSNAMES.ora, pelo fato já preconizado de ambas as bases de dados estarem inseridas no mesmo servidor neste exemplo.

[oracle@dba10g-1 ~]$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

[oracle@dba10g-1 ~]$ export ORACLE_SID=PROD

[oracle@dba10g-1 ~]$ export TNS_ADMIN=/u01/app/oracle/product/10.2.0/db_1/network/admin

[oracle@dba10g-1 admin]$ cd /u01/app/oracle/product/10.2.0/db_1/network/admin

[oracle@dba10g-1 admin]$ ls -ltr

total 32

-rw-r----- 1 oracle oinstall 172 Dec 26 2003 shrept.lst

drwxr-x--- 2 oracle oinstall 4096 Oct 23 2010 samples

-rw-r--r-- 1 oracle oinstall 337 Nov 6 2010 tnsnames1011063PM0907.bak

-rw-r--r-- 1 oracle oinstall 191 Nov 6 2010 sqlnet.ora

-rw-r--r-- 1 oracle oinstall 66 Nov 13 2010 ed.hup

-rw-r--r-- 1 oracle oinstall 515 Nov 20 2010 listener.ora

-rw-r--r-- 1 oracle oinstall 26 Apr 17 2011 afiedt.buf

-rw-r--r-- 1 oracle oinstall 723 Feb 16 19:57 tnsnames.ora

[oracle@dba10g-1 admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

PROD =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = dba10g)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = PROD)

)

)

ORAC1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dba10g)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orac1)

)

)

EXTPROC_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

)

(CONNECT_DATA =

(SID = PLSExtProc)

(PRESENTATION = RO)

)

)

— Registrando o banco de dados nomeado de PROD com o repositório do RMAN, para ser possível a realização de backups do banco de dados PROD utilizando o repositório ORAC1.

[oracle@dba10g-1 admin]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 16 20:16:13 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

— Aplicando comando “connect target /” após se conectar na ferramenta rman com o intuito de direcionar o backup para o banco alvo, neste exemplo o banco PROD. Sendo assim, após a execução do comando em questão aparecerá o nome do banco alvo, seguido de seu DBID ( número muito importante para outras operações utilizando a ferramenta rman).

RMAN> connect target /

connected to target database: PROD (DBID=219404539)

— Conectando com usuário/senha@NomeDoALias referente ao banco do repositório.

RMAN> connect catalog rman/rman@orac1

connected to recovery catalog database

— Registrando o banco de dados PROD no catálogo ORAC1, com o comando “Register Database”.

RMAN> REGISTER DATABASE;

database registered in recovery catalog

starting full resync of recovery catalog

full resync complete

— Executando um backup do banco PROD.

RMAN> BACKUP DATABASE;

Starting backup at 16-FEB-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=136 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=/u01/app/oracle/oradata/PROD/system01.dbf

input datafile fno=00003 name=/u01/app/oracle/oradata/PROD/sysaux01.dbf

input datafile fno=00002 name=/u01/app/oracle/oradata/PROD/undotbs01.dbf

input datafile fno=00004 name=/u01/app/oracle/oradata/PROD/users01.dbf

channel ORA_DISK_1: starting piece 1 at 16-FEB-13

channel ORA_DISK_1: finished piece 1 at 16-FEB-13

piece handle=/u01/app/oracle/flash_recovery_area/PROD/backupset/2013_02_16/o1_mf_nnndf_TAG20130216T201644_8l01bhqp_.bkp tag=TAG20130216T201644 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

including current control file in backupset

including current SPFILE in backupset

channel ORA_DISK_1: starting piece 1 at 16-FEB-13

channel ORA_DISK_1: finished piece 1 at 16-FEB-13

piece handle=/u01/app/oracle/flash_recovery_area/PROD/backupset/2013_02_16/o1_mf_ncsnf_TAG20130216T201644_8l01dtqm_.bkp tag=TAG20130216T201644 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

Finished backup at 16-FEB-13

RMAN> exit

Recovery Manager complete.

— Verificando os arquivos de backup após a execução do mesmo.

[oracle@dba10g-1 ~]$ cd /u01/app/oracle/flash_recovery_area/PROD/backupset/2013_02_16/

[oracle@dba10g-1 2013_02_16]$ ls -ltr

total 522928

-rw-r----- 1 oracle oinstall 527802368 Feb 16 20:17 o1_mf_nnndf_TAG20130216T201644_8l01bhqp_.bkp

-rw-r----- 1 oracle oinstall 7143424 Feb 16 20:18 o1_mf_ncsnf_TAG20130216T201644_8l01dtqm_.bkp

-- Consultando o registro do banco de dados PROD (backup a ser backupeado) no catálogo do banco do rman ORAC1.

[oracle@dba10g-1 2013_02_16]$ export ORACLE_SID=orac1

[oracle@dba10g-1 2013_02_16]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Feb 16 20:22:12 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn rman/rman@orac1

Connected.

SQL> select * from rc_database;

DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS

---------- ---------- ---------- -------- ----------------- ---------

1 2 219404539 PROD 1 16-FEB-13

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

[oracle@dba10g-1 2013_02_16]$

Portanto, o uso da ferramenta rman e a criação de seu catálogo, possibilitam diversas funcionalidades ao administrador de banco de dados no seu dia-a-dia, além de estarem em conformidades com as recomendações da fornecedora do produto, no caso a própria ORACLE.

Referências

Bruno Reis

Bruno Reis

DBA ORACLE  na International Business Machines (IBM), fornecendo suporte para grandes clientes. Técnico em Informática pela Escola Técnica Polivalente de Americana e estudante de Ciência Computação . Mantenedor do Weblog sobre Banco de Dados Oracle e Gerenciamento de Serviços de TI: www.brunors.com

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress