RMAN – Criação do Catálogo
Neste manual, será mostrado como realizar a criação do catálogo RMAN. Para este exemplo, foi criado um novo Banco de Dados Oracle, nomeado de RMAN na mesma VM onde está instalado o Banco de Dados que utilizará o catálogo.
conselha-se que o Banco de Dados que o catálogo, não seja criado no mesmo servidor que está instalado os Banco de Dados que utilizarão o Catalogo.
— Conectando com o usuário do Banco de Dados
# su - oracle
— Criando e exportando a variável ORACLE_SID
$ export ORACLE_SID=rman
— Conectando ao Banco de Dados
SQL> startup;
ORACLE instance started.
Total System Global Area 327155712 bytes
Fixed Size 2923968 bytes
Variable Size 260047424 bytes
Database Buffers 58720256 bytes
Redo Buffers 5464064 bytes
Database mounted.
Database opened.
— Criando uma tablespace para armazenar as informações do catalogo
SQL> create tablespace rmand
2 datafile '/u01/app/oracle/oradata/rman/rmand01.dbf' size 100M
3 AUTOEXTEND ON NEXT 100M
4 MAXSIZE 1024M force logging;
Tablespace created.
— Criando um usuário para o catalogo e concedendo os privilégios necessários
SQL> create user rman identified by rmand
2 default tablespace rmand
3 temporary tablespace temp
4 quota unlimited on rmand;
User created.
SQL> grant recovery_catalog_owner to rman;
Grant succeeded.
SQL> grant connect, resource to rman;
Grant succeeded.
— Saindo do SQLPLUS
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
— Conectando-se ao usuário do catálogo através da ferramenta RMAN
$ rman catalog rman/rmand
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Aug 11 22:08:01 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to recovery catalog database
— Criando o Recover Catalog
RMAN> create catalog;
recovery catalog created
Aqui serão armazenados os metadados dos Bancos de Dados target.
— Registrando o Banco de Dados Target
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
Este comando coletará todos os dados necessários para registrar o Banco de Dados Target
— Saindo do RMAN
RMAN> exit
Recovery Manager complete.
— Criando e exportando a variável ORACLE_SID do Banco de Dados Target
$ export ORACLE_SID=orcl
— Conectando-se ao SQLPLUS
$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Aug 11 22:11:25 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
— Realizando o startup do Banco de Dados Target
SQL> startup;
ORACLE instance started.
Total System Global Area 339738624 bytes
Fixed Size 2924112 bytes
Variable Size 260047280 bytes
Database Buffers 71303168 bytes
Redo Buffers 5464064 bytes
Database mounted.
Database opened.
— Saindo do SQLPLUS
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
— Conectando-se ao Banco de Dados e ao Catálogo
$ rman target / catalog rman/rmand
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Aug 11 22:11:47 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1411380092)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04004: error from recovery catalog database: ORA-01017: invalid username/password; logon denied
O erro acima foi gerado porque no Banco de Dados Target, neste caso, o ORCL, não existe usuário RMAN, este usuário foi criado anteriormente em um outro Banco de dados chamado RMAN
Vamos dividir o comando acima em três parte para entender melhor o erro:
rman ==> Comando que chama a ferramenta de linha de comando RMAN
target / ==> Indica que o RMAN deve-se conectar ao Banco de Dados Target(variável ORACLE_SID) autenticando-se como sys as sysdba através do S.O, não precisando fornecer credenciais de acesso.
catalog rman/rmand ==> Indica que o RMAN deve autenticar-se também no catalogo e gravar as informações nele não no controlfile.
Para resolver o problema acima, devemos inserir uma entrada do Banco de Dados onde foi criado o catálogo(abaixo em vermelho) no arquivo $ORACLE_HOME/network/admin/tnsnames.ora, lembrando também que o Listener deve estar online.
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.201)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = orcl)
)
)
RMAN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.201)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = rman)
)
)
— Verificando o status do listener.
$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 11-AUG-2015 22:12:55
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.201)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 11-AUG-2015 01:49:05
Uptime 0 days 20 hr. 23 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0.2/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/vmdb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.201)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "orcl.oracle.com" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.oracle.com" has 2 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Instance "rman", status READY, has 1 handler(s) for this service...
Service "rman.oracle.com" has 1 instance(s).
Instance "rman", status READY, has 1 handler(s) for this service...
The command completed successfully
Note que o listener já reconheceu a instância RMAN
— Verificando a sintaxe e a conectividades da nova entrado do arquivo tnsnames.ora
$ tnsping rman
TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 11-AUG-2015 22:17:37
Copyright (c) 1997, 2014, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.201)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = rman)))
OK (30 msec)
Teste realizado com sucesso!!!!
— Conectando-se ao Banco de Dados e ao Catálogo
$ rman target / catalog rman/rmand@rman
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Aug 11 22:15:56 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1411380092)
connected to recovery catalog database
Note que acrescentamos ao comando, a string de conexão remota @rman, permitido que o RMAN encontre o Banco de Dados RMAN mesmo que o ORACLE_SID esteja configurado como ORCL.
— Registrando o Banco de Dados Target no catálogo.
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
— Saindo da ferramenta RMAN
RMAN> exit
Recovery Manager complete
$
Pronto!!!
Catálogo criado e Banco de Dados target registrado.
Para realizar Backups e Restore no Catálogo, execute os comando de sempre conectado ao target e ao catálogo, os comandos sequências de execução dos comandos sempre serão as mesmas de quando realizamos as atividades no controlfile.