Oracle Active Data Guard
Fehér Lajos Omnit Solutions Kft. 1
© 2011 Omnit
Oracle Data Guard – Standby Database
Oracle RDBMS Standard Edition •
Nem része a terméknek
Oracle RDBMS Enterprise Edition • •
2
Data Guard a termék része Active Data Guard opció külön licensz köteles
© 2011 Omnit
Data Guard architektúra A „Concept Guide” –ból kiemelve ….. A redo record, also called a redo entry, is made up of a group of change vectors, each of which is a description of a change made to a single block in the database. For example, if you change a salary value in an employee table, you generate a redo record containing change vectors that describe changes to the data segment block for the table, the undo segment data block, and the transaction table of the undo segments. …..
3
© 2011 Omnit
Data Guard architektúra Primary database transactions
Standby database
MRP or LSP LNSn
RFS
Redo buffer
Online Redo logs
Oracle net
LGWR
(Real-time apply)
Backup
Standby redo logs
ARC0
Reports
Gap resolution ARC0
Archived redo logs 4
© 2011 Omnit
Data Guard több, mint HA / DR megoldás HA / DR megoldás Elsődleges oldal tehermentesítése
5
•
Mentés / helyreállítás támogatása
•
Adat blokk sérülések kiszűrése
•
Riportok / adhoc lekérdezések kiszolgálása
•
Alkalmazás tesztelés, hot fix próba
•
Upgrade támogatása
© 2011 Omnit
Read – Only Standby Database
6
•
Redo apply szolgáltatás áll
•
Standby adatbázis elérhető csak olvasásra
•
Riportok vagy adhoc lekérdezések állapotának megfelelő időpillanatra
•
Kiesik a HA/DR megoldás
•
Nagyra nőhet a „lemaradás”
futtathatóak
a
megnyitás
© 2011 Omnit
Read – Only Standby Database • Támogatott SQL műveletek •
Select, komplex query
•
Tárolt eljárások (amennyiben nem módosítanak adatokat)
•
DBLINK
•
SET ROLE
•
ALTER SESSION / ALTER SYSTEM
• Nem támogatott SQL műveletek
7
•
DML / DDL
•
Szekvenciák használata
© 2011 Omnit
Read – Write Snapshot Standby Database – 11g DGMGRL> EDIT DATABASE 'STDBY’ SET STATE='APPLY-OFF'; SQL> SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT SQL> ALTER DATABASE FLASHBACK ON; DGMGRL> EDIT DATABASE 'STDBY’ SET STATE='APPLY-ON'; DGMGRL> CONVERT DATABASE 'STDBY’ TO SNAPSHOT STANDBY;
8
© 2011 Omnit
Read – Write Snapshot Standby Database – 11g DGMGRL> SHOW CONFIGURATION Configuration Name: DGConfig1 Enabled: YES Protection Mode: MaxPerformance Databases: PROD - Primary database STDBY - Snapshot standby database Fast-Start Failover: DISABLED Current status for "DGConfig1": SUCCESS
9
© 2011 Omnit
Read – Write Snapshot Standby Database – 11g
10
•
Nem kell külön licensz
•
Redo apply szolgáltatás áll, de a log transzport működik
•
Standby adatbázis elérhető teljes értékűen
•
Riportok vagy adhoc lekérdezések állapotának megfelelő időpillanatra
•
RAT és egyéb alkalmazás teszt funkciók
•
Hot fix, patchset ellenőrzés
•
Flashback database technológia használata
•
Kiesik a HA/DR megoldás
•
Nagyra nőhet a „lemaradás”
futtathatóak
a
megnyitás
© 2011 Omnit
Read – Write Snapshot Standby Database – 11g DGMGRL> CONVERT DATABASE 'STDBY' TO PHYSICAL STANDBY; DGMGRL> SHOW CONFIGURATION Configuration Name: DGConfig1 Enabled: YES Protection Mode: MaxPerformance Databases: PROD - Primary database STDBY - Physical standby database Fast-Start Failover: DISABLED Current status for "DGConfig1": SUCCESS
11
© 2011 Omnit
Oracle Active Data Guard – 11g
12
•
Külön licensz köteles
•
Standby adatbázis elérhető read-only módban
•
Redo apply működik
•
Valós idejű riportok vagy adhoc lekérdezések futtathatóak
•
RMAN block change tracking támogatás
•
Folyamatos HA/DR megoldás
•
Jelentős mértékben csökkenthető az elsődleges oldal terhelése
© 2011 Omnit
Oracle Active Data Guard – 11g DGMGRL> EDIT DATABASE 'STDBY’ SET STATE='APPLY-OFF'; SQL> ALTER DATABASE OPEN READ ONLY;
DGMGRL> EDIT DATABASE 'STDBY’ SET STATE='APPLY-ON';
13
© 2011 Omnit
Active Data Guard – változás alapú mentés RMAN – Block Change Tracking •
Jelentősen csökkenthető a mentés ideje, mérte
•
A mentés nem terheli az elsődleges oldal
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; List of changed blocks CTWR
1011001010110 0001110100101 1010101110011
Changetracking file
Redo generation
SGA
14
Redo log
© 2011 Omnit
Active Data Guard – Real Time Query Valós idejű adatok Alkalmazás tervezési szempont Valódi replikációs technológia Mview / Streams alternatíva
GoldenGate / Streams forrás OracleBI EE Plus adatforrás Riport load–balance lehetőség
15
© 2011 Omnit
Active Data Guard – Reader Farm
16
© 2011 Omnit
Data Guard konfigurációs kérdések Redo transzport szolgáltatás – OracleNet SYNC – NET_TIMEOUT paraméter (10 - 30) SQLNET.ORA •
OUTBOUND_CONNECT_TIMEOUT (3)
•
RECV_TIMEOUT
•
SEND_TIMEOUT
•
RECV_BUF_SIZE=2,332,500
•
SEND_BUF_SIZE=2,332,500
•
DEFAULT_SDU_SIZE = 32767
• TCP réteg hangolása •
net.core.rmem_max
•
net.core.wmem_max
• Redo compression (Advanced Compession - 729551.1)
17
© 2011 Omnit
Data Guard konfigurációs kérdések Redo apply szolgáltatás CPU count – parallel redo apply DB_ULTRA_SAFE = DATA_AND_INDEX DB_LOST_WRITE_PROTECTION = TYPICAL / FULL DB_CACHE_SIZE STANDBY_MAX_DATA_DELAY (11gR2)
18
© 2011 Omnit
Data Guard nyomkövetés SQL> SELECT * FROM V$RECOVERY_PROGRESS; Active Apply Rate oszlop
GRID Control - Metrics Statspack for DG - 454848.1 ASH riport - 1081055.1 AWR riport az elsődleges oldalon
19
© 2011 Omnit
Data Guard nyomkövetés Parallel Recovery Coordinator Wait Events Log file sequential read - The parallel recovery coordinator is waiting on I/O from the online redo log or the archived redo log Parallel recovery read buffer free - All read buffers are being used by slaves, and usually indicates that the recovery slaves lag behind the coordinator. Parallel recovery change buffer free - The parallel recovery coordinator is waiting for a buffer to be released by one of the recovery slaves. Again, this is a sign the recovery slaves are behind the coordinator. Datafile init write - The parallel recovery coordinator is waiting for a file resize to finish, as would occur with file auto extend. Parallel recovery control message reply - The coordinator has sent a synchronous control messages to all slaves, and is waiting for all slaves to reply.
20
© 2011 Omnit
Data Guard nyomkövetés Parallel Recovery Slave Wait Events Recovery read - A parallel recovery slave is waiting for a batch of asynchronous data block reads to complete. Checkpoint completed - A parallel recovery slave is waiting for Database Writer to complete checkpoint writes and not applying redo changes. DB File Sequential Read - A parallel recovery slave (or serial recovery process) is waiting for a batch of synchronous data block reads to complete. Parallel recovery slave next change - A parallel recovery slave is waiting for a change to be shipped from the coordinator. This is in essence an idle event for the recovery slave. To determine amount of CPU a recovery slave is taking, divide the time spent in this event by number of slaves started and subtract that value from total elapsed time. This will be close, because there are some waits involved. This is in essence an idle event for the recovery slave and can be ignored.
21
© 2011 Omnit
Data Guard nyomonkövetés CPU / IO probléma – Coordinator / Slave
CPU –k száma, minősége Memória mérete IO hatékonyság - OS eszközök (vmstat, sar, iostat, stb …)
22
© 2011 Omnit
Data Guard alkalmazás tervezési kérdések AUDIT_TRAIL konvetálódik OS -re vagy NONE RW – RO elérés – szervizek segítségével CREATE OR REPLACE TRIGGER manage_service after startup on database DECLARE role VARCHAR(30); BEGIN SELECT DATABASE_ROLE INTO role FROM V$DATABASE; IF role = 'PRIMARY' THEN DBMS_SERVICE.START_SERVICE('sales_rw'); ELSE DBMS_SERVICE.START_SERVICE('sales_ro'); END IF; END;
Kliens oldali TNS Sales_RW = (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=node1)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=node2)(PORT=1521)) (CONNECT_DATA = (SERVICE_NAME = sales_rw)))
23
© 2011 Omnit
Data Guard alkalmazás tervezési kérdések DBLINK a standby adatbázisban – RW / RO elérés DML és DDL átírányítás a DBLINK hívásokon keresztül SQL> insert into emp@sales_rw values (999,'SMITH','SUPER GEEK',999,sysdate,1,0); 1 row created. SQL> commit; SQL> exec sorfeldologzo@sales_rw;
ADG – QUERY_SCN Primary DB CURRENT_SCN ORA-1555 hiba – undo_retention paraméter helyes használata 11gR2:Real-Time SQL Monitoring - dbms_sqltune.report_sql_monitor SQL Performance Analyzer (SPA) támogatása
24
© 2011 Omnit
Data Guard alkalmazás tervezési kérdések Végrehajtási tervek figyelemmel követése, statisztika update További indexek a lekérdezések támogatásához Kliens oldalon load-balance alkalmazása, ha több DG site van – Reader Farm technológia
25
© 2011 Omnit
Köszönöm a figyelmet!
Fehér Lajos +36 (30) 400 1646
[email protected] 2011.06.29. | Fehér Lajos
© 2011 Omnit