Implementace Oracle Data Guard v Czech On Line Vlastislav SUCHARDA <vsucharda@aplis.cz>
Implementace Oracle Data Guard v Czech On Line by Vlastislav SUCHARDA Copyright 2006 aplis.cz, a.s. Abstrakt Dokument popisuje implementaci produktu Oracle Data Guard v prostředí Czech On Line (COL) dle objednávky firmy Telpro a.s. 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.
Obsah 1. INSTALAČNÍ PROTOKOL.................................................. 1 1.1. Identifikace prostředí.................................................. 1 1.1.1. Systémové informace........................................... 1 1.1.2. Databázové informace.......................................... 2 1.2. Konfigurace Data Guard (DG)......................................... 4 1.2.1. Inicializační parametry, předpoklady.............................. 4 1.2.2. Vytvoření DG konfigurace....................................... 6 1.2.3. Přidání standby databáze do DG konfigurace....................... 6 1.2.4. Nastavení properties databází.................................... 6 1.2.5. Nastavení protection modu...................................... 6 1.2.6. Enabling DG konfigurace....................................... 6 1.2.7. Zobrazení a status DG konfigurace............................... 7 1.2.8. Nastaveni a konfigurace Observer................................ 7 1.2.9. Fast-Start Failover.............................................. 8 1.2.10. Switchover................................................... 8 1.2.11. Monitoring Data Guard Configuration.......................... 10 1.3. Oracle Net Configuration for Failover.................................. 13 1.3.1. Connect-Time Failover......................................... 13 1.3.2. Transparent Application Failover (TAF).......................... 13 Použitá literatura............................................................. 15 Copyright 2006 aplis.cz, a.s. iv
Seznam obrázků 1.1. Vztah mezi primární, standby databáze a observeru............................ 7 Copyright 2006 aplis.cz, a.s. v
Kapitola 1. INSTALAČNÍ PROTOKOL Dokument popisuje implementaci produktu Oracle Data Guard v prostředí Czech On Line (COL) dle objednávky firmy Telpro a.s. Implementace byla provedena zabezpečeným vzdáleným připojenim (Cisco VPN Client) do sítě COL z vnitřní sítě aplis.cz. 1.1. Identifikace prostředí Systém Oracle Data Guard byl instalovan na čtyři servery, jejichž databázová role jsou následující: 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 Na všech serverech byl předinstalovan funkční OS a funkční Oracle RDBMS software. 1.1.1. Systémové informace 1.1.1.1. Primární db server System Manufacturer System Model System Type Processor(s) Total Physical Memory OS Name FUJITSU SIEMENS PRIMERGY RX600 S3 Rack X86-based PC 8 x x86 Family 15 Model 4 Stepping 8 GenuineIntel ~2660 Mhz 8,185 MB Microsoft(R) Windows(R) Server 2003, Enterprise Edition OS Version 5.2.3790 Service Pack 1 Build 3790 Platform Windows Directory Network Card(s) Hostname 32-bit Microsoft Windows Server 2003 R2 C:\WINDOWS Broadcom NetXtreme Gigabit Ethernet, Local Area Connection, IP address 172.20.6.2 dispot-db 1.1.1.2. Standby db server System Manufacturer System Model System Type Processor(s) Total Physical Memory OS Name FUJITSU SIEMENS PRIMERGY RX600 S3 Rack X86-based PC 8 x x86 Family 15 Model 4 Stepping 8 GenuineIntel ~2660 Mhz 8,185 MB Microsoft(R) Windows(R) Server 2003, Enterprise Edition OS Version 5.2.3790 Service Pack 1 Build 3790 Platform 32-bit Microsoft Windows Server 2003 R2 Copyright 2006 aplis.cz, a.s. 1
Windows Directory Network Card(s) Hostname C:\WINDOWS Broadcom NetXtreme Gigabit Ethernet, Local Area Connection, IP address 172.20.6.3 dispot-db-stanby 1.1.1.3. Primární observer System Manufacturer System Model System Type Processor(s) Total Physical Memory OS Name FUJITSU SIEMENS PRIMERGY RX200 S3 X86-based PC 8 x x86 Family 15 Model 6 Stepping 4 GenuineIntel ~3191 Mhz 2,047 MB Microsoft(R) Windows(R) Server 2003, Enterprise Edition OS Version 5.2.3790 Service Pack 1 Build 3790 Platform Windows Directory Network Card(s) Hostname 32-bit Microsoft Windows Server 2003 R2 C:\WINDOWS Broadcom NetXtreme Gigabit Ethernet, Local Area Connection, IP address 172.20.6.4 dispot-as 1.1.1.4. Standby observer System Manufacturer System Model System Type Processor(s) Total Physical Memory OS Name FUJITSU SIEMENS PRIMERGY RX200 S3 X86-based PC 8 x x86 Family 15 Model 6 Stepping 4 GenuineIntel ~3191 Mhz 2,047 MB Microsoft(R) Windows(R) Server 2003, Enterprise Edition OS Version 5.2.3790 Service Pack 1 Build 3790 Platform Windows Directory Network Card(s) Hostname 32-bit Microsoft Windows Server 2003 R2 C:\WINDOWS Broadcom NetXtreme Gigabit Ethernet, Local Area Connection, IP address 172.20.6.5 dispot-as 1.1.2. Databázové informace 1.1.2.1. Primární a standby server DB Name DB Global Name Instance Name DSP DSP.VOL.CZ dsp Copyright 2006 aplis.cz, a.s. 2
Archive Log Mode ARCHIVELOG DBID 4068086873 Version RDBMS Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production ORACLE_HOME C:\Oracle\Ora10 1.1.2.2. Primární a standby observer DB Name N/A DB Global Name N/A Instance Name N/A Archive Log Mode N/A DBID N/A Version RDBMS Oracle Database 10g Client Release 10.2.0.1.0 ORACLE_HOME C:\oracle\Ora10Client Copyright 2006 aplis.cz, a.s. 3
1.2. Konfigurace Data Guard (DG) Sekce shrnuje vytvoření DG konfigurace pomocí command-line interface (DGMGRL). 1.2.1. Inicializační parametry, předpoklady 1.2.1.1. Primární server Parametry instance DSP: 1. DG_BROKER_START=TRUE 2. DG_BROKER_CONFIG_FILE1=C:\ORACLE\ORA10\DATABASE\DR1DSP1.DAT 3. DG_BROKER_CONFIG_FILE2=C:\ORACLE\ORA10\DATABASE\DR2DSP1.DAT 4. DB_UNIQUE_NAME=DSP1 5. INSTANCE_NAME=DSP1 Výstup PFILE vytvořen z SPFILE primární databáze DSP, resp. DSP1: $ oracle@dispot-db ~ cat /cygdrive/c/oracle/ora10/database/initdsp.ora dsp. db_cache_size=448790528 dsp. java_pool_size=12582912 dsp. large_pool_size=4194304 dsp. shared_pool_size=138412032 dsp. streams_pool_size=0 *.archive_lag_target=0 *.audit_file_dest='c:\oracle/admin/dsp/adump' *.background_dump_dest='c:\oracle/admin/dsp/bdump' *.compatible='10.2.0.1.0' *.control_files='d:\db\dsp\control01.ctl','d:\db\dsp\control02.ctl','d:\db\dsp\control03.ctl' #Restore Controlfile *.core_dump_dest='c:\oracle/admin/dsp/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=32 *.db_flashback_retention_target=4320 *.db_name='dsp' *.db_recovery_file_dest='d:\db\dsp\flash_recovery_area' *.db_recovery_file_dest_size=137438953472 *.db_unique_name='dsp1' *.dg_broker_start=true *.dispatchers='(protocol=tcp) (SERVICE=dspXDB)' *.fal_client='(description=(address_list=(address=(protocol=tcp)(host=172.20.6.2)(port=1521))) (CONNECT_DATA=(SERVICE_NAME=DSP1_XPT)(INSTANCE_NAME=DSP1)(SERVER=dedicated)))' *.fal_server='(description=(address_list=(address=(protocol=tcp)(host=172.20.6.3)(port=1521))) (CONNECT_DATA=(SERVICE_NAME=DSP2_XPT)(SERVER=dedicated)))' *.instance_name='dsp1' *.job_queue_processes=4 *.local_listener='(address=(protocol=tcp)(host=172.20.6.2)(port=1521))' *.log_archive_config='dg_config=(dsp1,dsp2)' *.log_archive_dest_1='location=use_db_recovery_file_dest ARCH MANDATORY VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DSP1' *.log_archive_dest_2='service="(description=(address_list=(address=(protocol=tcp) (HOST=172.20.6.3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DSP2_XPT)(INSTANCE_NAME=dsp) (SERVER=dedicated)))"',' LGWR SYNC AFFIRM delay=0 OPTIONAL max_failure=0 max_connections=1 reopen=300 db_unique_name="dsp2" register net_timeout=180 valid_for=(online_logfile,primary_role)' *.log_archive_dest_state_1='enable' *.log_archive_dest_state_2='enable' dsp.log_archive_format='arc%s_%r.%t' *.log_archive_max_processes=8 *.log_archive_min_succeed_dest=1 dsp.log_archive_trace=0 *.nls_language='czech' Copyright 2006 aplis.cz, a.s. 4
*.nls_territory='czech REPUBLIC' *.open_cursors=300 *.pga_aggregate_target=203423744 *.processes=150 *.remote_login_passwordfile='exclusive' *.service_names='dsp' *.sga_target=612368384 dsp.standby_archive_dest='' *.standby_file_management='auto' *.star_transformation_enabled='true' *.undo_management='auto' *.undo_retention=3600 *.undo_tablespace='undotbs1' *.user_dump_dest='c:\oracle/admin/dsp/udump' 1.2.1.2. Standby server Parametry instance DSP: 1. DG_BROKER_START=TRUE 2. DG_BROKER_CONFIG_FILE1=C:\ORACLE\ORA10\DATABASE\DR1DSP2.DAT 3. DG_BROKER_CONFIG_FILE2=C:\ORACLE\ORA10\DATABASE\DR2DSP2.DAT 4. DB_UNIQUE_NAME=DSP2 5. INSTANCE_NAME=DSP2 Výstup PFILE vytvořen z SPFILE standby databáze DSP, resp. DSP2: oracle@dispot-db-stanby ~ cat /cygdrive/c/oracle/ora10/database/initdsp.ora dsp. db_cache_size=415236096 dsp. java_pool_size=4194304 dsp. large_pool_size=4194304 dsp. shared_pool_size=180355072 dsp. streams_pool_size=0 *.archive_lag_target=0 *.audit_file_dest='c:\oracle/admin/dsp/adump' *.background_dump_dest='c:\oracle/admin/dsp/bdump' *.compatible='10.2.0.1.0' *.control_files='d:\db\dsp\control01.ctl','d:\db\dsp\control02.ctl','d:\db\dsp\control03.ctl' *.core_dump_dest='c:\oracle/admin/dsp/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=32 *.db_flashback_retention_target=4320 *.db_name='dsp' *.db_recovery_file_dest='d:\db\dsp\flash_recovery_area' *.db_recovery_file_dest_size=137438953472 *.db_unique_name='dsp2' *.dg_broker_start=true *.dispatchers='(protocol=tcp) (SERVICE=dspXDB)' *.fal_client='(description=(address_list=(address=(protocol=tcp)(host=172.20.6.3)(port=1521))) (CONNECT_DATA=(SERVICE_NAME=DSP2_XPT)(INSTANCE_NAME=DSP2)(SERVER=dedicated)))' *.fal_server='(description=(address_list=(address=(protocol=tcp)(host=172.20.6.2)(port=1521))) (CONNECT_DATA=(SERVICE_NAME=DSP1_XPT)(SERVER=dedicated)))' *.instance_name='dsp2' *.job_queue_processes=4 *.local_listener='(address=(protocol=tcp)(host=172.20.6.3)(port=1521))' *.log_archive_config='dg_config=(dsp1,dsp2)' *.log_archive_dest_1='location=use_db_recovery_file_dest ARCH MANDATORY VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DSP2' *.log_archive_dest_2='' *.log_archive_dest_state_1='enable' *.log_archive_dest_state_2='enable' dsp.log_archive_format='arc%s_%r.%t' *.log_archive_max_processes=8 *.log_archive_min_succeed_dest=1 dsp.log_archive_trace=0 *.nls_language='czech' *.nls_territory='czech REPUBLIC' Copyright 2006 aplis.cz, a.s. 5
*.open_cursors=300 *.pga_aggregate_target=203423744 *.processes=150 *.remote_login_passwordfile='exclusive' *.service_names='dsp' *.sga_target=612368384 dsp.standby_archive_dest='' *.standby_file_management='auto' *.star_transformation_enabled='true' *.undo_management='auto' *.undo_retention=3600 *.undo_tablespace='undotbs1' *.user_dump_dest='c:\oracle/admin/dsp/udump' 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.4. Nastavení properties databází 1. property LogXptMode nastaveno příkazem: DGMGRL> edit database 'DSP1' set property LogXptMode='SYNC'; Property "logxptmode" updated DGMGRL> edit database 'DSP2' set property LogXptMode='SYNC'; Property "logxptmode" updated 2. property LocalListenerAddress nastaveno příkazem: DGMGRL> edit database 'DSP1' set property LocalListenerAddress='(ADDRESS=(PROTOCOL=tcp)(HOST=172.20.6.2)(PORT=1521))'; Property "LocalListenerAddress" updated DGMGRL> edit database 'DSP2' set property LocalListenerAddress='(ADDRESS=(PROTOCOL=tcp)(HOST=172.20.6.3)(PORT=1521))'; Property "LocalListenerAddress" updated 1.2.5. Nastavení protection modu 1. Maxavailability nastaveno příkazem: DGMGRL> edit configuration set protection mode as maxavailability; Enabled. 2. Fast-Start Failover Threshold nastaveno na 5 minut příkazem: DGMGRL> edit configuration set property 'FastStartFailoverThreshold' = 300; Property "FastStartFailoverThreshold" updated 1.2.6. Enabling DG konfigurace Aktivaci DG konfigurace provedena příkazem: DGMGRL> enable configuration; Enabled. Copyright 2006 aplis.cz, a.s. 6
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 ~ 2. Start observeru skriptem start-observer.sh oracle@dispot-as ~ $./start-observer.sh 3. Zastavení observeru skriptem stop-observer.sh Copyright 2006 aplis.cz, a.s. 7
oracle@dispot-as ~ $./stop-observer.sh 1.2.9. Fast-Start Failover Aktivace tzv. fast-start failoveru provedena příkazem: DGMGRL> enable fast_start failover; Enabled. Kontrolu konfigurace DG možno zjistit příkazem: DGMGRL> show configuration verbose; Configuration Name: DSP-DG Enabled: YES Protection Mode: MaxAvailability Fast-Start Failover: ENABLED Databases: DSP1 - Primary database DSP2 - Physical standby database - Fast-Start Failover target Fast-Start Failover Threshold: 300 seconds Observer: dispot-as Current status for "DSP-DG": SUCCESS 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: DSP1 Role: PRIMARY Enabled: YES Intended State: ONLINE Instance(s): dsp Properties: InitialConnectIdentifier LogXptMode Dependency DelayMins Binding MaxFailure MaxConnections ReopenSecs NetTimeout LogShipping PreferredApplyInstance ApplyInstanceTimeout ApplyParallel = 'dsp1' = 'SYNC' = '' = '0' = 'OPTIONAL' = '0' = '1' = '300' = '180' = 'ON' = '' = '0' = 'AUTO' Copyright 2006 aplis.cz, a.s. 8
StandbyFileManagement ArchiveLagTarget LogArchiveMaxProcesses LogArchiveMinSucceedDest DbFileNameConvert LogFileNameConvert FastStartFailoverTarget StatusReport InconsistentProperties InconsistentLogXptProps SendQEntries LogXptStatus RecvQEntries HostName SidName LocalListenerAddress StandbyArchiveLocation AlternateLocation LogArchiveTrace LogArchiveFormat LatestLog TopWaitEvents = 'AUTO' = '0' = '8' = '1' = '' = '' = 'DSP2' = 'DISPOT-DB' = 'dsp' = '(ADDRESS=(PROTOCOL=tcp)(HOST=172.20.6.2)(PORT=1521))' = 'dgsby_dsp1' = '' = '0' = 'ARC%S_%R.%T' Current status for "DSP1": SUCCESS DGMGRL> Kontrolu standby databaze provedeme příkazem: DGMGRL> show database verbose 'DSP2'; Database Name: DSP2 Role: PHYSICAL STANDBY Enabled: YES Intended State: ONLINE Instance(s): dsp Properties: InitialConnectIdentifier LogXptMode Dependency DelayMins Binding MaxFailure MaxConnections ReopenSecs NetTimeout LogShipping PreferredApplyInstance ApplyInstanceTimeout ApplyParallel StandbyFileManagement ArchiveLagTarget LogArchiveMaxProcesses LogArchiveMinSucceedDest DbFileNameConvert LogFileNameConvert FastStartFailoverTarget StatusReport InconsistentProperties InconsistentLogXptProps SendQEntries LogXptStatus RecvQEntries HostName SidName LocalListenerAddress StandbyArchiveLocation AlternateLocation = 'dsp2' = 'SYNC' = '' = '0' = 'OPTIONAL' = '0' = '1' = '300' = '180' = 'ON' = '' = '0' = 'AUTO' = 'AUTO' = '0' = '8' = '1' = '' = '' = 'DSP1' = 'DISPOT-DB-STANB' = 'dsp' = '(ADDRESS=(PROTOCOL=tcp)(HOST=172.20.6.3)(PORT=1521))' = 'dgsby_dsp2' = '' Copyright 2006 aplis.cz, a.s. 9
LogArchiveTrace LogArchiveFormat LatestLog TopWaitEvents = '0' = 'ARC%S_%R.%T' Current status for "DSP2": SUCCESS DGMGRL> Provedení switchover příkazu k přehození databazových rolí: DGMGRL> switchover to 'DSP2'; Kontrolu switchover operace provedeme příkazem: DGMGRL> show configuration verbose; Configuration Name: DSP-DG Enabled: YES Protection Mode: MaxAvailability Fast-Start Failover: ENABLED Databases: DSP1 - Physical standby database - Fast-Start Failover target DSP2 - Primary database Fast-Start Failover Threshold: 300 seconds Observer: dispot-as Current status for "DSP-DG": SUCCESS 1.2.11. Monitoring Data Guard Configuration K monitorování konfigurace používáme příkaz brokeru SHOW: 1. přihlašení uživatele oracle na dispot-db nebo dispot-db-stanby $ ssh oracle@dispot-db 2. kontrola statusu konfigurace příkazem $ dgmgrl / "show configuration verbose" 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. Configuration Name: DSP-DG Enabled: YES Protection Mode: MaxAvailability Fast-Start Failover: ENABLED Databases: DSP1 - Primary database DSP2 - Physical standby database - Fast-Start Failover target Fast-Start Failover Threshold: 300 seconds Observer: dispot-as Current status for "DSP-DG": SUCCESS Copyright 2006 aplis.cz, a.s. 10
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: DSP1 Role: PRIMARY Enabled: YES Intended State: ONLINE Instance(s): dsp 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: DSP2 Role: PHYSICAL STANDBY Enabled: YES Intended State: ONLINE Instance(s): dsp 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 5. kontrola monitorable property LogXptStatus příkazem (ORA-16737) $ dgmgrl / "show database 'DSP1' 'LogXptStatus'" Copyright 2006 aplis.cz, a.s. 11
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 SPFILE_VALUE BROKER_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 MEMORY_VALUE BROKER_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 Copyright 2006 aplis.cz, a.s. 12
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) Copyright 2006 aplis.cz, a.s. 13
) ) (FAILOVER_MODE = (TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY=5)) Copyright 2006 aplis.cz, a.s. 14
Použitá literatura Oracle Data Guard Broker 10g Release 2 (10.2) B14230-02 Copyright 2006 aplis.cz, a.s. 15