Tento článek je částí 1 dvoudílné série, která popisuje kroky pro nastavení fyzického pohotovostního režimu Active Data Guard v RAC One Node Architecture.
Úvod
Oracle Data Guard je jednou z hlavních součástí Oracle Database High Availability (HA), integrované sady řešení, která organizacím pomáhá minimalizovat nečinnost, ať už plánovanou či neplánovanou. zaručit plynulost jejich podnikání. Active Data Guard je licencovaná možnost pro Oracle Database Enterprise Edition, která rozšiřuje základní funkce Data Guard [1] tím, že umožňuje pokročilé zdroje, jako jsou:konzultace, zprávy, pohotovostní aktualizace databáze, které neovlivňují primární databázi, automatická obnova poškozených datových bloků, přírůstkové zálohy, mimo jiné.
Oracle RAC One Node využívá architekturu sdíleného disku k zajištění vysoké dostupnosti databáze, podobně jako Oracle Real Application Clusters (RAC). Na rozdíl od Oracle RAC, který spouští několik instancí současně, Oracle RAC One Node poskytuje řešení převzetí služeb při selhání pouze v jedné instanci a navíc může usnadnit infrastrukturu v clusteru tím, že se snadno aktualizuje na nastavení Oracle Real Application Clusters s několika instancemi.
Životní prostředí
- Primární databáze používá Oracle RAC se 2 uzly
- Použitý režim ochrany bude „Maximální výkon“ s použitím režimu „asynchronní redo transport“
- Funkce „Fast Start Failover“ nebude použita.
- Nastavení služby Data Guard Broker
1. Nastavte db_unique_name na Primary Database:
sqlplus> změnit systémovou sadu db_unique_name='analytics' scope=spfile sid='*';
2. Zkopírujte „Soubor hesel Oracle“ do pohotovostního režimu serveru:
scp orapwanalytics oracle@hostdr:/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs
3. V instancích banky Nodes 1 a 2 primárního serveru přidejte položky do listener.ora:
Uzel 1:
(SID_DESC =(GLOBAL_DBNAME =analytics1_dgmgrl)(SID_NAME =analytics1)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
Uzel 2:
(SID_DESC =(GLOBAL_DBNAME =analytics2_dgmgrl)(SID_NAME =analytics2)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
4. Na serveru v pohotovostním režimu přidejte položku do listener.ora
(SID_DESC =(GLOBAL_DBNAME =analytics_DG_DGMGRL)(SID_NAME =analytics_dg)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))
Po těchto nastaveních je potřeba provést příkaz „listener reload“, aby posluchač znovu četl položky listener.ora. Pozornost! Tato operace ovlivní dostupnost posluchače.
5. Přidejte položky do souboru tnsnames.ora do primární a pohotovostní databáze;
5.1. Okomentujte starý záznam
#analytics =# (DESCRIPTION =# (ADDRESS =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))# (CONNECT_DATA =# (SERVER =DEDICATED)# (SERVICE_NAME =analytics)# ) )
5.2. Přidat nové položky:
analytics =(DESCRIPTION =(ADDRESS =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(UR=A)))analytics1 =(DESCRIPTION =(ADRESA =(PROTOKOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(SID =analytics1)(UR=A))) analytics2 =(DESCRIPTION =(ADRESA =(PROTOKOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics)(SID =analytics2)(UR=A)) )analytics1_DGMGRL =(DESCRIPTION =(ADRESA =(PROTOKOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_DGMGRL)(UR=A)))analytics2_D DESCRIPTION =(ADRESA =(PROTOKOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_DGMGRL)(UR=A)))
5.3. Záznamy DG:
analytics_DG =(DESCRIPTION =(ADDRESS =(PROTOKOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_dg) (UR =A)))analytics_DG_DGRL =(DESCRIPTION =(ADDRESS =(ADDRESS) =(PROTOKOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME =analytics_dg_dgmgrl)(UR=A)))
6. Otestujte nové položky v souboru tnsnames.ora
tnsping analyticstnsping analytics1tnsping analytics2tnsping analytics_DGtnsping analytics1_DGMGRLtnsping analytics2_DGMGRLtnsping analytics_DG_DGMGRL
7. Povolte „Vynutit protokolování“ a „Režim archivace“ v Primární databázi. Poznámka:Instance již byla nakonfigurována v režimu archivace.
sqlplus> změnit databázi vynutit protokolování;sqlplus> vybrat force_logging, log_mode z v$database;FORCE_LOGGING LOG_MODE--------------------------- ------------ ------------ANO ARCHIVNÍ PROGRAM
8. Ověřte nastavení RedoLogs v primární databázi. Použitý skript logfiles.sql je dostupný na oracle-base.com.
9. Přidejte soubory protokolu pohotovostního režimu.
Chcete-li určit doporučený počet opakovaných protokolů v pohotovostním režimu, použijte následující vzorec [2]:
(maximální počet skupin souborů protokolu +1) * maximální počet vláken
Moje primární databáze má dvě vlákna a každé má čtyři redo online skupiny, takže bychom měli mít v pohotovostním režimu deset protokolů redo.
(maximální počet skupin souborů protokolu +1) * maximální počet vláken =((4 + 1) * 2 =10)
sqlplus> změnit databázi přidat podproces pohotovostního souboru protokolu 1 skupina 41 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat vlákno pohotovostního souboru protokolu 2 skupina 42 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat pohotovostní protokol vlákno 1 skupina 43 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat záložní soubor protokolu vlákno 2 skupina 44 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat vlákno záložního souboru protokolu 1 skupina 45 ('+DG')_RECO velikost 1024M;sqlplus> alter databáze přidat záložní soubor protokolu vlákno 2 skupina 46 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat vlákno pohotovostního souboru protokolu 1 skupina 47 ('+DG_RECO_DR') velikost 1024M;sqlplus pohotovostní soubor protokolu> alter databáze vlákno 2 skupina 48 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat záložní soubor protokolu vlákno 2 skupina 49 ('+DG_RECO_DR') velikost 1024M;sqlplus> změnit databázi přidat vlákno záložního souboru protokolu 2 skupina 50 ('+DG')_RECO velikost 1024M;
10. V Primární databázi vytvořte pfile, který bude základem záložních souborů parametrů databáze.
vytvořit pfile='/tmp/initanalytics_dg_aux.ora' ze spfile;
11. V pohotovostní databázi vytvořte soubor pfile s informacemi o vzdáleném serveru. Nejjednodušší způsob, jak vytvořit tento soubor, je zkopírovat soubor parametrů primární databáze (položka 10) do pohotovostní databáze a upravit jej.
$ cd $ORACLE_HOME/dbs$ vi initanalytics_dg_aux.ora#*.audit_file_dest='/u01/app/oracle/admin/analytics/adump'*.audit_file_dest='/u01/app/oracle/admin/analytics_dg/adump '*.audit_trail='db'#.cluster_database=true*.cluster_database=false*.compatible='12.1.0.2.0'#*.control_files='+DG_DATA_DR/analytics/controlfile/current.1257.954609365_RECO','+DG /analytics/controlfile/current.527.954609365'*.control_files='+DG_DATA/analytics_dg/controlfile/current1.ctl','+DG_RECO/analytics_dg/controlfile/current2.ctl'*.db_block_size=8192#*_dbcreestate DG_DATA_DR'*.db_create_file_dest='+DG_DATA'#*.db_create_online_log_dest_1='+DG_DATA_DR'*.db_create_online_log_dest_1='+DG_DATA'#*.db_create_online_log_mainDest_'+DG_DATA'#*.db_create_online_log_mainDest_='*Rdb_create_online_log_mainDest_'+DG_DATA_DR'+ *.db_name='analytics'*.db_files=2000#*.db_recovery_file_dest='+DG_RECO_DR'*.db_recovery_file_dest='+DG_RECO'*.db_recovery_file_dest_size=100G#*.db_uanalytics_name='db'*analytics'_name='*db_unique_analytics'_name. /před>12. Vytvořte hierarchii adresářů.
12.1. Vytvořte adresář pro „audit dump“, ve kterém budou vytvořeny soubory a auditování databáze.
mkdir -p /u01/app/oracle/admin/analytics_dg/adump12.2. V ASM vytvořte adresáře pro řídicí soubor a soubory parametrů:
mkdir +DG_DATA/analytics_DG/mkdir +DG_DATA/analytics_DG/PARAMETERFILEmkdir +DG_DATA/analytics_DG/CONTROLFILEmkdir +DG_DATA/analytics_DG/BROKERCFGmkdir +DG_RECO_RECO/dGanalytics_BROKCFanalytics_DGERmkdir13. Vytvořte spfile a pfile v pohotovostní databázi
$ export ORACLE_SID=analytics_dg$ sqlplus / jako sysdba13.1. Spusťte pohotovostní databázi pomocí pfile initanalytics_dg_aux.ora a převeďte soubor parametrů (pfile) na spfile.
sqlplus> spuštění nomount pfile='/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/initanalytics_dg_aux.ora';sqlplus> vytvořit spfile='+DG_DATA/analytics_DG/PARAMETERFILE/spfileanalytics_dg.ora' pfile='/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/initanalytics_dg_aux.ora';13.2. Vytvořte pfile a do tohoto souboru vložte následující položku:
echo "spfile='+DG_DATA/analytics_DG/PARAMETERFILE/spfileanalytics_dg.ora'">> initanalytics_dg.ora13.3. Spuštění instance pomocí spfile do pozdější obnovy databáze.
$ export ORACLE_SID=analytics_dg$ sqlplus sys as sysdbasqlplus> okamžité vypnutí;sqlplus> spuštění nomount;14. Spusťte obnovu s duplikátem databáze;
připojit cílový sys/xxxxxx@analytics1;připojit pomocný sys/xxxxxx@analytics_dg_dgmgrl;RUN {Přidělit disk typu zařízení kanálu pr1;Přidělit disk typu zařízení kanálu pr2;přidělit disk typu pomocný kanál stby1;přidělit disk typu pomocný kanál stby2;DUPLIKÁT CÍLOVÁ DATABÁZE PRO POHOTOVOSTNÍ REŽIM Z AKTIVNÍ DATABÁZE;RELEASE CHANNEL pr1;RELEASE CHANNEL pr2;RELEASE CHANNEL stby1;RELEASE CHANNEL stby2;}
V příštím příspěvku budeme v této sáze pokračovat!
Odkazy
[1] Nejlepší postupy Oracle Active Data Guard. Dostupné na:https://www.oracle.com/database/technologies/active-data-guard-12c-best-practice.html [2] Oracle Database High Availability Best Practices 11g Release 2 (11.2). Dostupné na:https://docs.oracle.com/cd/E24693_01/server.11203/e10803/config_dg.htm [3] Data Guard Broker. Dostupné na:https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781