sql >> Databasteknik >  >> RDS >> Database

Ställa in Active Data Guard Physical Standby i RAC One Node Architecture – Del 1

Den här artikeln är del 1 i en serie i två delar som beskriver stegen för att ställa in Active Data Guard Physical Standby i RAC One Node Architecture.

Introduktion

Oracle Data Guard är en av huvudkomponenterna från Oracle Database High Availability (HA), en integrerad uppsättning lösningar, som hjälper organisationer att minimera inaktivitet, oavsett om den är planerad eller inte, för att garantera att deras verksamhet flyter på. Active Data Guard är ett licensierat alternativ för Oracle Database Enterprise Edition som breddar grundläggande Data Guard [1]-funktionalitet genom att tillåta avancerade resurser, såsom:konsultationer, rapporter, standby-databasuppdateringar som inte påverkar den primära databasen, automatisk återställning av korrupta datablock, inkrementella säkerhetskopior, bland annat.

Oracle RAC One Node använder en delad diskarkitektur för att tillhandahålla en lösning med hög databastillgänglighet, liknande Oracle Real Application Clusters (RAC). Till skillnad från Oracle RAC, som exekverar flera instanser samtidigt, tillhandahåller Oracle RAC One Node en failover-lösning i endast en instans, plus att den kan göra infrastrukturen i klustret enklare och enkelt uppdateras till en Oracle Real Application Clusters-inställningar med flera instanser.

Miljö

  • Primär databas använder Oracle RAC med 2 noder
  • Använt skyddsläge kommer att vara "Maximal prestanda" med läget "asynkron redo transport"
  • "Fast Start Failover"-funktionen kommer inte att användas.
  • Inställningar för Data Guard Broker

1. Ställ in db_unique_name till Primär databas:

sqlplus> alter system set db_unique_name='analytics' scope=spfile sid='*';

2. Kopiera "Oracle-lösenordsfil" till serverns vänteläge:

scp orapwanalytics oracle@hostdr:/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs

3. I Nod 1 och 2 bank instanser av den primära servern, lägg till poster i listener.ora:

Nod 1:

(SID_DESC =(GLOBAL_DBNAME =analytics1_dgmgrl)(SID_NAME =analytics1)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))

Nod 2:

 (SID_DESC =(GLOBAL_DBNAME =analytics2_dgmgrl)(SID_NAME =analytics2)(ORACLE_HOME =/u01/app/oracle/product/12.1.0.2/dbhome_1))

4. I standby-servern, lägg till en post i 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))

Efter dessa inställningar behövs kommandot "lyssnare ladda om" för att tvinga lyssnaren att läsa listener.ora-posterna igen. Uppmärksamhet! Denna operation kommer att påverka lyssnarens tillgänglighet.

5. Lägg till poster i filen tnsnames.ora i Primär- och Standby-databasen;

5.1. Kommentera gammalt inlägg

 #analytics =# (BESKRIVNING =# (ADRESS =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))# (CONNECT_DATA =# (SERVER =DEDIKERAD)# (SERVICE_NAME =analytics)# ) )

5.2. Lägg till nya poster:

 analytics =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics)(UR=A)))analytics1 =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(VÄRD =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics)(SID =analytics1)(UR=A))) analytics2 =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics)(SID =analytics2)(UR=A)) )analytics1_DGMGRL =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(VÄRD =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics_DGMGRL)(URL=2)(URL_A) BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(VÄRD =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics_DGMGRL)(UR=A)))

5.3. GD:s poster:

analytics_DG =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(VÄRD =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics_dg) (UR =A)))analytics =(BESKRIVNING =(ADRESS =(PROTOKOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERAD)(SERVICE_NAME =analytics_dg_dgmgrl)(UR=A)))

6. Testa nya poster i filen tnsnames.ora

 tnsping analyticstnsping analytics1tnsping analytics2tnsping analytics_DGtnsping analytics1_DGMGRLtnsping analytics2_DGMGRLtnsping analytics_DG_DGMGRL

7. Aktivera "Force Logging" och "Archivelog mode" i primär databas. Obs! Förekomsten var redan konfigurerad i arkivloggläge.

 sqlplus> alter database force logging;sqlplus> välj force_logging, log_mode från v$database;FORCE_LOGGING LOG_MODE--------------------------- ------------ ------------JA ARKIVLOGG

8. Verifiera RedoLogs-inställningarna i Primär databas. Använt skript logfiles.sql är tillgängligt på oracle-base.com.

9. Lägg till standby-loggfiler.

För att bestämma det rekommenderade antalet redo-loggar i vänteläge, använd följande formel [2]:

(max antal loggfilgrupper +1) * maximalt antal trådar

Min primära databas har två trådar och var och en har fyra gör om online-grupper, därför bör vi ha tio redo-loggar i standbyläge.

(max antal loggfilgrupper +1) * maximalt antal trådar =((4 + 1) * 2 =10)

 sqlplus> ändra databas lägg till standby-loggfil tråd 1 grupp 41 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby-loggfil tråd 2 grupp 42 ('+DG_RECO_DR') storlek 1024M;sqlplus> loggfil lägg till standby-databas alter tråd 1 grupp 43 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby loggfil tråd 2 grupp 44 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby loggfil tråd 1 grupp 45 ('_+DG') storlek 1024M;sqlplus> ändra databas lägg till standby-loggfil tråd 2 grupp 46 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby-loggfil tråd 1 grupp 47 ('+DG_RECO_DR') storlek 1024M; sqlplus tråd 2 grupp 48 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby loggfil tråd 2 grupp 49 ('+DG_RECO_DR') storlek 1024M;sqlplus> ändra databas lägg till standby loggfil tråd 2 grupp 50 ('_+DG') storlek 1024M;

10. Skapa en p-fil i den primära databasen som kommer att vara basen för parametrarna för databasparametrar.

 skapa pfile='/tmp/initanalytics_dg_aux.ora' från spfile;

11. Skapa filen pfile med fjärrserverns information i Standby-databasen. Det enklaste sättet att skapa den här filen är att kopiera Primary Databases parameterfil (punkt 10) till Standby Database och redigera den.

$ 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','+DR /analytics/controlfile/current.527.954609365'*.control_files='+DG_DATA/analytics_dg/controlfile/current1.ctl','+DG_RECO/analytics_dg/controlfile/current2.ctl'*.db=8_1_block_2_size=8_9_2_size=8_9_2_size. 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_dest_1='+DG_DATA_DR'*.db_create_online_log_dest_1='+DG_DATA'#*.db_create_online_RE_log_de=online_G_2_log_dest_dest_online=G_2_log_dest_2. *.db_name='analytics'*.db_files=2000#*.db_recovery_file_dest='+DG_RECO_DR'*.db_recovery_file_dest='+DG_RECO'*.db_recovery_file_dest_G#iquetics=10b_recovery_file_dest_G#iquetics'dana_g_name=10b_recovery_file_dest_G#iquetics*dana_g_nametics'dana_g_name=10b_nav_g_nav_nav /pre> 

12. Skapa kataloghierarkier.

12.1. Skapa en katalog för "audit dump" där filerna och databasgranskningen kommer att skapas.

 mkdir -p /u01/app/oracle/admin/analytics_dg/adump

12.2. I ASM, skapa kataloger för kontrollfil och parameterfiler:

 mkdir +DG_DATA/analytics_DG/mkdir +DG_DATA/analytics_DG/PARAMETERFILEmkdir +DG_DATA/analytics_DG/CONTROLFILEmkdir +DG_DATA/analytics_DG/BROKERCFGmkdir +DG_DG_MRECO/analytics/analytics_DG/BROKERCFGmkdir +DG_DG_mRECO/analytics/analytics_DGRO/analytics/analytics 

13. Skapa spfile och pfile i Standby Database

 $ export ORACLE_SID=analytics_dg$ sqlplus / som sysdba

13.1. Starta standby-databas med pfile initanalytics_dg_aux.ora och konvertera parameterfil (pfile) till spfile.

 sqlplus> start nomount pfile='/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/initanalytics_dg_aux.ora';sqlplus> skapa spfile='+DG_DATA/analytics_DG/PARAMETERanalytics_dg_aux.ora'; pfile='/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/initanalytics_dg_aux.ora';

13.2. Skapa pfile och infoga följande post i den här filen:

 echo "spfile='+DG_DATA/analytics_DG/PARAMETERFILE/spfileanalytics_dg.ora'">> initanalytics_dg.ora

13.3. Instansens start med spfile till posterior databasåterställning.

$ export ORACLE_SID=analytics_dg$ sqlplus sys as sysdbasqlplus> avstängning omedelbart;sqlplus> startup nomount;

14. Kör återställning med databasens dubblett;

 connect target sys/xxxxxx@analytics1;connect auxiliary sys/xxxxxx@analytics_dg_dgmgrl;RUN {Allocate channel pr1 device type disk;Allocate channel pr2 device type disk;allocate auxiliary channel stby1 type disk;allocate auxiliary channel stby2 type disk;DUPLICATE MÅLDATABAS FÖR STANDBY FRÅN AKTIV DATABAS;RELEASE CHANNEL pr1;RELEASE CHANNEL pr2;RELEASE CHANNEL stby1;RELEASE CHANNEL stby2;}

I nästa inlägg fortsätter vi denna saga!

Referenser

[1] Oracle Active Data Guards bästa praxis. Tillgänglig på: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). Tillgänglig på:https://docs.oracle.com/cd/E24693_01/server.11203/e10803/config_dg.htm

[3] Data Guard Broker. Tillgänglig på:https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781


  1. Vad är Javas JPA-teknik?

  2. Versaler av personnamn i programmering

  3. Är det säkert att lagra användarnamn och lösenord i databasen?

  4. Access Class Module och Wrapper Classes