sql >> Databasteknik >  >> RDS >> Database

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

Den här artikeln är del 2 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. Du hittar del 1 här.

1. När duplikatdatabasprocessen är klar (del 1 av artikeln), lägg till Standby-databas i Clusterware

 srvctl add databas -d analytics_dg -o /u01/app/oracle/product/12.1.0.2/dbhome_1 -c RACONENODE -p '+DG_DATA/analytics_DG/PARAMETERFILE/spfileanalytics_dg.ora' -r MOUNT ANDBYICAL_s_ analytics_dg -e hostdr

2. stäng av en databas

sqlplus> avstängning omedelbart;

3. Kopiera "Oracle-lösenordsfil" med det nya instansnamnet "orapwanalyticsdg_1"

cd $ORACLE_HOME/dbscp orapwanalytics_dg orapwanalyticsdg_1

4. Starta databas

$ srvctl start databas -d analytics_dg$ srvctl config databas -d analytics_dgDatabas unikt namn:analytics_dgDatabasnamn:analytics_dgOracle hem:/u01/app/oracle/product/12.1.0.2/dbhome_1_Space_file /spfileanalytics_dg.oraLösenordsfil:Domän:Startalternativ:skrivskyddadStoppalternativ:omedelbartDatabasroll:PHYSICAL_STANDBYManagement policy:AUTOMATICServerpooler:Diskgrupper:DG_DATA,DG_RECOManta punktsökvägar:Tjänster:Typ:Typ:RACOne-dator-server:Nej värdd:OnlinerelocandiNejd-grupp:OnlinerelocandiNejd. :sdbaOSOPER group:soperDatabase-instanser:Databasen hanteras av administratören

5. Enligt Oracle Restarts mönster kommer analytics_dg-instansen att kallas analyticsdg_1 och därför måste listener.ora uppdateras.

Kör kommandot "listener reload" för att tvinga lyssnaren att läsa "listener.ora"-posterna igen. Uppmärksamhet! Denna operation kommer att påverka lyssnarens tillgänglighet.

SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME =analytics_dg_dgmgrl)# (SID_NAME =analytics_dg)(SID_NAME =analyticsdg_1)(ORACLE_HOME =/u01/app/oracle/product.12)/pre> 

6. Gör om transporttjänsten aktiveras manuellt för att validera anslutningar och inställningar.

Parametrar DB_BLOCK_CHECKSUM , DB_BLOCK_CHECKING och DB_LOST_WRITE_PROTECT kommer att ställas in för både databaser, primära och standby-databaser, för att förhindra och upptäcka korrupta block.

6.1. Justera parametrar i Standby-databasen

sqlplus> alter system set log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> alter system SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_ID_FIROtics,dALL_LOGES_FIL_FROtics,dALL_LOGUN_NAME)(ALL_LOGUN_FROtics) scope=both sid='*';sqlplus> alter system set log_archive_dest_2='service=analytics LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 reopen=180 valid_for=(online_logfiles,primary_role) sicodanalybotics'_name='scopedanalybotics'_name=' ';sqlplus> alter system set fal_server='analytics' scope=both sid='*';sqlplus> alter system set fal_client='analytics_dg' scope=both sid='*';sqlplus> alter system set log_archive_max_processes=4 scope=both sid='*';sqlplus> alter system set standby_file_management='AUTO' scope=both sid='*';sqlplus> alter system set db_file_name_convert='+DG_DATA_DR/analytics','+DG_DATA/analytics_DG_RECO','+DRDG /analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> ändra systemuppsättning log_file_name_convert='+DG_DATA_DR/ analytics','+DG_DATA/analytics_DG','+DG_RECO_DR/analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> alter system set db_block_checksum=FULL scope=both sid='*plus;> alter system set db_block_checking=MEDIUM scope=both sid='*';sqlplus> alter system set db_lost_write_protect=TYPICAL scope=both sid='*';sqlplus> alter system set log_archive_dest_state'_1='enboth='enboth sid'_1='enboth ';sqlplus> alter system set log_archive_dest_state_2='enable' scope=both sid='*';

6.2. Justera parametrar i primär databas:

sqlplus> alter system set log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> alter system SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_FROtics=ALL_FILE_FROtics=ALL_LOGES_FIL_FROtics,'VALUN_LOGUN_FIL_FROtics)'ALL_LOGUN scope=both sid='*';sqlplus> alter system set log_archive_dest_2='service=analytics_dg LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 reopen=180 valid_for=(online_logfiles,primary_role_name) sibana_uniqued_bod=' ';sqlplus> alter system set fal_server='analytics_dg' scope=both sid='*';sqlplus> alter system set fal_client='analytics' scope=both sid='*';sqlplus> alter system set log_archive_max_processes=4 scope=both sid='*';sqlplus> alter system set standby_file_management='AUTO' scope=both sid='*';sqlplus> alter system set db_file_name_convert='+DG_DATA/analytics_DG','+DG_DATA_DR'/analytics', /analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> ändra systemuppsättning log_file_name_convert='+DG_DATA /analytics_DG','+DG_DATA_DR/analytics','+DG_RECO/analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> alter system set db_block_checksum=TYPICAL scope='=*'both; sqlplus> alter system set db_block_checking=MEDIUM scope=both sid='*';sqlplus> alter system set db_lost_write_protect=TYPICAL scope=both sid='*';sqlplus> alter system set log_archive_dest_enboth='1scope_enboth='1 *';sqlplus> ändra systemuppsättning log_archive_dest_state_2='enable' scope=both sid='*';

6.3. "status"-attributet från Primär och Standby måste returnera "VALID"

sqlplus> välj dest_id,status,destination, error från v$archive_dest där dest_id <=5; ID DB_status Archive_dest Error ---------- ---------- ---------------------------------- -- -------1 GILTIGT USE_DB_RECOVERY_FILE_DEST2 GILTIGT analytics_dg3 INACTIVE4 INACTIVE5 INACTIVEsqlplus> välj dest_id,status,database_mode,recovery_mode från v$archive_dest_status där status <> 'INAKTIV'; DEST_ID STATUS DATABAS_LÄGE ÅTERSTÄLLNING_LÄGE---------------- ---------- --------------------- ------------ -----------1 GILTIGT ÖPPEN IDLE2 GILTIGT MONTERAD STANDBY-IDLE

6.4. Starta Gör om Använd manuellt:

sqlplus> alter databas återställ hanterad standby-databas med aktuell loggfil frånkoppling;

6.5. Synkronisering mellan primär- och standby-databasvalidering

sqlplus> välj * från v$archive_gap;sqlplus> välj namn, värde, datum_tid, time_computed från v$dataguard_stats där namn som 'apply lag';sqlplus> välj filtyp, antal_filer, percent_space_used från v$recovery_area_plus> selectq; current_scn från v$database;sqlplus> välj sekvens#, första_gång, tillämpad från v$archived_log ordning efter sekvens#;

6.6. Stoppa Gör om Ansök innan du ställer in Data Guard Broker

sqlplus> ändra databas återställ hanterad standby-databas avbryt; Databasen ändrad.

7. Ställ in Data Guard Broker i primär- och standbydatabas

Obs:Data Guard-inställningsfiler kommer att skapas i ASM i olika diskgrupper:dg_broker_config_file1 och dg_broker_config_file2

7.1. I primär databas:

sqlplus> alter system set dg_broker_config_file1 ='+DG_DATA_DR/analytics/BROKERCFG/brokeranalytics1.dat' scope=both sid='*';sqlplus> alter system set dg_broker_config_file2 ='CODROCF/Analytics/BROKERCFG/brokeranalytics1.dat' scope=both sid='*';sqlplus> ändra systemuppsättning log_archive_dest_2='' scope=both sid='*';sqlplus> ändra systemuppsättning DG_BROKER_START=FALSK scope=both sid='*';sqlplus>BROKER systemuppsättning_START_ =TRUE scope=both sid='*';

7.2. I standby-databas:

sqlplus> alter system set dg_broker_config_file1 ='+DG_DATA/analytics_DG/BROKERCFG/brokeranalytics_dg1.dat' scope=both sid='*';sqlplus> ändra systemuppsättningen dg_broker_config_config_config_filetics_GROGdat_GROGbroker_file/ scope=both sid='*';sqlplus> ändra systemuppsättning log_archive_dest_2='' scope=both sid='*';sqlplus> ändra systemuppsättning DG_BROKER_START=FALSK scope=both sid='*';sqlplus>BROKER systemuppsättning_START_ =TRUE scope=both sid='*';

7.3. Mäklarinställningar:

$ dgmgrldgmgrl> connect sys/xxxxx@analyticsAnsluten som SYSDBA.dgmgrl> skapa konfiguration 'analytics_cfg' som primär databas är 'analytics' anslutningsidentifierare är analytics; Konfiguration "analytics_cfg" skapad med primär databas "analytics"dgmgrl> lägg till databasen analytics_dg' som anslutningsidentifierare bibehålls analytics_dg som fysisk; Databas "analytics_dg" addeddgmgrl> redigera databasen 'analytics_dg' set egenskapen logxptmode=async;Egenskapen "logxptmode" uppdateradddgmgrl> redigera konfigurationen ställ in skyddsläge som MAXPERFORMANCE; enSumccgreradl>enSugccperFORMANCE; Aktiverad.

Använd kommandot SHOW CONFIGURATION för att visa en kort sammanfattning av inställningarna.

dgmgrl> show configurationConfiguration - analytics_cfgProtection Mode:MaxPerformanceDatabases:analytics - Primär databaseanalytics_dg - Fysisk standbydatabas Snabbstartsfel:DISABLEDConfiguration Status:SUCCESS

7.4. Validera inställningar med kommandon

dgmgrl> show databas verbose 'analytics_dg' 'RecvQEntries';dgmgrl> show databas verbose 'analytics';dgmgrl> show databas verbose 'analytics_dg';

Nod 1:

sqlplus> välj NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE från v$databasen;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- -------------------- -------------------- ------ -----analytics LÄS SKRIV MAXIMAL PRESTANDA MAXIMAL PRESTANDA PRIMÄR

Nod 2:

sqlplus> välj NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE från v$databasen;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVE DATABASE_ROLE--------- ---------------- -------------------- -------------------- ------ -----analytics LÄS SKRIV MAXIMAL PRESTANDA MAXIMAL PRESTANDA PRIMÄR

Standby DB:

sqlplus> välj NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE från v$databasen;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- -------------------- -------------------- ---------- ------analytics MONTERAD MAXIMAL PRESTANDA MAXIMAL PRESTANDA FYSISK STANDBY

8. Justeringar på Broker kommer att göras till inställningarna "MaxConnections", "TransportDisconnectedThreshold" och "TransportLagThreshold" [1]

Egenskapen "MaxConnections" anger hur många ARCn-processer som kommer att användas parallellt för att överföra data från en redo-loggfil till fjärrplatsen när det finns en GAP i processen. Om MaxConnections har definierats med ett värde högre än 1, använder redo transporttjänster flera ARCn-processer för att överföra data från en redo-loggfil till standby.

Egenskapen "TransportDisconnectedThreshold" kan användas för att skapa en varningsstatus för en logisk eller fysisk väntande eller omedelbar infångning när den senaste primära databaskommunikationen överskrider det egenskapsspecificerade värdet. Fastighetens värde uttrycks i sekunder.

Egenskapen "TransportLagThreshold" kan användas för att skapa en varningsstatus för en logisk eller fysisk väntande eller omedelbar infångning när databastransportfördröjningen överstiger det egenskapsspecificerade värdet. Fastighetens värde uttrycks i sekunder.

dgmgrl> redigera databas 'analytics' SET PROPERTY 'MaxConnections'=4;Egenskap "MaxConnections" updateddgmgrl> redigera databas 'analytics' SET PROPERTY TransportDisconnectedThreshold='180';Egenskap "transportdisconnectedthreshold" TransportLagThreshold='900';Egenskapen "transportlagtthreshold" updateddgmgrl> redigera databasen 'analytics_dg' SET PROPERTY 'MaxConnections'=4;Egenskapen "MaxConnections" updateddgmgrl> redigera databasen 'analytics_dg' SETconnected PROPERTY 0 TransportDisholdreshold updated'>transportthreshold'>transportthreshold'>transportthreshold' redigera databasen 'analytics_dg' SET PROPERTY TransportLagThreshold='900';Egenskapen "transportlagtthreshold" uppdaterad

9. Ändra uteslutningspolicyns arkivloggar i primär databas.

rman> KONFIGURERA RADERINGSPOLICY FÖR ARKIVLOGG FÖR ATT LEVERAS TILL STANDBY;

Aktiv Dataguard-aktivering

10. Stoppa Gör om Ansök i mäklare

$ dgmgrldgmgrl> anslut sysdgmgrl> redigera databasen 'analytics_dg' set state ='apply-off';dgmgrl> visa databasen 'analytics_dg'

11. Öppna standby-instans i skrivskyddat läge.

sqlplus> ändra databasen öppen skrivskyddad;

12. Starta Gör om Ansök i mäklare

$ dgmgrldgmgrl> anslut sysdgmgrl> redigera databasen 'analytics_dg' set state ='apply-on';dgmgrl> visa databasen 'analytics_dg'
 

Referenser

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


  1. Värdet av data över tid

  2. Hur man visar nollvärden när man kör frågor i psql (PostgreSQL)

  3. Hur ändrar jag en PostgreSQL-tabell och gör en kolumn unik?

  4. Hur man fyller ett nummer med ledande nollor i MariaDB