2
Caractersticas da Alta Disponibilidade
Confiana
Recuperabilidade
Deteco de erros em tempo hbil
Continuidade operacional
3
Anlise de Alta Disponibilidade
Anlise de impacto no negcio
Custo de tempo fora de operao
Objetivo de tempo de recuperao (RTO)
Objetivo de ponto de recuperao (RPO)
Meta de gerenciamento
Custo total de propriedade (TCO)
Retorno sobre o investimento (ROI)
4
Sistemas e Alta Disponibilidade
Camada 1 (Faturamento, Vendas)
Camada 2 (Compras, Estoque)
Camada 3 (BI, Desenvimento)
5
Custos e Alta Disponibilidade
Tempo mximo de parada tolerado.
Frequncia mxima de paradas tolerada.
Custos facilmente mensurveis (vendas, funcionrios ociosos, multas contratuais)
Custos dificilmente mensurveis (processos judiciais)
Custos no mensusveis (publicidade negativa, clientes irritados)
6
Implantao de Alta Disponibilidade
7
Solues Oracle para Alta Disponibilidade
Fast-Start Fault Recovery
Oracle Restart
Oracle Real Application Clusters and Oracle Clusterware
Oracle RAC One Node
Oracle Data Guard
Oracle GoldenGate and Oracle Streams
Oracle Flashback Technology
Oracle Automatic Storage Management
Fast Recovery Area
Recovery Manager
Data Recovery Advisor
Oracle Secure Backup
Oracle Security Features
LogMiner
Oracle Exadata Storage Server Software (Exadata Cell)
Oracle Exadata Database Machine
Oracle Database File System (DBFS)
Client Failover
Automatic Block Repair
Corruption Prevention, Detection, and Repair
8
Indisponibilidades Planejadas
Operating system and hardware upgrades -> Oracle RAC
Oracle Database patches -> Oracle RAC
Oracle Grid Infrastructure upgrades and patches -> Oracle RAC
Storage Migration -> Oracle ASM
Migrating to Exadata Storage -> Oracle MAA best practices
Upgrading Exadata Storage -> Exadata Patch Manager
Migrating a single-instance database to Oracle RAC -> Oracle Grid Infrastructure
Migrating to Oracle ASM -> Oracle Data Guard
Migrating 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,
Operating System and Hardware Upgrades -> Oracle Data Guard Standby-First Patch Apply
Migration across Windows and Linux -> Oracle Data Guard
Platform migration across the same endian format platforms -> Transportable database
Platform migration across different endian format platforms -> Transportable tablespace
Patch set and database upgrades, platform migration, rolling upgrades, and when different
character sets are required -> Oracle GoldenGate and Oracle Streams
Application upgrades -> Online Application Maintenance and Upgrades
9
Indisponibilidades no Planejadas
Site Failures -> Oracle Data Guard
Site Failures -> Oracle GoldenGate and Oracle Streams
Site Failures -> Recovery Manager
Computer Failures -> Oracle Real Application 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 Automatic 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 Corruption -> Oracle Exadata Storage Server Software (Exadata Cell) and Oracle ASM
Data Corruption -> Corruption Prevention, Detection, and Repair
Data Corruption -> Data Recovery Advisor and RMAN with Fast Recovery Area
Data Corruption -> Oracle Data Guard
Data Corruption -> 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 Software (Exadata Cell)
Hangs or slow down - Oracle Database and Oracle Enterprise Manager
10
Maiores informaes
High Availability Overview:
http://docs.oracle.com/database/121/HAOVW/toc.htm
11
Oracle Data Guard: Evoluo
12
New Features Data Guard 10.1
Data Guard Broker Support for RAC
Automatic LogMiner Configuration
Log Miner Support for Index-Organized Tables
LogMiner Support for More Types: LONG, Multibyte CLOB and NCLOB
Fine-Grained Supplemental Logging
Secured Redo Transmission
Uniquely Named Databases with DB_UNIQUE_NAME
Simplified Zero Data Loss for Data Guard SQL Apply
Zero Downtime Instantiation for SQL Apply
Real Time Apply
Automating Recovery Through Open Resetlogs in Standby Databases
13
New Features Data Guard 10.2
Fast-Start Failover
Automatic Conversion of the Primary Database to a Standby Database Upon Failover
Optimized Asynchronous Redo Transmission
Faster Redo Apply Failover
Faster SQL Apply Failover
Additional Data Type Support in LogMiner and SQL Apply
Automatic Deletion of Applied Archive Logs
Data Guard: Improved Manageability for Redo Transport, Log Apply, and Broker
Easy Conversion of a Physical Standby Database to a Reporting Database
Flashback Across Data Guard Switchovers
Fine-Grained, Automated Tracking of SQL Apply Runtime Performance
Optimized Creation of Logical Standby Database
14
New Features Data Guard 11.1
Fast-Start Failover for Maximum Performance Mode
Compression of Redo Traffic (Only for Gap Resolution)
Real-Time Query Capability of Physical Standby Database
Fast Role Transitions in a Data Guard Configuration
User Configurable Conditions to Initiate Fast-Start Failover
Dynamic Setting 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 Authentication 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 Auditing (FGA) Support in Data Guard SQL Apply
Support Transparent Data Encryption (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
15
New Features Data Guard 11.2
Automatic Block Repair
Compressed Table Support in Logical Standby Databases and Oracle LogMiner
Configurable Real-Time Query Apply Lag Limit
Integrated Support for Application Failover in a Data Guard Configuration
Support Up to 30 Standby Databases
Universal Connection Pool (UCP) Integration with Oracle Data Guard
Enable Sampling for Active Data Guard
SQL Apply Support for Object Relational Model
SQL Apply Support for Binary XML
16
New Features Data Guard 12.1.0.1
Fast Sync
Oracle Advanced Queuing (AQ) Support for Data Guard Database Rolling Upgrade
17
Oracle Data Guard - Conceitos
18
Configuraes
Primary database
Physical standby database
Logical standby database
Snapshot Standby Database
19
Servios
Redo Transport Services
Apply Services
Role Transitions
20
Role Transitions
Switchover
Switchback
Failover
Reinstate
Convert
21
Interfaces
Enterprise Manager / Grid Control / Cloud Control
DGMGRL
SQL*Plus
Initialization Parameters
22
Modos de Proteo
Maximum Performance
Maximum Availability
Maximum Protection
23
Tecnologias Complementares
Oracle RAC
Flashback Database
RMAN
24
Por que Data Guard?
Vantagens
Proteo contra desastres.
Completa proteo de dados.
Uso eficiente de recursos.
Flexibilidade entre disponibilidade e desempenho.
Flexibilidade entre configuraes.
Deteco e resoluo automtica de erros.
Gerenciamento simples e centralizado.
Integrao completa com Oracle Database.
Automatic role transitions.
Desvantagens
Maior complexidade do ambiente.
Maior custo de licenas.
Maior custo de equipamentos.
Maior custo de conhecimento.
25
Lab 1: Standby Manual
26
Lab 1.1: Standby Manual
Na mquina nerv01, crie um banco de dados com o nome SeuNome01.
$ dbca -silent -createDatabase -templateName New_Database.dbt -gdbName TERRA01
-sysPassword Nerv2014 -systemPassword Nerv2015 -characterset WE8ISO8859P1
-nationalCharacterSet AL16UTF16 -emConfiguration NONE -databaseType OLTP
27
Lab 1.2: Standby Manual
Na mquina nerv02, inicie a instncia em NOMOUNT.
RMAN> STARTUP NOMOUNT;
28
Lab 1.3: Standby Manual
Na mquina nerv01, verifique 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 mquina nerv01, copie os ARCHIVED REDO LOGs para a mquina nerv02, para qualquer
diretrio.
29
Lab 1.4: Standby Manual
Na mquina nerv01, gere mais ARCHIVED REDO LOGs
RMAN> ALTER SYSTEM SWITCH LOGFILE;
RMAN> ALTER SYSTEM SWITCH LOGFILE;
RMAN> ALTER SYSTEM SWITCH LOGFILE;
Na mquina nerv01, copie os ARCHIVED REDO LOGs para a mquina nerv02, para o mesmo
diretrio que est na mquina nerv01.
30
Physical Standby
31
Por que?
Vantagens
Proteo contra desastres.
Proteo de dados.
Reduo da carga na produo (RMAN, Read only SQL).
Baixo impacto na Produo.
Desvantagens
Banco de dados disponvel apenas para leitura.
O Standby deve ser uma cpia exata da Produo.
32
Parmetros
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)
33
LOG_ARCHIVE_DEST_n
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
34
Lab 2: Physical Standby
35
Lab 2.1 (Cold Filesystem Backup)
Na mquina nerv01, crie uma entrada no /etc/hosts para a mquina nerv02.
Na mquina nerv02, crie uma entrada no /etc/hosts para a mquina nerv01.
Na mquina nerv01, crie uma entrada no tnsnames.ora para as instncias das mquinas nerv01 e
nerv02.
TERRA01=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=nerv01)
(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TERRA01)(SERVER=DEDICATED)))
TERRA02=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=nerv02)
(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TERRA02)(SERVER=DEDICATED)))
Teste a resoluo de nomes (ping) e o Oracle Net (tnsping) entre as duas mquinas.
Por que no funciona?
36
Lab 2.2 (Cold Filesystem Backup)
Nas mquinas nerv01 e nerv02, crie um diretrio para armazenar ARCHIVED REDO LOGs.
37
Lab 2.3 (Cold Filesystem Backup)
Na mquina nerv01, passe a instncia ao estado SHUTDOWN, e copie todos os DATAFILEs
para a mquina nerv02, para o mesmo diretrio da mquina nerv01.
38
Lab 2.4 (Cold Filesystem Backup)
Na mquina nerv02, passe a instncia ao estgio MOUNT.
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
39
Checklist para Physical Standby
Modo ARCHIVELOG.
FORCE LOGGING.
Resoluo de nomes bilateral.
Resoluo de SQL*Net bilateral.
Autenticao via PASSWORD FILE.
Adequao de parmetros no PRIMARY.
Adequao de parmetros no STANDBY.
Criao e cpia de STANDBY CONTROLFILE.
Backup e Restore.
No Physical Standby, MOUNT em modo STANDBY DATABASE.
Criao de STANDBY REDO LOGs.
No Physical Standby, execuo de RECOVER MANAGED STANDBY.
40
Lab 3.1 (User Managed Backup)
Na mquina nerv02, passe a instncia ao estgio SHUTDOWN.
41
Lab 3.2 (User Managed Backup)
Na mquina nerv02, inicie a instncia, deixando-a em estado NOMOUNT;
42
Lab 4.1 (RMAN Hot Backup)
Na mquina nerv02, passe a instncia ao estgio SHUTDOWN.
43
Lab 4.2 (RMAN Hot Backup)
Na mquina nerv02, inicie a instncia em NOMOUNT.
RMAN> STARTUP NOMOUNT;
44
Lab 5.1 (RMAN Duplication)
Na mquina nerv02, passe a instncia ao estgio SHUTDOWN.
Na mquina nerv01, conecte-se com RMAN das duas instncias e execute a duplicao.
$ rman TARGET / AUXILIARY=SYS/Nerv2015@TERRA02
RMAN> DUPLICATE TARGET DATABASE FOR STANDBY DORECOVER
NOFILENAMECHECK;
45
Lab 5.2 (RMAN Duplication)
Na mquina nerv02, altere os seguintes parmetros.
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERRA02 SCOPE=SPFILE;
46
Lab 6.1 (RMAN Active Duplication)
Na mquina nerv02, passe a instncia ao estgio SHUTDOWN.
Na mquina nerv01, conecte-se com RMAN das duas instncias e execute a duplicao.
$ rman TARGET SYS/Nerv2015 AUXILIARY=SYS/Nerv2015@TERRA02
RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE
DORECOVER NOFILENAMECHECK;
47
Lab 6.2 (RMAN Active Duplication)
Na mquina nerv02, altere os seguintes parmetros.
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERRA02 SCOPE=SPFILE;
48
Modos de Proteo
49
Modos de Proteo
- Maximum Performance (NOAFFIRM, ASYNC)
- Maximum Availability (AFFIRM, SYNC)
- Maximum Protection (AFFIRM, SYNC)
50
Lab 7.1: Modos de Proteo
Nas mquinas nerv01 e nerv02, acompanhe o Alert Log durante este Lab.
51
Lab 7.2: Modos de Proteo
Na mquina nerv01, verifique qual o PROTECTION MODE atual.
SQL> SELECT PROTECTION_MODE FROM V$DATABASE;
Na mquina nerv01, crie uma tabela de testes e duplique-a 8 vezes, contando o tempo.
SQL> SET TIMING ON
SQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> INSERT INTO T SELECT * FROM T;
SQL> COMMIT;
52
Lab 7.3: Modos de Proteo
Na mquina nerv01, altere o PROTECTION MODE.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=
'SERVICE=TERRA02 SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=TERRA02';
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
53
Lab 7.4: Modos de Proteo
Na mquina nerv01, altere o PROTECTION MODE.
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
54
Lab 7.5: Modos de Proteo
Na mquina nerv02, execute SHUTDOWN IMMEDIATE.
Por que no funciona?
55
Switchover
56
Lab 8.1: Switchover
Na mquina nerv01, altere os seguintes parmetros.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> ALTER SYSTEM SET FAL_SERVER=TERRA02;
57
Lab 8.2: Switchover
Na mquina nerv01, inicie o RECOVER como um STANDBY.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM
SESSION;
Na mquina nerv02, gere alguns ARCHIVED REDO LOGs e acompanhe o Alert Log.
58
Switchback
59
Lab 9.1: Switchback
Na mquina nerv02, verifique 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 mquina nerv01, gere alguns ARCHIVED REDO LOGs e acompanhe o Alert Log.
60
Lab 9.2: Switchback
Na mquina nerv01, execute o SWITCHOVER com a sintaxe 12c.
SQL> ALTER DATABASE SWITCHOVER TO TERRA02 VERIFY;
SQL> ALTER DATABASE SWITCHOVER TO TERRA02;
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM
SESSION;
61
Failover
62
Lab 10.1: Failover
Na mquina nerv01, habilite o FLASHBACK (necessrio para o REINSTATE).
SQL> ALTER DATABASE FLASHBACK ON;
63
Lab 10.2: Failover
Na mquina nerv02, verifique a possibilidade de FAILOVER.
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
64
Reinstate
65
Lab 11.1: Reinstate
Na mquina nerv01, volte a um SCN mais antigo que o FAILOVER.
SQL> STARTUP MOUNT;
SQL> FLASHBACK DATABASE TO SCN 912044;
66
Logical Standby
67
Logical Standby
68
Por que?
Vantagens
Proteo contra tipos de falhas adicionais.
Uso eficiente de recursos.
Distribuio de carga.
Otimizao para relatrios e requerimentos de suporte a decises.
Minimizar tempo de parada durante upgrades.
Desvantagens
Diversas limitaes de tipos de dados.
Diversas limitaes de comandos SQL.
Aplicao do comando SQL, e no do REDO LOG.
69
Tipos de dados no suportados
BFILE
ROWID, UROWID
Collections (including VARRAYs and nested tables)
Objects with nested tables and REFs
Spatial type MDSYS.SDO_GEORASTER
Spatial type MDSYS.SDO_TOPO_GEOMETRY
Identity columns
70
Comandos SQL ignorados
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
71
Controle
SQL> EXECUTE DBMS_LOGSTDBY.SKIP (STMT => 'DML', SCHEMA_NAME => 'HR',
OBJECT_NAME => 'EMPLOYEES');
72
Adaptaes
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;
73
Views
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
74
Lab 12: Logical Standby
75
Lab 12.1: Logical Standby
Na mquina nerv01, crie uma entrada no /etc/hosts para a mquina nerv03.
Na mquina nerv02, crie uma entrada no /etc/hosts para a mquina nerv03.
Na mquina nerv03, crie uma entrada no /etc/hosts para a mquina nerv01.
Na mquina nerv03, crie uma entrada no /etc/hosts para a mquina nerv02.
Teste a resoluo de nomes (ping) e o Oracle Net (tnsping) entre as trs mquinas.
Por que no funciona?
76
Lab 12.2: Logical Standby
Na mquina nerv01, copie o SPFILE para a mquina nerv03.
77
Lab 12.3: Logical Standby
Na mquina nerv01, conecte-se com RMAN das duas instncias e execute a duplicao.
$ rman TARGET SYS/Nerv2015 AUXILIARY=SYS/Nerv2015@TERRA03
RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE
DORECOVER NOFILENAMECHECK;
78
Lab 12.4: Logical Standby
Aps a mquina nerv03 estar sincronizada, cancele o RECOVER.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
79
Lab 12.5: Logical Standby
Na mquina nerv01, crie uma tabela de teste.
$ sqlplus / AS SYSDBA
SQL> DROP TABLE T;
SQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;
SQL> SELECT COUNT(*) FROM T;
80
Active Data Guard
81
Lab 13.1: Active Data Guard
Na mquina 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;
82
Lab 13.2: Active Data Guard
Na mquina nerv02, inicie o RECOVER, com o banco de dados para leitura.
SQL> CONN / AS SYSDBA
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT
LOGFILE DISCONNECT;
SQL> SELECT OPEN_MODE FROM V$DATABASE;
83
Snapshot Standby
84
Por que?
Vantagen
Reduo dos tempos de Refresh (Pr-produo, Homologao, Desenvolvimento).
Garantia da integridade dos ambientes de homologao e testes.
Desvantagens
Maior espao em disco necessrio, para Archives e Fast Recovery Area.
Necessria estrutura de banco de dados igual ao da Produo
Perda de alteraes aps converso para Physical Standby.
Maior tempo de RECOVER necessrio, em caso de utilizao para Disaster Recovery.
85
Lab 14.1: Snapshot Standby
Na mquina 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;
86
Lab 14.2: Snapshot Standby
Na mquina nerv02, verifique que a alterao agora foi feita.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE OPEN;
SQL> CONN SCOTT/TIGER
SQL> SELECT COUNT(*) FROM T;
87
Cascade Standby
88
Lab 15.1: Cascade Standby
Na mquina nerv01, cancele o envio de REDO LOG para a mquina nerv03.
Na mquina nerv01, faa uma alterao na tabela de testes e veja se propagada para a
mquina nerv03.
89
Far Sync
90
Far Sync
91
Lab 16.1: Far Sync
Na mquina nerv01, crie uma entrada no /etc/hosts para a mquina nerv04.
Na mquina nerv02, crie uma entrada no /etc/hosts para a mquina nerv04.
Na mquina nerv03, crie uma entrada no /etc/hosts para a mquina nerv04.
Na mquina nerv04, crie uma entrada no /etc/hosts para a mquina nerv01.
Na mquina nerv04, crie uma entrada no /etc/hosts para a mquina nerv02.
Na mquina nerv04, crie uma entrada no /etc/hosts para a mquina nerv01.
Na mquina nerv01, crie uma entrada no tnsnames.ora para a instncia da mquina nerv04.
Na mquina nerv01, copie o tnsnames.ora para a mquina nerv02.
Na mquina nerv01, copie o tnsnames.ora para a mquina nerv03.
Na mquina nerv01, copie o tnsnames.ora para a mquina nerv04.
Teste a resoluo de nomes (ping) e o Oracle Net (tnsping) entre as trs mquinas.
Por que no funciona?
92
Lab 16.2: Far Sync
Na mquina nerv01, crie um FAR SYNC STANDBY CONTROLFILE, e copie para a mquina
nerv04, para a localizao dos CONTROLFILEs.
SQL> ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/STBFS.ctl';
Na mquina nerv01, cancele a replicao para a mquina nerv02, e habilite o envio para a
mquina 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 no funciona?
93
Lab 16.2: Far Sync
Na mquina nerv04, habilite a replicao para a mquina nerv02.
SQL> STARTUP NOMOUNT;
SQL> ALTER SYSTEM SET SERVICE_NAMES=TERRA04 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=TERRA04 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=TERRA04';
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TERRA02 ASYNC
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TERRA02';
SQL> ALTER SYSTEM SET FAL_SERVER=TERRA01;
SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 52428800;
SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 52428800;
SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 52428800;
SQL> ALTER DATABASE ADD STANDBY LOGFILE SIZE 52428800;
94
Data Guard Broker
95
Data Guard Broker
96
Data Guard Broker
97
Componentes Data Guard Broker
98
Bystander Standby Databases
99
Lab 17.1: Data Guard Broker
Habilite o FLASHBACK DATABASE em todos os bancos de dados.
Adicione uma entrada esttica para o Data Guard Broker no listener.ora de cada mquina.
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 = TERRA01_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0.2/db_1)
(SID_NAME = TERRA01)
)
)
ADR_BASE_LISTENER = /u01/app/oracle
100
Lab 17.2: Data Guard Broker
Na mquina nerv01, habilite o Data Guard Broker.
[oracle@nerv01 ~]$ dgmgrl SYS/Nerv2015@TERRA01
DGMGRL> CREATE CONFIGURATION 'DRSolution' AS PRIMARY DATABASE IS TERRA01
CONNECT IDENTIFIER IS TERRA01;
Por que no funciona?
101
Lab 17.3: Data Guard Broker
Na mquina nerv01, verifique detalhes de um banco de dados.
DGMGRL> SHOW DATABASE VERBOSE TERRA01;
DGMGRL> EDIT DATABASE TERRA01 SET PROPERTY 'ArchiveLagTarget'=1200;
DGMGRL> SHOW DATABASE TERRA01 'ArchiveLagTarget';
102
Lab 17.4: Data Guard Broker
Na mquina nerv01, simule uma manuteno do ambiente.
DGMGRL> EDIT DATABASE TERRA03 SET STATE='APPLY-OFF';
DGMGRL> EDIT DATABASE TERRA02 SET STATE='APPLY-OFF';
DGMGRL> EDIT DATABASE TERRA01 SET STATE=TRANSPORT-OFF;
Por que no funciona?
103
Lab 17.5: Data Guard Broker
Na mquina nerv01, se no tiver nenhum erro, execute Switchover para a mquina nerv02.
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SWITCHOVER TO TERRA02;
Na mquina nerv01, se no tiver nenhum erro, execute Switchover para a mquina nerv01.
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SWITCHOVER TO TERRA01;
Na mquina nerv01, se no tiver nenhum erro, execute Switchover para a mquina nerv03.
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SWITCHOVER TO TERRA03;
Por que no funciona?
Na mquina nerv01, se no tiver nenhum erro, execute Switchover para a mquina nerv01.
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SWITCHOVER TO TERRA01;
O que aconteceu?
104
Lab 17.6: Data Guard Broker
A partir da mquina nerv01, converta o banco de dados da mquina nerv02 para SNAPSHOT
STANDBY.
[oracle@nerv01 ~]$ dgmgrl SYS/Nerv2014@TERRA02
DGMGRL> CONVERT DATABASE TERRA02 TO SNAPSHOT STANDBY;
Na mquina nerv01, se no tiver nenhum erro, execute Switchover para a mquina nerv02.
DGMGRL> SWITCHOVER TO TERRA02;
Por que no funciona?
105
Lab 17.7: Data Guard Broker
Na mquina nerv01, simule uma indisponibilidade no planejada.
SQL> SHUTDOWN ABORT;
106
Fast-Start Failover
107
Lights out administration
108
Lights out administration
Produo:
srvctl add service -d TERRA01 -s OLTP -l PRIMARY -w 1 -z 10
srvctl add service -d TERRA01 -s OLAP -l PHYSICAL_STANDBY -w 1 -z 10
Standby:
srvctl add service -d TERRA02 -s OLTP -l PRIMARY -w 1 -z 10
srvctl add service -d TERRA02 -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))
)
109
Lab 18.1: Fast-Start Failover
Confira se os bancos da mquina nerv01 e nerv02 esto com FLASHBACK ativado.
110
Lab 18.2: Fast-Start Failover
Na mquina nerv01, simule uma indisponibilidade no planejada.
SQL> SHUTDOWN ABORT;
111
Lab 18.3: Fast-Start Failover
Na mquina nerv01, verifique as condies de Fast-Start Failover:
DGMGRL> SHOW FAST_START FAILOVER;
Pare o OBSERVER.
112
Data Guard Backup & Recovery
113
Lab 19.1: RMAN CATALOG
Na mquina nerv01, conecte-se ao CATALOG centralizado.
rman CATALOG=USER_CATALOGO/USER_CATALOGO@CATALOGO TARGET /
RMAN> REGISTER DATABASE;
RMAN> LIST DB_UNIQUE_NAME OF DATABASE;
114
Lab 19.2: ARCHIVEs
Na mquina 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;
115
Lab 19.3: Auto Block Repair
Na mquina nerv02, habilite o ACTIVE DATA GUARD.
Na mquina nerv01, crie uma nova TABLESPACE.
Na mquina nerv01, crie uma tabela, com dados, na nova TABLESPACE.
SQL> CONN SCOTT/TIGER
SQL> CREATE TABLE TESTE TABLESPACE TESTE AS SELECT * FROM ALL_OBJECTS;
Na mquina nerv01, verifique qual o HEADER BLOCK dos dados desta Tabela.
SQL> SELECT HEADER_BLOCK FROM DBA_SEGMENTS WHERE OWNER = 'SCOTT' AND
SEGMENT_NAME = 'TESTE';
116
Tuning
117
Tuning
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);
118
Troubleshooting
119
Troubleshooting
Alert Log
Parmetros
SQL*Net
120
Views
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
121
LOG_ARCHIVE_TRACE
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
122
Recuperao de GAP
Backup Incremental
Standby: SELECT CURRENT_SCN FROM V$DATABASE;
Produo: STANDBY CONTROLFILE
Produo: BACKUP INCREMENTAL FROM SCN 123456789 DATABASE;
Standby: RECOVER DATABASE;
123
Melhores Prticas
124
Melhores Prticas
Monitore a replicao.
Utilize FLASHBACK.
Utilize o Data Guard Broker: ele "grtis", voc j pagou por ele.
125