sql >> Database teknologi >  >> RDS >> Database

Indstilling af Active Data Guard Physical Standby i RAC One Node Architecture – Del 1

Denne artikel er del 1 af en todelt serie, der beskriver trinene til indstilling af Active Data Guard Physical Standby i RAC One Node Architecture.

Introduktion

Oracle Data Guard er en af ​​hovedkomponenterne fra Oracle Database High Availability (HA), et integreret sæt af løsninger, som hjælper organisationer med at minimere inaktivitet, uanset om det er planlagt eller ej. sikre, at deres forretning flyder. Active Data Guard er en licenseret mulighed for Oracle Database Enterprise Edition, der udvider grundlæggende Data Guard [1]-funktionalitet ved at tillade avancerede ressourcer, såsom:konsultationer, rapporter, standby-databaseopdateringer, som ikke påvirker den primære database, automatisk gendannelse af beskadigede datablokke, trinvise sikkerhedskopier, blandt andre.

Oracle RAC One Node bruger en delt disk-arkitektur til at levere en høj databasetilgængelighedsløsning, der ligner Oracle Real Application Clusters (RAC). I modsætning til Oracle RAC, som udfører flere forekomster samtidigt, giver Oracle RAC One Node kun en failover-løsning i én forekomst, plus at den kan gøre infrastrukturen i klyngen nemmere, idet den nemt kan opdateres til en Oracle Real Application Clusters-indstillinger med flere forekomster.

Miljø

  • Primær database bruger Oracle RAC med 2 noder
  • Den anvendte beskyttelsestilstand vil være "Maksimal ydeevne" ved brug af tilstanden "asynkron gentransport"
  • "Fast Start Failover"-funktionen vil ikke blive brugt.
  • Indstillinger for Data Guard Broker

1. Indstil db_unique_name til Primary Database:

sqlplus> ændre systemsæt db_unique_name='analytics' scope=spfile sid='*';

2. Kopier "Oracle-adgangskodefil" til serverstandby:

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

3. I node 1 og 2 bankforekomster af den primære server skal du tilføje poster i listener.ora:

Node 1:

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

Node 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-serveren, tilføj indgang 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 disse indstillinger er det nødvendigt at udføre kommandoen "lytter genindlæs" for at tvinge lytteren til at læse listener.ora-indgangene igen. Opmærksomhed! Denne handling vil påvirke lytterens tilgængelighed.

5. Tilføj poster i filen tnsnames.ora i Primær og Standby-database;

5.1. Kommenter gammelt indlæg

 #analytics =# (BESKRIVELSE =# (ADRESSE =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))# (CONNECT_DATA =# (SERVER =DEDIKERET)# (SERVICE_NAME =analytics)# ) )

5.2. Tilføj nye poster:

 analytics =(DESCRIPTION =(ADRESSE =(PROTOKOL =TCP)(HOST =hostdr-pscan1)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics)(UR=A)))analytics1 =(BESKRIVELSE =(ADRESSE =(PROTOKOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics)(SID =analytics1)(UR=A))) analytics2 =(DESCRIPTION =(ADRESSE =(PROTOKOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics)(SID =analytics2)(UR=A)) )analytics1_DGMGRL =(BESKRIVELSE =(ADRESSE =(PROTOKOL =TCP)(HOST =hostdr01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics_DGMGRL)(URL=2)(URL=2) DESCRIPTION =(ADRESSE =(PROTOKOL =TCP)(HOST =hostdr02vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics_DGMGRL)(UR=A)))

5.3. DG's indlæg:

analytics_DG =(BESKRIVELSE =(ADRESSE =(PROTOKOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics_dg) (UR =A)))analytics =(DESCRIPTION =(ADRESSE =(PROTOKOL =TCP)(HOST =host01vmp01-vip)(PORT =1521))(CONNECT_DATA =(SERVER =DEDIKERET)(SERVICE_NAME =analytics_dg_dgmgrl)(UR=A)))

6. Test nye poster i filen tnsnames.ora

 tnsping analyticstnsping analytics1tnsping analytics2tnsping analytics_DGtnsping analytics1_DGMGRLtnsping analytics2_DGMGRLtnsping analytics_DG_DGMGRL

7. Aktiver "Force Logging" og "Archivelog mode" i Primær Database. Bemærk:Forekomsten var allerede konfigureret i arkivlogtilstand.

 sqlplus> alter database force logging;sqlplus> vælg force_logging, log_mode fra v$database;FORCE_LOGGING LOG_MODE---------------------------------- ------------ ------------JA ARKIVLOG

8. Bekræft RedoLogs-indstillingerne i den primære database. Brugt script logfiles.sql er tilgængeligt på oracle-base.com.

9. Tilføj standby-logfiler.

Brug følgende formel [2] for at bestemme det anbefalede antal standby-redo-logfiler:

(maksimalt antal logfilgrupper +1) * maksimum antal tråde

Min primære database har to tråde, og hver af dem har fire redo online-grupper, derfor bør vi have ti standby-gendo-logfiler.

(maksimalt antal logfilgrupper +1) * maksimum antal tråde =((4 + 1) * 2 =10)

 sqlplus> ændre database tilføj standby-logfil tråd 1 gruppe 41 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 2 gruppe 42 ('+DG_RECO_DR') størrelse 1024M; sqlplus> logfil tilføj standby-database alter tråd 1 gruppe 43 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 2 gruppe 44 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 1 gruppe 45 ('_+DG') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 2 gruppe 46 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 1 gruppe 47 ('+DG_RECO_DR') størrelse 1024M; sqlplus tråd 2 gruppe 48 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 2 gruppe 49 ('+DG_RECO_DR') størrelse 1024M;sqlplus> ændre database tilføj standby-logfil tråd 2 gruppe 50 ('_+DG') størrelse 1024M;

10. Opret en p-fil i den primære database, som vil være standby-databasens parameterfilers base.

 create pfile='/tmp/initanalytics_dg_aux.ora' fra spfile;

11. I Standby-databasen opret filen pfile med fjernserverens oplysninger. Den nemmeste måde at oprette denne fil på er at kopiere Primary Databases parameterfil (punkt 10) til Standby Database og redigere 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_9_2_size=8_1_2_2. 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_dest=inG_DATA_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#ique_name=10b_recovery_file_dest_G#ique_name=10b_nab_g_name=10b_recovery_file_dest_G#iquetics*'0b_n_g_name' /pre> 

12. Opret bibliotekshierarkier.

12.1. Opret en mappe til "audit dump", hvori filerne og databaserevisionen vil blive oprettet.

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

12.2. I ASM skal du oprette mapper til kontrolfil og 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/analytics 

13. Opret spfile og pfile i Standby Database

 $ eksport ORACLE_SID=analytics_dg$ sqlplus / som sysdba

13.1. Start standby-database med pfile initanalytics_dg_aux.ora og konverter parameterfil (pfile) til spfile.

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

13.2. Opret pfile og indsæt følgende post i denne fil:

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

13.3. Forekomstens opstart med spfile til posterior databasegendannelse.

$ eksport ORACLE_SID=analytics_dg$ sqlplus sys as sysdbasqlplus> lukning øjeblikkelig;sqlplus> opstart nomount;

14. Kør gendannelse med databasens duplikat;

 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ÅL DATABASE FOR STANDBY FRA AKTIV DATABASE;RELEASE CHANNEL pr1;RELEASE CHANNEL pr2;RELEASE CHANNEL stby1;RELEASE CHANNEL stby2;}

Det næste indlæg vil vi fortsætte denne saga!

Referencer

[1] Best Practices for Oracle Active Data Guard. Tilgængelig 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). Tilgængelig på:https://docs.oracle.com/cd/E24693_01/server.11203/e10803/config_dg.htm

[3] Datavagtmægler. Tilgængelig på:https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781


  1. Revision af PostgreSQL ved hjælp af pgAudit

  2. Brug af Spotlight Cloud til at løse SQL Server-blokering

  3. Lukning af JDBC-forbindelser i pool

  4. Hvordan kan jeg bruge en forespørgsel med pladsholder inde i anførselstegn? (perl / postgresql)