1 Implementace Oracle Data Guard v Czech On Line Vlastislav SUCHARDA2 Implementace Oracle Data Guard v Czech On Line by Vlastislav SUCHARDA Copyright ...
Upozornění Tento dokument je důvěrného charakteru a jeho majitelem je společnost aplis.cz, a.s. Žádná jeho část nesmí být reprodukována, kopírována, publikována v jakékoli formě a jakýmkoli prostředkem, elektronickým či mechanickým zahrnujíce i fotokopírování. Žádná jeho část nesmí být uložena v informačních zdrojích umožňujících přístup či zveřejnění obsahu či jakékoli jeho části třetím stranám bez předchozího písemného souhlasu společnosti aplis.cz, a.s.
primární - databáze v režimu OPEN standby - databáze v režimu FYZICAL STANDBY primární observer (pozorovatel) - aplikační server standby observer - standby aplikační server
1.2.2. Vytvoření DG konfigurace Konfigurace pojmenována DSP-DG vytvořena příkazem na dispot-db serveru: $ dgmgrl / "create configuration 'DSP-DG' as primary database is 'DSP1' connect identifier is DSP1"
1.2.3. Přidání standby databáze do DG konfigurace Standby databáze DSP běžící na serveru dispot-db-stanby přidána do konfigurace příkazem: $ dgmgrl / "add database 'DSP2' as connect identifier is DSP2 maintained as physical"
1.2.7. Zobrazení a status DG konfigurace Zobrazení DG konfigurace možno provest příkazem: DGMGRL> show configuration Configuration Name: DSP-DG Enabled: YES Protection Mode: MaxAvailability Fast-Start Failover: DISABLED Databases: DSP1 - Primary database DSP2 - Physical standby database Current status for "DSP-DG": SUCCESS
1.2.8. Nastaveni a konfigurace Observer Architekturu a funkci observeru zobrazuje nasledující obrázek:
Obrázek 1.1. Vztah mezi primární, standby databáze a observeru Observer software je součástí volby Administrator při instalaci Oracle Client software, resp. jedna se o použití nastroje DGMGRL na serveru, na kterém se proces observeru spusti. V architekture COL byl Oracle Client Administrator doinstalovan na server dispot-as (primární observer) a dispot-as-standby (standby observer).
Spuštení a zastaveni observeru v prostředí COL: 1. Přihlášení ssh klientem na server dispot-as nebo dispot-as-standby uživatel oracle $ ssh oracle@dispot-as oracle@dispot-as's password: Last login: Fri Dec 8 18:30:40 2006 from vpn-telpro-1.hide.vol.cz oracle@dispot-as ~
1.2.10. Switchover Změnu role primární a standby databaze možno provest přikazem SWITCHOVER v DGMGRL. Před použitím příkazu je nutné zaručit: • online stav primární a standby db • žádné chyby v databázích reportovany do alert log souborů • běžící observer Kontrolu primární databaze provedeme příkazem: DGMGRL> show database verbose 'DSP1'; Database Name: Role: Enabled: Intended State: Instance(s): dsp
INSTALAČNÍ PROTOKOL 3. kontrola statusu databází příkazy $ dgmgrl / "show database 'DSP1'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. Database Name: Role: Enabled: Intended State: Instance(s): dsp
DSP1 PRIMARY YES ONLINE
Current status for "DSP1": SUCCESS oracle@dispot-db ~ $ dgmgrl / "show database 'DSP2'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. Database Name: Role: Enabled: Intended State: Instance(s): dsp
DSP2 PHYSICAL STANDBY YES ONLINE
Current status for "DSP2": SUCCESS
4. kontrola monitorable property StatusReport příkazem (ORA-16810) $ dgmgrl / "show database 'DSP1' 'StatusReport'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. STATUS REPORT INSTANCE_NAME SEVERITY ERROR_TEXT $ dgmgrl / "show database 'DSP2' 'StatusReport'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. STATUS REPORT INSTANCE_NAME SEVERITY ERROR_TEXT
INSTALAČNÍ PROTOKOL DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. LOG TRANSPORT STATUS PRIMARY_INSTANCE_NAME STANDBY_DATABASE_NAME dsp DSP2
STATUS
6. kontrola monitorable property InconsistentProperties příkazem (ORA-16714) $ dgmgrl / "show database 'DSP1' 'InconsistentProperties'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. INCONSISTENT PROPERTIES INSTANCE_NAME PROPERTY_NAME MEMORY_VALUE BROKER_VALUE
SPFILE_VALUE
7. kontrola monitorable property InconsistentLogXptProps příkazem (ORA-16715) $ dgmgrl / "show database 'DSP1' 'InconsistentLogXptProps'" DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production Copyright (c) 2000, 2005, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected. INCONSISTENT LOG TRANSPORT PROPERTIES INSTANCE_NAME STANDBY_NAME PROPERTY_NAME BROKER_VALUE
MEMORY_VALUE
8. kontrola alert log souboru databází $ tail -100f /cygdrive/c/oracle/admin/dsp/bdump/alert_dsp.log
9. kontrola Data Guard "broker log" v $ORACLE_HOME/RDBMS/log/drc*.log
1.3. Oracle Net Configuration for Failover Sekce se zabývá Oracle Net klientskou konfigurací high-availability, v případě COL se jedná o aplikační vrstvu, resp. dispot-as a dispot-as-standby.
1.3.1. Connect-Time Failover Connect-Time Failover je definován jako "failed initial connection attempt", který musí být opakován proti jiné IP adrese. Nastaveno v tnsnames.ora sekce ADDRESS_LIST: (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.3)(PORT = 1521)) )
1.3.2. Transparent Application Failover (TAF) Transparent Application Failover odkazuje na failover spojeni, které již bylo navázáno, když server nebo instance databáze jde dolů. Toto je kontrolováno parametrem FAILOVER, FAILOVER_MODE v souboru tnsnames.ora. • FAILOVER=ON • FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC), vytvoření session pouze na jeden server (primarní), v případě chyby se provede restart session oracle@dispot-as /cygdrive/c/oracle/Ora10Client/NETWORK/ADMIN $ head -17 /cygdrive/c/oracle/Ora10Client/NETWORK/ADMIN/tnsnames.ora # tnsnames.ora Network Configuration File: C:\oracle\Ora10Client\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. DSP = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE=OFF) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.3)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dsp) (INSTANCE_NAME = DSP1) (FAILOVER_MODE = (TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY=5)) ) ) oracle@dispot-as-standby ~ $ head -17 /cygdrive/c/oracle/Ora10Client/NETWORK/ADMIN/tnsnames.ora # tnsnames.ora Network Configuration File: C:\oracle\Ora10Client\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. DSP = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE=OFF) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.6.3)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dsp) (INSTANCE_NAME = DSP1)