Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle...

176
Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 Ricardo Portlho Proni [email protected] Esta obra está licenciada sob a licença Creatve Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite htp://creatvecommons.org/licenses/by-nd/3.0/br/.

Transcript of Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle...

Page 1: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

Oracle Data Guard 12cR2em Oracle Enterprise Linux 7.4

Ricardo Portlho [email protected]

Esta obra está licenciada sob a licençaCreatve Commons Atribuição-SemDerivados 3.0 Brasil.

Para ver uma cópia desta licença, visite htp://creatvecommons.org/licenses/by-nd/3.0/br/.

Page 2: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

2

Comandos no Treinamento

Comando com o usuário root:# ls -lh

Comando com um usuário oracle:$ ls -lh

Adicionar texto a um arquivo:$ vi initORCL.ora...db_cache_size=500M...

Comando no SQL*Plus:SQL> SELECT STATUS FROM V$INSTANCE;

Comando no RMAN:RMAN> REPORT SCHEMA;

Algo deve ser alterado de acordo com sua máquina:Hostname: nerv01.localdomain

Quando algo dá errado propositalmente:O que aconteceu?

Todas as senhas (root, oracle, SYS, SYSTEM) são Nerv2018.

Page 3: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

3

Linux Modo Texto

Alt + F1Alt + F2Alt + F3Alt + F4Alt + F5Alt + F6

Page 4: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

4

rlwrap

# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# yum -y install epel-release-latest-7.noarch.rpm# yum -y install rlwrap

$ rlwrap sqlplus / AS SYSDBA$ rlwrap rman TARGET /$ rlwrap lsnrctl$ rlwrap dgmgrl SYS/Nerv2017@ORCL

Page 5: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

5

Logs

Oracle$ tail -f $ORACLE_BASE/diag/rdbms/<database>/<SID>/trace/alert_<SID>.log

Linux# tail -f /var/log/messages

Mantenha os Logs visíveis o tempo todo.

Page 6: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

6

glogin.sql

$ cat $ORACLE_HOME/sqlplus/admin/glogin.sql…SET PAGESIZE 1000SET LINESIZE 220SET TIMING ONSET TIME ONSET SQLPROMPT '&_user@&_connect_identifier> 'DEFINE _EDITOR=vi…

09:08:44 SYS@ORCL> SELECT 1 FROM DUAL;

1---------- 1

Elapsed: 00:00:00.0009:09:00 SYS@ORCL>

Page 7: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

7

CDB Architecture

Page 8: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

8

Deprecaton of Non-CDB Architecture

Documentação 12cR1:

Documentação 12cR2:

Page 9: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

9

12cR2 CDB New Features

✔ Subset Standby✔ Data Guard Broker PDB Migraton or Failover✔ Cross-Platorm Import of a Pluggable Database into a Multtenant Container Database✔ I/O Rate Limits for PDBs✔ Heat Map and Automatc Data Optmizaton Support for CDBs✔ PDB Character Set✔ PDB Refresh✔ Hints in CONTAINERS Query✔ Parallel PDB Creaton Clause✔ PDB Archive Files (.pdb Files)✔ Default Tablespace Clause✔ Cloning a PDB✔ Near Zero Downtme PDB Relocaton✔ Logical Standby Database to Support CDBs with PDBs with Diferent Character Sets✔ LogMiner to Support CDBs with PDBs with Diferent Character Sets✔ Support for PDBs with Diferent Character Sets, Time Zone File Versions, and Database Time Zones in a

CDB✔ Memory Resource Management✔ Per-Process PGA Limits✔ Performance Profles and Mandatory PDB Profles✔ CDB-Level PDB Lockdown

Page 10: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

10

12cR2 CDB New Features

✔ Applicaton Root✔ Proxy PDB✔ Forwarding Connectons to A New Address Based on Service✔ Service-Level ACLs for TCP Protocol✔ Flashback Pluggable Database✔ Upgrading a CDB With One or More PDBs in a Single Operaton✔ Support for Thousands of Pluggable Databases for Each Multtenant Container Database✔ Pluggable Database Lockdown Profles Enhancements✔ Pluggable Database Operatng System Credentals✔ Oracle Enterprise Manager Database Express (EM Express) Resource Manager Support✔ EM Express: Simplifying Confguraton for Multtenant Through Single Port Access✔ EM Express: Performance Hub Enhancements✔ Automatc Workload Repository (AWR) Support for a Pluggable Database (PDB)✔ Selectve PDB Upgrades✔ AWR_PDB_AUTOFLUSH_ENABLED Initalizaton Parameter✔ ENABLE_AUTOMATIC_MAINTENANCE_PDB Initalizaton Parameter✔ AUTOTASK_MAX_ACTIVE_PDBS Initalizaton Parameter✔ Global and Shared Connecton Pool for Oracle Cloud and Multtenant Oracle Databases✔ Prioritzed Rebalancing✔ Oracle Database Vault Common Realms and Command Rules for Oracle Multtenant

Page 11: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

11

Opton Multtenant

Page 12: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

12

Multtenant - EE

Page 13: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

13

Singletenant - SE2

Page 14: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

14

Esse banco utliza CDB Arquitecture?

Page 15: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

15

Que Containers / PDBs este banco tem?

Page 16: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

16

Em que Container estou conectado?

Page 17: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

17

Como conectar em um PDB? SET CONTAINER

Page 18: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

18

Como conectar em um PDB?

$ lsnrctl status...Services Summary...Service "5397376af7702ac5e0536a00a8c0505d" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCL" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCLXDB" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "prod" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...The command completed successfully$

Page 19: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

19

Como conectar em um PDB? tnsnames.ora

$ cat $ORACLE_HOME/network/admin/tnsnames.ora...ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )

PROD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD) ) )

...$

Page 20: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

20

Como conectar em um PDB? tnsnames.ora

Page 21: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

21

Como conectar em um PDB? Easy Connect

Page 22: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

22

E agora, qual o nome da Instância? E do Banco?

Page 23: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

23

E agora, qual o nome da Instância? E do Banco?

Page 24: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

24

CDB e PDBs: STARTUP

Page 25: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

25

CDB e PDBs: STARTUP

Page 26: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

26

Alert Log

Page 27: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

27

DATAFILEs

Page 28: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

28

DATAFILEs

Page 29: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

29

DATAFILEs

Page 30: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

30

Dicionário de Dados

Page 31: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

31

VIEWs

Page 32: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

32

VIEWs

Page 33: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

33

Parâmetros

Page 34: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

34

Parâmetros

Page 35: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

35

TABLESPACEs

Page 36: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

36

USERs

Page 37: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

37

USERs

Page 38: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

38

USERs

Page 39: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

39

USERs

Page 40: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

40

SELECT em outros Containers

Page 41: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

41

Criando (Clonando) um PDB

Page 42: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

42

Criando (Clonando) um PDB

Page 43: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

43

Criando (Clonando) um PDB

Page 44: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

44

Criando (Clonando) um PDB

Page 45: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

45

Criando (Clonando) um PDB

Page 46: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

46

Unplug / Plug

Page 47: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

47

Unplug / Plug

Page 48: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

48

DROP

Page 49: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

49

Backup

CDB e PDBsRMAN> BACKUP DATABASE;RMAN> BACKUP DATAFILE 1;RMAN> BACKUP DATAFILE 1,3;

CDBRMAN> BACKUP DATABASE ROOT;RMAN> BACKUP TABLESPACE SYSTEM;RMAN> BACKUP TABLESPACE SYSTEM,SYSAUX;

PDBsRMAN> BACKUP PLUGGABLE DATABASE DEV1;RMAN> BACKUP PLUGGABLE DATABASE DEV1,DEV2;RMAN> BACKUP TABLESPACE DEV1:SYSTEM;

Page 50: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

50

Restore / Recover

CDB e PDBsRMAN> RESTORE DATABASE;RMAN> RECOVER DATABASE;RMAN> RESTORE DATAFILE 1;RMAN> RECOVER DATAFILE 1;

CDBRMAN> RESTORE DATABASE ROOT;RMAN> RECOVER DATABASE ROOT;RMAN> RESTORE TABLESPACE SYSTEM;RMAN> RECOVER TABLESPACE SYSTEM;

PDBsRMAN> RESTORE PLUGGABLE DATABASE DEV1;RMAN> RECOVER PLUGGABLE DATABASE DEV1;RMAN> RESTORE TABLESPACE DEV1:USERS;RMAN> RECOVER TABLESPACE DEV1:USERS;

Page 51: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

51

Alta Disponibilidade

Page 52: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

52

• Confança• Recuperabilidade• Detecção de erros em tempo hábil• Contnuidade operacional

Característcas da Alta Disponibilidade

Page 53: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

53

• Análise de impacto no negócio• Custo de tempo fora de operação• Objetvo de tempo de recuperação (RTO)• Objetvo de ponto de recuperação (RPO)• Meta de gerenciamento• Custo total de propriedade (TCO)• Retorno sobre o investmento (ROI)

Análise de Alta Disponibilidade

Page 54: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

54

• Camada 1 (Faturamento, Vendas)• Camada 2 (Compras, Estoque)• Camada 3 (BI, Desenvimento)

Sistemas e Alta Disponibilidade

Page 55: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

55

• Tempo máximo de parada tolerado.• Frequência máxima de paradas tolerada.• Custos facilmente mensuráveis (vendas, funcionários ociosos, multas contratuais)• Custos difcilmente mensuráveis (processos judiciais)• Custos não mensusáveis (publicidade negatva, clientes irritados)

Custos e Alta Disponibilidade

Page 56: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

56

Implantação de Alta Disponibilidade

Page 57: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

57

• Fast-Start Fault Recovery• Oracle Restart• Oracle Real Applicaton Clusters and Oracle Clusterware• Oracle RAC One Node• Oracle Data Guard• Oracle GoldenGate and Oracle Streams• Oracle Flashback Technology• Oracle Automatc Storage Management• Fast Recovery Area• Recovery Manager• Data Recovery Advisor• Oracle Secure Backup• Oracle Security Features• LogMiner• Oracle Exadata Storage Server Sofware (Exadata Cell)• Oracle Exadata Database Machine• Oracle Database File System (DBFS)• Client Failover• Automatc Block Repair• Corrupton Preventon, Detecton, and Repair

Soluções Oracle para Alta Disponibilidade

Page 58: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

58

• Operatng system and hardware upgrades -> Oracle RAC• Oracle Database patches -> Oracle RAC• Oracle Grid Infrastructure upgrades and patches -> Oracle RAC• Storage Migraton -> Oracle ASM• Migratng to Exadata Storage -> Oracle MAA best practces• Upgrading Exadata Storage -> Exadata Patch Manager• Migratng a single-instance database to Oracle RAC -> Oracle Grid Infrastructure• Migratng to Oracle ASM -> Oracle Data Guard• Migratng a single-instance database to Oracle RAC -> Oracle Data Guard• Patch set and database upgrades -> Oracle Data Guard using SQL Apply• Oracle interim patches, Oracle clusterware upgrades and patches, Oracle ASM upgrades, Operatng

System and Hardware Upgrades -> Oracle Data Guard Standby-First Patch Apply• Migraton across Windows and Linux -> Oracle Data Guard• Platorm migraton across the same endian format platorms -> Transportable database• Platorm migraton across diferent endian format platorms -> Transportable tablespace• Patch set and database upgrades, platorm migraton, rolling upgrades, and when diferent character

sets are required -> Oracle GoldenGate and Oracle Streams• Applicaton upgrades -> Online Applicaton Maintenance and Upgrades

Indisponibilidades Planejadas

Page 59: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

59

• Site Failures -> Oracle Data Guard• Site Failures -> Oracle GoldenGate and Oracle Streams• Site Failures -> Recovery Manager• Computer Failures -> Oracle Real Applicaton Clusters and Oracle Clusterware• Computer Failures -> Oracle RAC One Node• Computer Failures -> Fast-Start Fault Recovery• Computer Failures -> Oracle Data Guard• Computer Failures -> Oracle GoldenGate and Oracle Streams• Storage Failures -> Oracle Automatc Storage Management• Storage Failures -> Oracle Data Guard• Storage Failures -> RMAN with Fast Recovery Area and Oracle Secure Backup• Storage Failures -> Oracle GoldenGate and Oracle Streams• Data Corrupton -> Oracle Exadata Storage Server Sofware (Exadata Cell) and Oracle ASM• Data Corrupton -> Corrupton Preventon, Detecton, and Repair• Data Corrupton -> Data Recovery Advisor and RMAN with Fast Recovery Area• Data Corrupton -> Oracle Data Guard• Data Corrupton -> Oracle GoldenGate and Oracle Streams• Human Errors -> Oracle Security Features• Human Errors -> Oracle Flashback Technology• Human Errors -> LogMiner• Lost writes -> Oracle Data Guard, RMAN, DB_LOST_WRITE_PROTECT• Lost writes -> Oracle Data Guard Oracle Exadata Storage Server Sofware (Exadata Cell)• Hangs or slow down - Oracle Database and Oracle Enterprise Manager

Indisponibilidades não Planejadas

Page 60: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

60

High Availability Overviewhtp://docs.oracle.com/database/122/HAOVW/toc.htm

Data Guard Concepts and Administratonhtp://docs.oracle.com/database/122/SBYDB/toc.htm

Data Guard Brokerhtp://docs.oracle.com/database/122/DGBKR/toc.htm

Global Data Services Concepts and Administraton Guidehtp://docs.oracle.com/database/122/GSMUG/toc.htm

Maiores informações

Page 61: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

61

Oracle Data Guard: Evolução

Page 62: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

62

✔ Data Guard Broker Support for RAC✔ Automatc LogMiner Confguraton✔ Log Miner Support for Index-Organized Tables✔ LogMiner Support for More Types: LONG, Multbyte CLOB and NCLOB✔ Fine-Grained Supplemental Logging✔ Secured Redo Transmission✔ Uniquely Named Databases with DB_UNIQUE_NAME✔ Simplifed Zero Data Loss for Data Guard SQL Apply✔ Zero Downtme Instantaton for SQL Apply✔ Real Time Apply✔ Automatng Recovery Through Open Resetlogs in Standby Databases

New Features Data Guard 10.1

Page 63: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

63

✔ Fast-Start Failover✔ Automatc Conversion of the Primary Database to a Standby Database Upon Failover✔ Optmized Asynchronous Redo Transmission✔ Faster Redo Apply Failover✔ Faster SQL Apply Failover✔ Additonal Data Type Support in LogMiner and SQL Apply✔ Automatc Deleton of Applied Archive Logs✔ Data Guard: Improved Manageability for Redo Transport, Log Apply, and Broker✔ Easy Conversion of a Physical Standby Database to a Reportng Database✔ Flashback Across Data Guard Switchovers✔ Fine-Grained, Automated Tracking of SQL Apply Runtme Performance✔ Optmized Creaton of Logical Standby Database

New Features Data Guard 10.2

Page 64: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

64

✔ Fast-Start Failover for Maximum Performance Mode✔ Compression of Redo Trafc (Only for Gap Resoluton)✔ Real-Time Query Capability of Physical Standby Database✔ Fast Role Transitons in a Data Guard Confguraton✔ User Confgurable Conditons to Initate Fast-Start Failover✔ Dynamic Setng of Oracle Data Guard SQL Apply Parameters✔ Enhanced Data Guard Broker Based Management Framework✔ Enhanced Data Guard Management Interface (Using SQL*Plus)✔ Histogram for Redo Transport Response Time✔ Snapshot Standby✔ Strong Authentcaton for Data Guard Redo Transport✔ Enhanced DDL Handling in Oracle Data Guard SQL Apply✔ Enhanced Oracle RAC Switchover Support for Logical Standby Databases✔ Oracle Scheduler Support in Data Guard SQL Apply✔ Fine-Grained Auditng (FGA) Support in Data Guard SQL Apply✔ Support Transparent Data Encrypton (TDE) with Data Guard SQL Apply✔ Support XMLType Data Type (Only CLOB) in Data Guard SQL Apply✔ Virtual Private Database (VPD) Support in Data Guard SQL Apply✔ SMP Scalable Redo Apply✔ Archive Log Management Improvements

New Features Data Guard 11.1

Page 65: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

65

✔ Automatc Block Repair✔ Compressed Table Support in Logical Standby Databases and Oracle LogMiner✔ Confgurable Real-Time Query Apply Lag Limit✔ Integrated Support for Applicaton Failover in a Data Guard Confguraton✔ Support Up to 30 Standby Databases✔ Universal Connecton Pool (UCP) Integraton with Oracle Data Guard✔ Enable Sampling for Actve Data Guard✔ SQL Apply Support for Object Relatonal Model✔ SQL Apply Support for Binary XML

New Features Data Guard 11.2

Page 66: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

66

✔ Global Data Services (GDS)✔ Data Guard Support for Separaton of Duty (SoD)✔ Advanced Data Guard Broker Manageability✔ Oracle Data Guard Broker Support for Cascaded Standby Databases✔ Fast Sync✔ Single Command Role Transitons✔ Real-Time Apply is Default Setng for Data Guard✔ Resumable Switchover Operatons✔ Actve Data Guard Enhanced Security✔ Actve Data Guard Support for DML on Global Temporary Tables✔ Actve Data Guard Support for Sequences✔ Actve Data Guard Real-Time Cascade✔ Actve Data Guard Far Sync✔ SQL Apply Extended Data Type Support (EDS)✔ SQL Apply Support for Objects, Collectons, and XMLType✔ SQL Apply Support for XMLType✔ SQL Apply Support for SecureFiles LOBs✔ Data Guard Rolling Upgrade Support for Advanced Data Types✔ Data Guard Rolling Upgrade Support for XDB Repository✔ Disaster Protecton During Database Rolling Upgrade✔ Oracle Advanced Queuing (AQ) Support for Data Guard Database Rolling Upgrade✔ Oracle Data Guard Broker Support for Database Rolling Upgrades✔ Oracle Scheduler Support for Data Guard Database Rolling Upgrade✔ Rolling Upgrade Using Actve Data Guard

New Features Data Guard 12.1

Page 67: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

67

✔ Distributed Operatons on CLOB, BLOB and XMLType✔ OCI Support for Distributed LOBs✔ Minimizing Impact on Primary Database When Using Multple SYNC Standby Databases✔ Oracle Data Guard Database Compare✔ Subset Standby✔ Oracle Data Guard Broker Support for Multple Automatc Failover Targets✔ Oracle Data Guard Broker Support for Multple Observers✔ Simplifying Observer Management for Multple Fast-Start Failover Confguratons✔ Oracle Data Guard Broker Support for Transport Destnatons of Diferent Endianess Than the Primary✔ Oracle Data Guard Broker Support for Oracle Data Guard Multple Instance Apply✔ Oracle Data Guard Broker Support for Enhanced Alternate Destnaton✔ Fast-Start Failover in Maximum Protecton Mode✔ Block Comparison Tool Support in Oracle Data Guard Broker DGMGRL Interface✔ Oracle Data Guard Broker Support for Executng DGMGRL Command Scripts✔ Broker ConfguratonWideServiceName Confguraton Property✔ Enhancing Support for Alternate Destnatons✔ Automatcally Synchronize Password Files in Oracle Data Guard Confguratons✔ Preserving Applicaton Connectons to An Actve Data Guard Standby During Role Changes

New Features Data Guard 12.2

Page 68: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

68

Oracle Data Guard - Conceitos

Page 69: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

69

Primary database Physical standby database Logical standby database Snapshot Standby Database

Confgurações

Page 70: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

70

Redo Transport Services Apply Services Role Transitons

Serviços

Page 71: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

71

Switchover Switchback Failover Reinstate Convert

Role Transitons

Page 72: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

72

Enterprise Manager / Grid Control / Cloud Control DGMGRL SQL*Plus Initalizaton Parameters

Interfaces

Page 73: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

73

Maximum Performance Maximum Availability Maximum Protecton

Modos de Proteção

Page 74: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

74

Oracle RAC Flashback Database RMAN

Tecnologias Complementares

Page 75: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

75

Vantagens✔ Proteção contra desastres.✔ Completa proteção de dados.✔ Uso efciente de recursos.✔ Flexibilidade entre disponibilidade e desempenho.✔ Flexibilidade entre confgurações.✔ Detecção e resolução automátca de erros.✔ Gerenciamento simples e centralizado.✔ Integração completa com Oracle Database.✔ Automatc role transitons.

Desvantagens✔ Maior complexidade do ambiente.✔ Maior custo de licenças.✔ Maior custo de equipamentos.✔ Maior custo de conhecimento.

Por que Data Guard?

Page 76: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

76

Lab 1: Standby Manual

Page 77: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

77

Na máquina nerv01, crie um banco de dados com o nome “TERR”, com um PDB com o nome TERRP.

Na máquina nerv01, coloque o banco de dados em modo ARCHIVELOG.

Na máquina nerv01, Habilite o FORCE LOGGING.SQL> ALTER DATABASE FORCE LOGGING;

Na máquina nerv01, habilite o backup automátco de CONTROLFILE.RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Na máquina nerv01, execute um backup:RMAN> BACKUP DATABASE;

Copie para a máquina nerv02 os BACKUPPIECEs criados pelo backup executado na máquina nerv01, para qualquer diretório. Copie o SPFILE da máquina nerv01 para a máquina nerv02, em $ORACLE_HOME/dbs.

Na máquina nerv02, crie todos os diretórios utlizados por parâmetros no SPFILE.

Lab 1.1: Standby Manual

Page 78: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

78

Na máquina nerv02, inicie a instância em NOMOUNT.RMAN> STARTUP NOMOUNT;

Na máquina nerv02, restaure o CONTROLFILE.RMAN> RESTORE CONTROLFILE FROM ‘/home/oracle/o1_mf_s_775375054_7msfqgo1_.bkp’;

Na máquina nerv02, altere a instância para o estágio MOUNT.RMAN> ALTER DATABASE MOUNT;

Na máquina nerv02, catalogue o BACKUPPIECE do BACKUP DATABASE.RMAN> CATALOG BACKUPPIECE '/home/oracle/TAG20120216T055648.bkp';

Na máquina nerv02, restaure o banco de dados.RMAN> RESTORE DATABASE;

Na máquina nerv02, abra a instância em READ ONLY.RMAN> ALTER DATABASE OPEN READ ONLY;Por que não funciona?

Na máquina nerv02, execute RECOVER no banco de dados.RMAN> RECOVER DATABASE;Por que não funciona?

Lab 1.2: Standby Manual

Page 79: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

79

Na máquina nerv01, verifque os ARCHIVED REDO LOGs gerados antes e depois do BACKUP DATABASE.RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> LIST ARCHIVELOG ALL;

Na máquina nerv01, copie os ARCHIVED REDO LOGs para a máquina nerv02, para qualquer diretório.

Na máquina nerv02, catalogue os ARCHIVED REDO LOGs copiados.RMAN> CATALOG ARCHIVELOG '/home/oracle/o1_mf_1_70_7mshox4j_.arc';

Na máquina nerv02, execute RECOVER no banco de dados.RMAN> RECOVER DATABASE;Por que continua com erro?

Na máquina nerv02, abra a instância em READ ONLY.RMAN> ALTER DATABASE OPEN READ ONLY;

Lab 1.3: Standby Manual

Page 80: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

80

Na máquina nerv01, gere mais ARCHIVED REDO LOGsRMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;RMAN> ALTER SYSTEM SWITCH LOGFILE;

Na máquina nerv01, copie os ARCHIVED REDO LOGs para a máquina nerv02, para o mesmo diretório que está na máquina nerv01.

Na máquina nerv02, execute RECOVER no banco de dados.RMAN> SHUTDOWN IMMEDIATE;RMAN> STARTUP MOUNT;RMAN> RECOVER DATABASE;Por que contnua com erro?

Na máquina nerv02, abra a instância em READ ONLY.RMAN> ALTER DATABASE OPEN READ ONLY;

Lab 1.4: Standby Manual

Page 81: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

81

Physical Standby

Page 82: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

82

Vantagens Proteção contra desastres. Proteção de dados. Redução da carga na Produção (RMAN, Read only SQL). Baixo impacto na Produção.

Desvantagens Banco de dados disponível apenas para leitura. O Standby deve ser uma cópia exata da Produção.

Por que?

Page 83: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

83

● COMPATIBLE (Todos)● CONTROL_FILE_RECORD_KEEP_TIME (Todos)● CONTROL_FILES (Todos)● DB_FILE_NAME_CONVERT (Physical Standby, Snapshot Standby)● DB_UNIQUE_NAME (Todos)● FAL_SERVER (Physical Standby, Snapshot Standby)● INSTANCE_NAME (Todos)● LOG_ARCHIVE_CONFIG (Todos)● LOG_ARCHIVE_DEST_n (Todos)● LOG_ARCHIVE_DEST_STATE_n (Todos) ENABLE, DEFER ou ALTERNATE.● LOG_ARCHIVE_FORMAT (Todos)● LOG_ARCHIVE_MAX_PROCESSES (Todos)● LOG_ARCHIVE_MIN_SUCCEED_DEST (Todos)● LOG_ARCHIVE_TRACE (Todos)● LOG_FILE_NAME_CONVERT (Physical Standby, Logical tandby, Snapshot Standby)● REMOTE_LOGIN_PASSWORDFILE (Todos)● SHARED_POOL_SIZE (Todos)● STANDBY_FILE_MANAGEMENT (Primary, Physical Standby, Snapshot Standby)

● FAL_CLIENT (Physical Standby, Snapshot Standby) Obsolete● STANDBY_ARCHIVE_DEST (Physical Standby, Logical Standby, Snapshot Standby) Obsolete● LOG_ARCHIVE_LOCAL_FIRST (Primary, Snapshot Standby) Obsolete

Parâmetros

Page 84: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

84

• AFFIRM / NOAFFIRM• ALTERNATE• COMPRESSION• DB_UNIQUE_NAME• DELAY• LOCATION and SERVICE• MANDATORY• MAX_CONNECTIONS• MAX_FAILURE• NET_TIMEOUT• NOREGISTER• REOPEN• SYNC / ASYNC• TEMPLATE• VALID_FOR

LOG_ARCHIVE_DEST_n

Page 85: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

85

Lab 2: Physical Standby

Page 86: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

86

Na máquina nerv01, crie uma entrada no /etc/hosts para a máquina nerv02.Na máquina nerv02, crie uma entrada no /etc/hosts para a máquina nerv01.

Na máquina nerv01, crie um arquivo (se não tver um) listener.ora e inicie-o.

Na máquina nerv01, crie uma entrada no tnsnames.ora para as instâncias das máquinas nerv01 e nerv02.TERR=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=nerv01)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TERR)(SERVER=DEDICATED)))TERR02=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=nerv02)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TERR02)(SERVER=DEDICATED)))

Na máquina nerv01, copie o tnsnames.ora para a máquina nerv02.Na máquina nerv01, copie o listener.ora para a máquina nerv02.Na máquina nerv02, corrija o listener.ora, e inicie o LISTENER.Na máquina nerv02, veja qual o SERVICE que o LISTENER provê.

Na máquina nerv01, copie o PASSWORD FILE para a máquina nerv02.

Teste a resolução de nomes (ping) e o Oracle Net (tnsping) entre as duas máquinas.Por que não funciona?

Na máquina nerv02, passe a instância ao estado SHUTDOWN.

Lab 2.1 (Cold Filesystem Backup)

Page 87: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

87

Nas máquinas nerv01 e nerv02, crie um diretório para armazenar ARCHIVED REDO LOGs.

Na máquina nerv01, altere os parâmetros abaixo.SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(TERR,TERR02)';

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/archives/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR';

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR02 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR02';

Na máquina nerv01, copie o SPFILE para a máquina nerv02.

Na máquina nerv01, crie um STANDBY CONTROLFILE.SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/stbCF.ctl';

Na máquina nerv01, copie o STANDBY CONTROLFILE para a máquina nerv02, para os locais indicados no SPFILE.

Lab 2.2 (Cold Filesystem Backup)

Page 88: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

88

Na máquina nerv01, passe a instância ao estado SHUTDOWN, e copie todos os DATAFILEs para a máquina nerv02, para o mesmo diretório da máquina nerv01.

Na máquina nerv02, inicie a instância, deixando-a no estado NOMOUNT, e altere o seguinte parâmetro.SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERR02 SCOPE=SPFILE;

Na máquina nerv02, reinicie a instância, deixando-a em estado NOMOUNT.Na máquina nerv02, veja qual o SERVICE que o LISTENER provê.

Na máquina nerv02, altere os seguintes parâmetros.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/archives/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR02';SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2= '';SQL> ALTER SYSTEM SET FAL_SERVER=TERR;SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

Na máquina nerv01, inicie a instância, deixando-a em estado OPEN.Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Lab 2.3 (Cold Filesystem Backup)

Page 89: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

89

Na máquina nerv02, passe a instância ao estágio MOUNT.SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, inicie o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Lab 2.4 (Cold Filesystem Backup)

Page 90: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

90

● Modo ARCHIVELOG.● FORCE LOGGING.● Resolução de nomes bilateral.● Resolução de SQL*Net bilateral.● Autentcação via PASSWORD FILE.● Adequação de parâmetros no PRIMARY.● Adequação de parâmetros no STANDBY.● Criação e cópia de STANDBY CONTROLFILE.● Backup e Restore.● No Physical Standby, MOUNT em modo STANDBY DATABASE.● Criação de STANDBY REDO LOGs.● No Physical Standby, execução de RECOVER MANAGED STANDBY.

Checklist para Physical Standby

Page 91: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

91

Na máquina nerv02, passe a instância ao estágio SHUTDOWN.

Na máquina nerv01, crie um STANDBY CONTROLFILE.SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/stbCF.ctl';

Na máquina nerv01, copie o STANDBY CONTROLFILE para a máquina nerv02, para os locais indicados no SPFILE.

Na máquina nerv01, passe o banco de dados ao modo BEGIN BACKUP.SQL> ALTER DATABASE BEGIN BACKUP;

Na máquina nerv01, copie por scp todos os DATAFILEs.

Na máquina nerv01, fnalize o modo BEGIN BACKUP.SQL> ALTER DATABASE END BACKUP;

Lab 3.1 (User Managed Backup)

Page 92: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

92

Na máquina nerv02, inicie a instância, deixando-a em estado NOMOUNT;

Na máquina nerv02, passe a instância ao estágio MOUNT.SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, inicie o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Lab 3.2 (User Managed Backup)

Page 93: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

93

Na máquina nerv02, passe a instância ao estágio SHUTDOWN.

Na máquina nerv01, crie um STANDBY CONTROLFILE.SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/stbCF.ctl';

Na máquina nerv01, copie o STANDBY CONTROLFILE para a máquina nerv02, para os locais indicados no SPFILE.

Na máquina nerv01, execute um backup do banco de dados pelo RMAN.RMAN> BACKUP DATABASE;

Copie para a máquina nerv02 os BACKUPPIECEs criados pelo backup executado na máquina nerv01, para qualquer diretório.

Lab 4.1 (RMAN Hot Backup)

Page 94: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

94

Na máquina nerv02, inicie a instância em NOMOUNT.RMAN> STARTUP NOMOUNT;

Na máquina nerv02, altere a instância para o estágio MOUNT.SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, catalogue o BACKUP PIECE do BACKUP DATABASE.RMAN> CATALOG BACKUPPIECE '/home/oracle/TAG20120216T055648.bkp';

Na máquina nerv02, restaure o banco de dados.RMAN> RESTORE DATABASE;

Na máquina nerv02, inicie o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Lab 4.2 (RMAN Hot Backup)

Page 95: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

95

Na máquina nerv02, passe a instância ao estágio SHUTDOWN.

Na máquina nerv01, execute um backup do banco de dados pelo RMAN.RMAN> BACKUP DATABASE;

Copie para a máquina nerv02 os BACKUPPIECEs criados pelo backup executado na máquina nerv01, para os mesmos diretórios.$ rsync -azv /u01/app/oracle/fast_recovery_area/TERR/ nerv04:/u01/app/oracle/fast_recovery_area/TERR/

Na máquina nerv02, reinicie a instância, deixando-a em estado NOMOUNT.SQL> STARTUP NOMOUNT;

Na máquina nerv01, conecte-se com RMAN das duas instâncias e execute a duplicação.$ rman TARGET / AUXILIARY=SYS/Nerv2018@TERR02RMAN> DUPLICATE TARGET DATABASE FOR STANDBY DORECOVER NOFILENAMECHECK;

Lab 5.1 (RMAN Duplicaton)

Page 96: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

96

Na máquina nerv02, altere os seguintes parâmetros.SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERR02 SCOPE=SPFILE;

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/archives/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR02' SCOPE=SPFILE;

SQL> ALTER SYSTEM SET FAL_SERVER=TERR SCOPE=SPFILE;

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=SPFILE;

Na máquina nerv02, reinicie a instância, deixando-a em estado NOMOUNT;

Na máquina nerv02, passe a instância ao estágio MOUNT.SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, inicie o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Lab 5.2 (RMAN Duplicaton)

Page 97: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

97

Na máquina nerv02, passe a instância ao estágio SHUTDOWN.

Na máquina nerv02, reinicie a instância, deixando-a em estado NOMOUNT.SQL> STARTUP NOMOUNT;

Na máquina nerv01, conecte-se com RMAN das duas instâncias e execute a duplicação.$ rman TARGET SYS/Nerv2018 AUXILIARY=SYS/Nerv2018@TERR02RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;

Lab 6.1 (RMAN Actve Duplicaton)

Page 98: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

98

Na máquina nerv02, altere os seguintes parâmetros.SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERR02 SCOPE=SPFILE;

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/archives/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR02' SCOPE=SPFILE;

SQL> ALTER SYSTEM SET FAL_SERVER=TERR SCOPE=SPFILE;

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=SPFILE;

Na máquina nerv02, passe a instância ao estágio MOUNT.SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, inicie o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log.

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs.

Lab 6.2 (RMAN Actve Duplicaton)

Page 99: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

99

Modos de Proteção

Page 100: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

100

• Maximum Performance (NOAFFIRM, ASYNC)• Maximum Availability (AFFIRM, SYNC)• Maximum Protecton (AFFIRM, SYNC)

Modos de Proteção

Page 101: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

101

Nas máquinas nerv01 e nerv02, acompanhe o Alert Log durante este Lab.

Na máquina nerv02, adicione STANDBY REDO LOGs.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Lab 7.1: Modos de Proteção

Page 102: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

102

Na máquina nerv01, verifque qual o PROTECTION MODE atual.SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

Na máquina nerv01, crie uma tabela de testes e duplique-a 8 vezes, contando o tempo.$ cd /home/oracle/swingbench/bin$ ./charbench -uc 10 -cs //localhost/VENUP -rt 00:15 -c ../configs/SOE_Server_Side_V2.xml

Lab 7.2: Modos de Proteção

Page 103: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

103

Na máquina nerv01, altere o PROTECTION MODE.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR02 SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR02';SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

Na máquina nerv01, verifque qual o PROTECTION MODE atual.SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

Na máquina nerv01, remova a tabela teste e refaça o teste, comparando o tempo.$ cd /home/oracle/swingbench/bin./charbench -uc 10 -cs //localhost/VENUP -rt 00:15 -c ../configs/SOE_Server_Side_V2.xml

Lab 7.3: Modos de Proteção

Page 104: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

104

Na máquina nerv01, altere o PROTECTION MODE.SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;

Na máquina nerv01, verifque qual o PROTECTION MODE atual.SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

Na máquina nerv01, remova a tabela teste e refaça o teste, comparando o tempo.$ cd /home/oracle/swingbench/bin./charbench -uc 10 -cs //localhost/VENUP -rt 00:15 -c ../configs/SOE_Server_Side_V2.xml

Lab 7.4: Modos de Proteção

Page 105: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

105

Na máquina nerv02, execute SHUTDOWN IMMEDIATE.Por que não funciona?

Na máquina nerv02, execute SHUTDOWN ABORT.

Na máquina nerv01, execute uma operação de teste.SQL> DROP TABLE T;Por que não funciona?

Na máquina nerv01, abra outra sessão e altere o PROTECTION MODE.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR02 ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR02';Por que não funciona?

Altere o modo de proteção para MAXIMIZE PERFORMANCE.SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

Depois, reinicie a instância da máquina nerv02 e o RECOVER.

Lab 7.5: Modos de Proteção

Page 106: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

106

Switchover

Page 107: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

107

Na máquina nerv01, altere os seguintes parâmetros.SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;SQL> ALTER SYSTEM SET FAL_SERVER=TERR02;

Na máquina nerv02, altere os seguintes parâmetros.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR';

Na máquina nerv01, verifque a possibilidade de SWITCHOVER e o execute.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;SQL> SHUTDOWN ABORT;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv01, verifque a possibilidade de SWITCHOVER.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

Na máquina nerv02, verifque a possibilidade de SWITCHOVER e o execute.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;SQL> ALTER DATABASE OPEN;

Lab 8.1: Switchover

Page 108: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

108

Na máquina nerv01, inicie o RECOVER como um STANDBY.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Na máquina nerv01, adicione STANDBY REDO LOGs.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Na máquina nerv02, gere alguns ARCHIVED REDO LOGs e acompanhe o Alert Log.

Lab 8.2: Switchover

Page 109: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

109

Switchback

Page 110: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

110

Na máquina nerv02, verifque a possibilidade de SWITCHOVER e o execute.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;SQL> SHUTDOWN ABORT;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

Na máquina nerv02, verifque a possibilidade de SWITCHOVER.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

Na máquina nerv01, verifque a possibilidade de SWITCHOVER e o execute.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;SQL> ALTER DATABASE OPEN;

Na máquina nerv02, inicie o RECOVER como um STANDBY.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Na máquina nerv01, gere alguns ARCHIVED REDO LOGs e acompanhe o Alert Log.

Lab 9.1: Switchback

Page 111: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

111

Na máquina nerv01, execute o SWITCHOVER com a sintaxe 12c.SQL> ALTER DATABASE SWITCHOVER TO TERR02 VERIFY;SQL> ALTER DATABASE SWITCHOVER TO TERR02;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Na máquina nerv02, fnalize o SWITCHOVER.SQL> ALTER DATABASE OPEN;

Na máquina nerv02, execute o SWITCHBACK com a sintaxe 12c.SQL> ALTER DATABASE SWITCHOVER TO TERR VERIFY;SQL> ALTER DATABASE SWITCHOVER TO TERR;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Na máquina nerv01, fnalize o SWITHBACK.SQL> ALTER DATABASE OPEN;

Lab 9.2: Switchback

Page 112: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

112

Failover

Page 113: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

113

Na máquina nerv01, habilite o FLASHBACK (necessário para o REINSTATE).SQL> ALTER DATABASE FLASHBACK ON;

Na máquina nerv01, desligue a instância e o LISTENER.SQL> SHUTDOWN ABORT;

Na máquina nerv02, cancele o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

Lab 10.1: Failover

Page 114: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

114

Na máquina nerv02, verifque a possibilidade de FAILOVER.SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

Na máquina nerv02, se o FAILOVER for possível, execute:SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;SQL> ALTER DATABASE OPEN;

Na máquina nerv02, se o FAILOVER não for possível, execute:SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;SQL> ALTER DATABASE OPEN;

Lab 10.2: Failover

Page 115: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

115

Reinstate

Page 116: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

116

Na máquina nerv01, inicie a instância em MOUNT.SQL> STARTUP MOUNT;

Na máquina nerv01, volte a um SCN mais antgo que o FAILOVER.SQL> FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP( '2016-10-03 10:00:00','YYYY-MM-DD HH24:MI:SS');

OU

$ grep SCN /u01/app/oracle/diag/rdbms/venu/VENU/trace/alert_VENU.log SQL> FLASHBACK DATABASE TO SCN 912044;

Na máquina nerv01, converta o banco de dados para PHYSICAL STANDBY.SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Depois de concluir o Reinstate, execute o Switchback.

Lab 11.1: Reinstate

Page 117: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

117

Logical Standby

Page 118: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

118

Logical Standby

Page 119: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

119

Vantagens✔ Proteção contra tpos de falhas adicionais.✔ Uso efciente de recursos.✔ Distribuição de carga.✔ Otmização para relatórios e requerimentos de suporte a decisões.✔ Minimizar tempo de parada durante upgrades.

Desvantagens✔ Diversas limitações de tpos de dados.✔ Diversas limitações de comandos SQL.✔ Aplicação do comando SQL, e não do REDO LOG.

Por que?

Page 120: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

120

• BFILE• ROWID, UROWID• Collectons (including VARRAYs and nested tables)• Objects with nested tables and REFs• Spatal type MDSYS.SDO_GEORASTER• Spatal type MDSYS.SDO_TOPO_GEOMETRY• Identty columns

Tipos de dados não suportados (12cR1)

Page 121: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

121

• ALTER DATABASE• ALTER MATERIALIZED VIEW• ALTER MATERIALIZED VIEW LOG• ALTER SESSION• ALTER SYSTEM• CREATE CONTROL FILE• CREATE DATABASE• CREATE DATABASE LINK• CREATE PFILE FROM SPFILE• CREATE MATERIALIZED VIEW• CREATE MATERIALIZED VIEW LOG• CREATE SCHEMA AUTHORIZATION• CREATE SPFILE FROM PFILE• DROP DATABASE LINK• DROP MATERIALIZED VIEW• DROP MATERIALIZED VIEW LOG• EXPLAIN• LOCK TABLE• SET CONSTRAINTS• SET ROLE• SET TRANSACTION

Comandos SQL ignorados

Page 122: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

122

SQL> EXECUTE DBMS_LOGSTDBY.SKIP(STMT => 'DML', SCHEMA_NAME => 'HR', OBJECT_NAME => 'EMPLOYEES');

SQL> EXECUTE DBMS_LOGSTDBY.SKIP(STMT => 'SCHEMA_DDL', SCHEMA_NAME => 'HR', OBJECT_NAME => 'EMPLOYEES');

SQL> EXECUTE DBMS_LOGSTDBY.UNSKIP(STMT => 'DML', SCHEMA_NAME => 'HR', OBJECT_NAME => 'EMPLOYEES');

SQL> EXECUTE DBMS_LOGSTDBY.UNSKIP(STMT => 'SCHEMA_DDL', SCHEMA_NAME => 'HR', OBJECT_NAME => 'EMPLOYEES');

Controle

Page 123: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

123

SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;SQL> ALTER SESSION DISABLE GUARD;SQL> CREATE INDEX EMP_SOUNDEX ON SCOTT.EMP(SOUNDEX(ENAME));SQL> ALTER SESSION ENABLE GUARD;SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

Adaptações

Page 124: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

124

DBA_LOGSTDBY_EVENTS DBA_LOGSTDBY_HISTORY DBA_LOGSTDBY_LOG DBA_LOGSTDBY_NOT_UNIQUE DBA_LOGSTDBY_PARAMETERS DBA_LOGSTDBY_SKIP DBA_LOGSTDBY_SKIP_TRANSACTION DBA_LOGSTDBY_UNSUPPORTED V$LOGSTDBY_PROCESS V$LOGSTDBY_PROGRESS V$LOGSTDBY_STATE V$LOGSTDBY_STATS V$LOGSTDBY_TRANSACTION

Views

Page 125: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

125

Lab 12: Logical Standby

Page 126: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

126

Na máquina nerv01, crie uma entrada no /etc/hosts para a máquina nerv03.Na máquina nerv02, crie uma entrada no /etc/hosts para a máquina nerv03.Na máquina nerv03, crie uma entrada no /etc/hosts para a máquina nerv01.Na máquina nerv03, crie uma entrada no /etc/hosts para a máquina nerv02.

Na máquina nerv01, crie uma entrada no tnsnames.ora (TERRA03) para a instância da máquina nerv03.Na máquina nerv01, copie o tnsnames.ora para a máquina nerv03.Na máquina nerv01, copie o tnsnames.ora para a máquina nerv02.

Na máquina nerv01, copie o listener.ora para a máquina nerv03.

Na máquina nerv03, corrija o listener.ora, e inicie o LISTENER.

Na máquina nerv01, copie o PASSWORD FILE para a máquina nerv03.

Na máquina nerv03, crie um diretório para armazenar ARCHIVED REDO LOGs.

Teste a resolução de nomes (ping) e o Oracle Net (tnsping) entre as três máquinas.Por que não funciona?

Lab 12.1: Logical Standby

Page 127: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

127

Na máquina nerv01, copie o SPFILE para a máquina nerv03.

Na máquina nerv03, crie todos os diretórios mencinados em parâmetros do SPFILE.

Na máquina nerv03, reinicie a instância, deixando-a em estado NOMOUNT.SQL> STARTUP NOMOUNT;SQL> ALTER SYSTEM SET SERVICE_NAMES=TERR03 SCOPE=SPFILE;SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERR03 SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archives/ VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR03';SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR';SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='LOCATION=/home/oracle/archives_stb/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=TERR03';SQL> ALTER SYSTEM SET FAL_SERVER=TERR;

Lab 12.2: Logical Standby

Page 128: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

128

Na máquina nerv01, conecte-se com RMAN das duas instâncias e execute a duplicação.$ rman TARGET SYS/Nerv2018 AUXILIARY=SYS/Nerv2018@TERR03RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;

Na máquina nerv01, habilite o terceiro local de archives.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='SERVICE=TERR03 ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERR03';Por que não funciona?

Na máquina nerv03, habilite o RECOVER e espere a instância estar sincronizada.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Lab 12.3: Logical Standby

Page 129: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

129

Após a máquina nerv03 estar sincronizada, cancele o RECOVER.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Na máquina nerv01, crie um dicionário dos dados dos REDO LOGs.SQL> EXECUTE DBMS_LOGSTDBY.BUILD;

Na máquina nerv03, faça a conversão para LOGICAL STANDBY.SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY BI;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE OPEN RESETLOGS;SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

Verifque a View V$LOGSTDBY_PROGRESS.

Lab 12.4: Logical Standby

Page 130: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

130

Na máquina nerv01, crie uma tabela de teste.$ sqlplus / AS SYSDBASQL> DROP TABLE T;SQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;SQL> SELECT COUNT(*) FROM T;

Na máquina nerv03, confra a tabela criada.SQL> SELECT COUNT(*) FROM T;Por que não funciona?

Na máquina nerv01, crie uma tabela de teste com o usuário SCOTT.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = TERRP;SQL> CREATE USER SCOTT IDENTIFIED BY TIGER ACCOUNT UNLOCK;SQL> ALTER USER SCOTT QUOTA UNLIMITED ON USERS;SQL> GRANT CONNECT, RESOURCE TO SCOTT;

Na máquina nerv03, confra a tabela criada.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;

Lab 12.5: Logical Standby

Page 131: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

131

Actve Data Guard

Page 132: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

132

Na máquina nerv02, cancele o RECOVER, e abra o banco de dados para leitura.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> ALTER DATABASE OPEN;SQL> SELECT OPEN_MODE FROM V$DATABASE;

Na máquina nerv02, verifque se o banco de dados está acessível para leitura.$ sqlplus / AS SYSDBASQL> ALTER PLUGGABLE DATABASE TERRP OPEN READ ONLY;SQL> ALTER SESSION SET CONTAINER = TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;

Na máquina nerv01, faça uma alteração na tabela de testes.SQL> CONN SCOTT/TIGER@TERRPSQL> INSERT INTO T SELECT * FROM T;SQL> SELECT COUNT(*) FROM T;

Na máquina nerv02, verifque que a alteração ainda não foi feita.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;

Lab 13.1: Actve Data Guard

Page 133: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

133

Na máquina nerv02, inicie o RECOVER, com o banco de dados para leitura.SQL> CONN / AS SYSDBASQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;SQL> SELECT OPEN_MODE FROM V$DATABASE;

Na máquina nerv02, verifque que a alteração agora foi feita.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;

Lab 13.2: Actve Data Guard

Page 134: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

134

Snapshot Standby

Page 135: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

135

Vantagem✔ Redução dos tempos de Refresh (Pré-Produção, Homologação, Desenvolvimento).✔ Garanta da integridade dos ambientes de homologação e testes.

Desvantagens✔ Maior espaço em disco necessário, para Archives e Fast Recovery Area.✔ Necessária estrutura de banco de dados igual ao da Produção✔ Perda de alterações após conversão para Physical Standby.✔ Maior tempo de RECOVER necessário, em caso de utlização para Disaster Recovery.

Por que?

Page 136: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

136

Na máquina nerv02, cancele o RECOVER, e abra o banco de dados para leitura.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;SQL> ALTER DATABASE OPEN;

Na máquina nerv01, gere vários ARCHIVEs, e veja se são aplicados na máquina nerv02.

Na máquina nerv02, faça uma alteração na tabela de testes.$ sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;SQL> TRUNCATE TABLE SCOTT.T;SQL> SELECT COUNT(*) FROM SCOTT.T;

Na máquina nerv02, reverta o SNAPSHOT STANDBY para PHYSICAL STANDBY.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Lab 14.1: Snapshot Standby

Page 137: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

137

Na máquina nerv02, verifque que a alteração agora foi feita.SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> ALTER DATABASE OPEN;$ sqlplus / AS SYSDBASQL> ALTER PLUGGABLE DATABASE TERRP OPEN READ ONLY;SQL> ALTER SESSION SET CONTAINER = SCOTT.TERRP;SQL> SELECT COUNT(*) FROM SCOTT.T;

Na máquina nerv02, retorne a aplicação de ARCHIVEs.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT STANDBY DATABASE;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Lab 14.2: Snapshot Standby

Page 138: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

138

Cascade Standby

Page 139: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

139

Na máquina nerv01, cancele o envio de REDO LOG para a máquina nerv03.

Na máquina nerv02, habilite o envio de REDO LOG para a máquina nerv03.Por que não funciona?

Na máquina nerv03, altere o FAL_SERVER para a máquina nerv02.

Na máquina nerv01, gere vários ARCHIVEs, e veja se são aplicados na máquina nerv03.

Na máquina nerv01, faça uma alteração na tabela de testes e veja se é propagada para a máquina nerv03.

Lab 15.1: Cascade Standby

Page 140: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

140

Far Sync

Page 141: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

141

Far Sync

Page 142: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

142

Na máquina nerv01, crie uma entrada no /etc/hosts para a máquina nerv04.Na máquina nerv02, crie uma entrada no /etc/hosts para a máquina nerv04.Na máquina nerv03, crie uma entrada no /etc/hosts para a máquina nerv04.Na máquina nerv04, crie uma entrada no /etc/hosts para a máquina nerv01.Na máquina nerv04, crie uma entrada no /etc/hosts para a máquina nerv02.Na máquina nerv04, crie uma entrada no /etc/hosts para a máquina nerv03.

Na máquina nerv01, crie uma entrada no tnsnames.ora para a instância da máquina nerv04.Na máquina nerv01, copie o tnsnames.ora para a máquina nerv02.Na máquina nerv01, copie o tnsnames.ora para a máquina nerv03.Na máquina nerv01, copie o tnsnames.ora para a máquina nerv04.

Na máquina nerv01, copie o listener.ora para a máquina nerv04.Na máquina nerv04, corrija o listener.ora, e inicie o LISTENER.

Na máquina nerv01, copie o PASSWORD FILE para a máquina nerv04.

Na máquina nerv04, crie um diretório para armazenar ARCHIVED REDO LOGs.

Teste a resolução de nomes (ping) e o Oracle Net (tnsping) entre as três máquinas.Por que não funciona?

Lab 16.1: Far Sync

Page 143: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

143

Na máquina nerv01, crie um FAR SYNC STANDBY CONTROLFILE, e copie para a máquina nerv04, para a localização dos CONTROLFILEs.SQL> ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/STBFS.ctl';

Na máquina nerv01, cancele a replicação para a máquina nerv02, e habilite o envio para a máquina nerv04.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='';SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_4='SERVICE=TERRA04 ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TERRA04';Por que não funciona?

Lab 16.2: Far Sync

Page 144: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

144

Na máquina nerv01, copie o SPFILE para a máquina nerv04.

Na máquina nerv04, crie todos os diretórios mencinados em parâmetros do SPFILE.

Na máquina nerv04, habilite a replicação para a máquina nerv02.SQL> STARTUP NOMOUNT;SQL> ALTER SYSTEM SET SERVICE_NAMES=TERR04 SCOPE=SPFILE;SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERR04 SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archives/ VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR04';SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERR02 ASYNC VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERR02';SQL> ALTER SYSTEM SET FAL_SERVER=TERR;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 209715200;

Na máquina nerv02, altere a solicitação de ARCHIVEs para a máquina nerv04.SQL> ALTER SYSTEM SET FAL_SERVER=TERR04;

Lab 16.3: Far Sync

Page 145: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

145

Data Guard Broker

Page 146: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

146

Data Guard Broker

Page 147: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

147

Data Guard Broker

Page 148: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

148

Componentes Data Guard Broker

Page 149: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

149

Bystander Standby Databases

Page 150: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

150

Habilite o FLASHBACK DATABASE em todos os bancos de dados.

Adicione uma entrada estátca para o Data Guard Broker no listener.ora de cada máquina.

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv01.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = TERR_DGMGRL) (ORACLE_HOME = /u01/app/oracle/TERRPuct/12.2.0.1/db_1) (SID_NAME = TERR) ) (SID_DESC = (GLOBAL_DBNAME = URAN03_DGMGRL) (ORACLE_HOME = /u01/app/oracle/TERRPuct/12.2.0.1/db_1) (SID_NAME = URAN01) ) )

Lab 17.1: Data Guard Broker

Page 151: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

151

Na máquina nerv01, habilite o Data Guard Broker.$ dgmgrl SYS/Nerv2018@TERRDGMGRL> CREATE CONFIGURATION 'DRSolution' AS PRIMARY DATABASE IS TERR CONNECT IDENTIFIER IS TERR;Por que não funciona?

Na máquina nerv01, adicione as outras máquinas da confguração.DGMGRL> ADD DATABASE TERR02 AS CONNECT IDENTIFIER IS TERR02;DGMGRL> ADD DATABASE TERR03 AS CONNECT IDENTIFIER IS TERR03;

Na máquina nerv01, verifque a confguração.DGMGRL> SHOW CONFIGURATION;

Na máquina nerv01, habilite a confguração.DGMGRL> ENABLE CONFIGURATION;

Na máquina nerv01, verifque a confguração.DGMGRL> SHOW CONFIGURATION;

Lab 17.2: Data Guard Broker

Page 152: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

152

Na máquina nerv01, verifque detalhes de um banco de dados.DGMGRL> SHOW DATABASE VERBOSE TERR;DGMGRL> EDIT DATABASE TERR SET PROPERTY 'ArchiveLagTarget'=1200;DGMGRL> SHOW DATABASE TERR 'ArchiveLagTarget';

Na máquina nerv01, altere o Protecton Mode.DGMGRL> EDIT DATABASE TERR02 SET PROPERTY 'LogXptMode'='SYNC';DGMGRL> EDIT DATABASE TERR03 SET PROPERTY 'LogXptMode'='SYNC';Você pode alterar estes parâmetros com ALTER SYSTEM SET?DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;

Na máquina nerv01, verifque se o Protecton Mode foi alterado.DGMGRL> SHOW CONFIGURATION;

Lab 17.3: Data Guard Broker

Page 153: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

153

Na máquina nerv01, simule uma manutenção do ambiente.DGMGRL> EDIT DATABASE TERR03 SET STATE='APPLY-OFF';DGMGRL> EDIT DATABASE TERR02 SET STATE='APPLY-OFF';DGMGRL> EDIT DATABASE TERR SET STATE=TRANSPORT-OFF;Por que não funciona?

Na máquina nerv01, simule o fm da manutenção do ambiente.DGMGRL> EDIT DATABASE TERR SET STATE=TRANSPORT-ON;DGMGRL> EDIT DATABASE TERR03 SET STATE='APPLY-ON';DGMGRL> EDIT DATABASE TERR02 SET STATE='APPLY-ON’;

Na máquina nerv03, simule uma indisponibilidade não planejada, sempre acompanhando os Alert Logs.SQL> SHUTDOWN ABORT;SQL> STARTUP;

Na máquina nerv02, simule uma indisponibilidade não planejada, sempre acompanhando os Alert Logs.SQL> SHUTDOWN ABORT;SQL> STARTUP;

Lab 17.4: Data Guard Broker

Page 154: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

154

Na máquina nerv01, se não tver nenhum erro, execute Switchover para a máquina nerv02.DGMGRL> SHOW CONFIGURATION;DGMGRL> SWITCHOVER TO TERR02;

Na máquina nerv01, se não tver nenhum erro, execute Switchover para a máquina nerv01.DGMGRL> SHOW CONFIGURATION;DGMGRL> SWITCHOVER TO TERR;

Na máquina nerv01, se não tver nenhum erro, execute Switchover para a máquina nerv03.DGMGRL> SHOW CONFIGURATION;DGMGRL> SWITCHOVER TO TERR03;Por que não funciona?

Na máquina nerv01, se não tver nenhum erro, execute Switchover para a máquina nerv01.DGMGRL> SHOW CONFIGURATION;DGMGRL> SWITCHOVER TO TERR;O que aconteceu?

Para corrigir, remova e adicione o Physical Standby da máquina nerv02, e a reabilite no Broker.DGMGRL> REMOVE DATABASE TERR02;DGMGRL> ADD DATABASE TERR02 AS CONNECT IDENTIFIER IS TERR02;DGMGRL> ENABLE DATABASE TERR02;

Lab 17.5: Data Guard Broker

Page 155: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

155

A partr da máquina nerv01, converta o banco de dados da máquina nerv02 para SNAPSHOT STANDBY.$ dgmgrl SYS/Nerv2018@TERR02DGMGRL> CONVERT DATABASE TERR02 TO SNAPSHOT STANDBY;

Na máquina nerv01, se não tver nenhum erro, execute Switchover para a máquina nerv02.DGMGRL> SWITCHOVER TO TERR02;Por que não funciona?

Converta o banco de dados da máquina nerv02 de volta para PHYSICAL STANDBY.DGMGRL> CONVERT DATABASE TERR02 TO PHYSICAL STANDBY;

Lab 17.6: Data Guard Broker

Page 156: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

156

Na máquina nerv01, simule uma indisponibilidade não planejada.SQL> SHUTDOWN ABORT;

Na máquina nerv02, execute FAILOVER para a máquina nerv02.[oracle@nerv02 ~]$ dgmgrl SYS/Nerv2018@TERR02DGMGRL> FAILOVER TO TERR02;DGMGRL> SHOW CONFIGURATION;

Reatve a instância na máquina nerv01.

EXECUTE o REISNTATE do banco da máquina nerv01.DGMGRL> REINSTATE DATABASE TERR;

EXECUTE o REISNTATE do banco da máquina nerv03.DGMGRL> REINSTATE DATABASE TERR03;

Faça o SWITCHOVER de volta para a máquina nerv01.

Lab 17.7: Data Guard Broker

Page 157: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

157

Fast-Start Failover

Page 158: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

158

Lights out administraton

Page 159: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

159

Lights out administraton

● Produção:srvctl add service -d TERR -s OLTP -l PRIMARY -w 1 -z 10srvctl add service -d TERR -s OLAP -l PHYSICAL_STANDBY -w 1 -z 10

● Standby:srvctl add service -d TERR02 -s OLTP -l PRIMARY -w 1 -z 10srvctl add service -d TERR02 -s OLAP -l PHYSICAL_STANDBY -w 1 -z 10

● Client tnsnames.ora:OLTP = (DESCRIPTION= (LOAD_BALANCE=OFF) (FAILOVER=ON) (ADDRESS=(PROTOCOL=TCP)(HOST=nerv01)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=nerv02)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=OLTP)) )

● Failover pela aplicação:SQL> DBMS_DG.INITIATE_FS_FAILOVER

Page 160: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

160

Confra se os bancos da máquina nerv01 e nerv02 estão com FLASHBACK atvado.

Na máquina nerv01, confgure o Fast-Start Failover.DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverLagLimit=600;DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 30;DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverAutoReinstate = TRUE;DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverPmyShutdown = TRUE;DGMGRL> EDIT DATABASE TERR SET PROPERTY FastStartFailoverTarget=TERR02;DGMGRL> ENABLE FAST_START FAILOVER;DGMGRL> SHOW CONFIGURATION;DGMGRL> SHOW FAST_START FAILOVER;

Copie o tnsnames.ora da máquina nerv01 para o Client na máquina nerv04.

Na máquina nerv04, conecte-se na máquina nerv02 e inicie o OBSERVER.[oracle@nerv04 ~]$ dgmgrl SYS/Nerv2018@TERR02DGMGRL> START OBSERVER;

Lab 18.1: Fast-Start Failover

Page 161: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

161

Na máquina nerv01, simule uma indisponibilidade não planejada.SQL> SHUTDOWN ABORT;

Inicie novamente a instância da máquina nerv01.

Execute o SWITCHOVER de volta para a máquina nerv01.

Lab 18.2: Fast-Start Failover

Page 162: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

162

Na máquina nerv01, verifque as condições de Fast-Start Failover:DGMGRL> SHOW FAST_START FAILOVER;

Habilite mais uma condição.DGMGRL> ENABLE FAST_START FAILOVER CONDITION 00001

Simule a condição de falha de gravação de ARCHIVEs.SQL> CREATE TABLE T1 (C1 NUMBER PRIMARY KEY);SQL> INSERT INTO T1 VALUES (1);SQL> INSERT INTO T1 VALUES (1);

Após o FAILOVER, inicie novamente a instância da máquina nerv01.SQL> STARTUP NOMOUNT;

Execute o REINSTATE através do Data Guard Broker.

Execute o SWITCHOVER de volta para a máquina nerv01.

Desabilite o Fast-Start Failover.

Pare o OBSERVER.

Lab 18.3: Fast-Start Failover

Page 163: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

163

Data Guard Backup & Recovery

Page 164: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

164

Na máquina nerv01, conecte-se ao CATALOG centralizado.rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /RMAN> REGISTER DATABASE;RMAN> LIST DB_UNIQUE_NAME OF DATABASE;

Na máquina nerv02, conecte-se ao CATALOG centralizado.rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /RMAN> LIST DB_UNIQUE_NAME OF DATABASE;

Na máquina nerv03, conecte-se ao CATALOG centralizado.rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /RMAN> LIST DB_UNIQUE_NAME OF DATABASE;

Na máquina nerv01, conecte-se ao CATALOG centralizado.rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /RMAN> LIST DB_UNIQUE_NAME OF DATABASE;RMAN> LIST ARCHIVELOG ALL FOR DB_UNIQUE_NAME TERR02;RMAN> REPORT SCHEMA FOR DB_UNIQUE_NAME TERR02;RMAN> SHOW ALL FOR DB_UNIQUE_NAME TERR02;

Lab 19.1: RMAN CATALOG

Page 165: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

165

Na máquina nerv01, conecte-se ao CATALOG centralizado.RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DEVICE TYPE DISK;

RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE ALL INPUT;RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE ALL INPUT;Os ARCHIVEs foram apagados na Produção? E no Standby?

Lab 19.2: ARCHIVEs

Page 166: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

166

Na máquina nerv02, habilite o ACTIVE DATA GUARD.Na máquina nerv01, crie uma nova TABLESPACE.

Na máquina nerv01, crie uma tabela, com dados, na nova TABLESPACE.$ sqlplus SYSTEM/Nerv2018SQL> CREATE TABLE TESTE TABLESPACE TESTE AS SELECT * FROM ALL_OBJECTS;

Nas máquinas nerv01 ou nerv02, faça um backup completo do banco de dados.RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;

Na máquina nerv01, verifque qual o HEADER BLOCK dos dados desta Tabela.SQL> SELECT HEADER_BLOCK FROM DBA_SEGMENTS WHERE OWNER = 'SCOTT' AND SEGMENT_NAME = 'TESTE';

Na máquina nerv01, corrompa um bloco de dados do DATAFILE.$ dd of=/u01/app/oracle/oradata/NERV01/teste01.dbf bs=8192 conv=notrunc seek=131 <<EOF> Vamos corromper este datafile…> EOF

Na máquina nerv01, execute uma validação da TABLESPACE.RMAN> VALIDATE TABLESPACE TESTE CHECK LOGICAL;

Na máquina nerv01, leia os dados da tabela de teste, e observe o ALERT LOG.$ sqlplus SYSTEM/Nerv2018SQL> INSERT INTO TESTE SELECT * FROM TESTE;

Lab 19.3: Auto Block Repair

Page 167: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

167

Tuning

Page 168: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

168

Todos● COMPRESSION=ENABLE● LOG_ARCHIVE_MAX_PROCESSES● MAX_CONNECTIONS● MAX_FAILURE (>)● NET_TIMEOUT (>)● REOPEN (<)

Physical Standby● RECOVERY_PARALLELISM● ApplyParallel (Data Guard Broker)

Logical Standby● SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET('MAX_SERVERS', 26);● SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET('PREPARE_SERVERS', 3);● SQL> EXECUTE DBMS_LOGSTDBY.APPLY_SET('MAX_SGA', 1024);

Tuning

Page 169: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

169

Troubleshootng

Page 170: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

170

• Alert Log• Parâmetros• SQL*Net

Troubleshootng

Page 171: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

171

• V$DATABASE• V$DATABASE_INCARNATION• V$DATAFILE• V$LOG• V$LOGFILE• V$LOG_HISTORY•• V$ARCHIVE_DEST• V$ARCHIVE_DEST_STATUS• V$ARCHIVE_GAP• V$ARCHIVED_LOG•• V$DATAGUARD_CONFIG• V$DATAGUARD_STATS• V$DATAGUARD_STATUS• V$FS_FAILOVER_STATS• V$MANAGED_STANDBY• V$REDO_DEST_RESP_HISTOGRAM• V$STANDBY_EVENT_HISTOGRAM• V$STANDBY_LOG

Views

Page 172: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

172

• 0 Disables archived redo log tracing (default)• 1 Tracks archiving of log files• 2 Tracks archive status by archive log file destination• 4 Tracks archive operational phase• 8 Tracks archive log destination activity• 16 Tracks detailed archive log destination activity• 32 Tracks archive log destination parameter modifications• 64 Tracks ARCn process state activity• 128 Tracks FAL server process activity• 256 Tracks RFS Logical Client• 512 Tracks LGWR redo shipping network activity• 1024 Tracks RFS physical client• 2048 Tracks RFS/ARCn ping heartbeat• 4096 Tracks real-time apply activity• 8192 Tracks Redo Apply activity• 16384 Tracks archive I/O buffers• 32768 Tracks LogMiner dictionary archiving

LOG_ARCHIVE_TRACE

Page 173: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

173

Backup Incremental• Standby: SELECT CURRENT_SCN FROM V$DATABASE;• Produção: STANDBY CONTROLFILE• Produção: BACKUP INCREMENTAL FROM SCN 123456789 DATABASE;• Standby: RECOVER DATABASE;

Recover From Service (12c)• Standby: RMAN> RECOVER DATABASE FROM SERVICE PRD;• Standby: RMAN> RESTORE STANDBY CONTROLFILE FROM SERVICE PRD;

Recuperação de GAP

Page 174: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

174

Melhores Prátcas

Page 175: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

175

Melhores Prátcas

● Alta Disponibilidade não é Total Disponibilidade.● Alta Disponibilidade não é nem ao menos Máxima Disponibilidade.● A Máxima Disponibilidade só pode ser alcançada com um conjunto de tecnologias.● Compartlhe sobre as soluções e proteções da Alta Disponibilidade com o cliente.● Oracle Data Guard é mais disponível do que Standby Manual.● Oracle Data Guard não protege apenas contra desastres regionais.● Cada tpo de Data Guard te protege contra certos tpos de falhas.● O Oracle Data Guard é uma ferramenta de escalabilidade horizontal.● O Actve Data Guard também é uma ferramenta de disponibilidade.● Teste (e pratque) o Switchover / Switchback com frequência.● Monitore a replicação.● Utlize FLASHBACK.● O Snapshot Standby torna seu ambiente mais estável.● Utlize o Data Guard Broker: switchover mais rápido é maior disponibilidade.● Utlize o Data Guard Broker: ele é "gráts", você já pagou por ele.● O Oracle Data Guard é caro: utlize o máximo de recursos dele.

Page 176: Oracle Data Guard 12cR2 - Nervnervinformatica.com.br/Downloads/Materiais/ODG-12cR2.pdf · Oracle Data Guard 12cR2 em Oracle Enterprise Linux 7.4 ... AUTOTASK_MAX_ACTIVE_PDBS Initalizaton

176

Perguntas?Fórum: htp://nervinformatca.com.br/forum/

Ricardo Portlho [email protected] Informátca