Nos artigos de Fevereiro/2014 e Março/2014 abordei sobre a arquitetura Multitenant do Oracle 12c de forma prática afim de demonstrar alguns conceitos e propriedades por trás dos bancos de dados de containers (CDBs) e dos bancos de dados plugáveis (PDBs). Neste artigo irei abordar a realização de backups dos bancos de dados CDBs e PDBs através do utilitário RMAN (Recovery Manager). Vale a pena salientar que irei focar apenas na realização dos backups, sem qualquer ação de recovery. A seguir, irei conectar no banco de dados de container CDB01 e realizar o backup do mesmo utilizando o RMAN. Pode-se notar abaixo que no RMAN da versão 12c é possível executar instruções SQL da mesma forma que no SQL*Plus.
C:\>set ORACLE_SID=CDB01
C:\>rman target /
Gerenciador de Recuperação: Release 12.1.0.1.0 - Production on Qua Abr 2 11:34:47 2014
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
conectado ao banco de dados de destino: CDB01 (DBID=1370556575)
RMAN> select con_id,dbid,name,open_mode from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ----------------- ----------
2 4076210644 PDB$SEED READ ONLY
3 3898013363 PDB01 READ WRITE
4 3947824578 PDB02 READ WRITE
5 4001514065 PDB03 READ WRITE
No resultado do SQL acima, pode-se notar a existência de 4 bancos de dados plugáveis (PDBs). Por padrão, o banco de dados PDB$SEED usado como template para criação de novos bancos de dados PDBs se mantém no estado somente leitura (READ ONLY). Abaixo irei realizar o backup do banco de dados CDB01. Como pré requisito para realização de Hot Backup, o banco de dados CDB01 foi alterado para operar no modo ARCHIVELOG.
Backup do Container Database (CDB)
Backup do Container Database (CDB)
RMAN> backup database plus archivelog;
Iniciando backup em 02/04/14
log atual arquivado
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: SID=23 tipo de dispositivo=DISK
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=11 RECID=1 STAMP=842882988
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00001 nome=D:\ORACLE\APP\ORADATA\CDB01\SYSTEM01.DBF
número do arquivo=00005 nome=D:\ORACLE\APP\ORADATA\CDB01\UNDOTBS01.DBF
número do arquivo=00003 nome=D:\ORACLE\APP\ORADATA\CDB01\SYSAUX01.DBF
número do arquivo=00006 nome=D:\ORACLE\APP\ORADATA\CDB01\USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:02:26
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00004 nome=D:\ORACLE\APP\ORADATA\CDB01\PDBSEED\SYSAUX01.DBF
número do arquivo=00002 nome=D:\ORACLE\APP\ORADATA\CDB01\PDBSEED\SYSTEM01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\02C6D349454A4F42BE1E114F23...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:05
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00013 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSAUX01.DBF
número do arquivo=00012 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSTEM01.DBF
número do arquivo=00014 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\PDB01_USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\A1D71A8D231B4153A6189ECF7C...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:15
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00018 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB02\SYSAUX01.DBF
número do arquivo=00017 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB02\SYSTEM01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BBF9D856E6144A5586175255D5...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:05
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00023 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB03\SYSAUX01.DBF
número do arquivo=00022 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB03\SYSTEM01.DBF
número do arquivo=00024 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB03\PDB01_USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\8C150C75FFDE4362A4CDF6C7B2...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:55
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
log atual arquivado
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=12 RECID=2 STAMP=842883401
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando Control File and SPFILE Autobackup em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\AUTOBACKUP\2014_04_02\O1_M...
Finalizado Control File and SPFILE Autobackup em 02/04/14
No resultado apresentado acima, pode-se notar que ao realizar o backup de um banco de dados de container CDB, o mesmo acontece com todos os bancos de dados PDBs existentes.
Backup do Container ROOT (CDB$ROOT)
Backup do Container ROOT (CDB$ROOT)
O backup do banco de dados de container ROOT é semelhante ao backup do banco de dados de CDB, com a diferença de que os bancos de dados PDB não são incluídos no backup. Segue abaixo a demonstração de realização do backup do container ROOT.
RMAN> backup database root plus archivelog;
Iniciando backup em 02/04/14
log atual arquivado
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: SID=34 tipo de dispositivo=DISK
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=13 RECID=3 STAMP=842884398
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00001 nome=D:\ORACLE\APP\ORADATA\CDB01\SYSTEM01.DBF
número do arquivo=00005 nome=D:\ORACLE\APP\ORADATA\CDB01\UNDOTBS01.DBF
número do arquivo=00003 nome=D:\ORACLE\APP\ORADATA\CDB01\SYSAUX01.DBF
número do arquivo=00006 nome=D:\ORACLE\APP\ORADATA\CDB01\USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:02:15
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
log atual arquivado
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=14 RECID=4 STAMP=842884538
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando Control File and SPFILE Autobackup em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\AUTOBACKUP\2014_04_02\O1_M...
Finalizado Control File and SPFILE Autobackup em 02/04/14
Backup dos Pluggable Databases (PDB)
É possível realizar o backup de um ou mais bancos de dados plugáveis de uma só uma vez. Segue abaixo o exemplo de realização de backup dos bancos de dados PDB01 e PDB02.
RMAN> backup pluggable database pdb01, pdb02 plus archivelog;
Iniciando backup em 02/04/14
log atual arquivado
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: SID=30 tipo de dispositivo=DISK
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=13 RECID=3 STAMP=842884398
thread do log arquivado de entrada=1 sequência=14 RECID=4 STAMP=842884538
thread do log arquivado de entrada=1 sequência=15 RECID=5 STAMP=842885189
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00013 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSAUX01.DBF
número do arquivo=00012 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSTEM01.DBF
número do arquivo=00014 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\PDB01_USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\02C6D349454A4F42BE1E114F23...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:05
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00018 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB02\SYSAUX01.DBF
número do arquivo=00017 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB02\SYSTEM01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BBF9D856E6144A5586175255D5...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:15
Finalizado backup em 02/04/14
Iniciando backup em 02/04/14
log atual arquivado
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando conjunto de backups de log arquivado
canal ORA_DISK_1: especificando log(s) arquivado no conjunto de backups
thread do log arquivado de entrada=1 sequência=16 RECID=6 STAMP=842885334
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\BACKUPSET\2014_04_02\O1_MF...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:00:01
Finalizado backup em 02/04/14
Iniciando Control File and SPFILE Autobackup em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\AUTOBACKUP\2014_04_02\O1_M...
Finalizado Control File and SPFILE Autobackup em 02/04/14
Até agora demonstrei a realização de backups dos bancos de dados estando conectado no banco de dados de container ROOT. É possível realizar o backup de um banco de dados PDB conectando diretamente no mesmo pelo RMAN através de um serviço TNS. Como exemplo, segue abaixo o serviço TNS criado no TNSNAMES.ORA da minha máquina local.
PDB01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDB01)
)
)
A seguir, irei utilizar o serviço PDB01 acima para conectar no banco de dados PDB01. Após a realização da conexão será possível realizar o backup do mesmo como demonstrado abaixo.
C:\>rman target /@PDB01
Gerenciador de Recuperação: Release 12.1.0.1.0 - Production on Qua Abr 2 11:58:00 2014
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
conectado ao banco de dados de destino: CDB01 (DBID=1370556575)
RMAN> backup database;
Iniciando backup em 02/04/14
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: SID=35 tipo de dispositivo=DISK
canal ORA_DISK_1: iniciando conjunto de backup completo de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados no conjunto de backups
número do arquivo=00013 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSAUX01.DBF
número do arquivo=00012 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\SYSTEM01.DBF
número do arquivo=00014 nome=D:\ORACLE\APP\ORADATA\CDB01\PDB01\PDB01_USERS01.DBF
canal ORA_DISK_1: iniciando o componente 1 em 02/04/14
canal ORA_DISK_1: componente 1 finalizado em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\02C6D349454A4F42BE1E114F23...
canal ORA_DISK_1: conjunto de backups concluído, tempo decorrido: 00:01:15
Finalizado backup em 02/04/14
Iniciando Control File and SPFILE Autobackup em 02/04/14
handle de componente=D:\ORACLE\APP\FAST_RECOVERY_AREA\CDB01\AUTOBACKUP\2014_04_02\O1_M...
Finalizado Control File and SPFILE Autobackup em 02/04/14