sql >> Database >  >> RDS >> Database

Active Data Guard Physical Standby instellen in RAC One Node Architecture - Deel 2

Dit artikel is deel 2 van een tweedelige serie waarin de stappen worden beschreven voor het instellen van Active Data Guard Physical Standby in RAC One Node Architecture. Deel 1 vind je hier.

1. Wanneer het dubbele databaseproces is voltooid (deel 1 van het artikel), voeg dan de Standby-database toe in Clusterware

 srvctl database toevoegen -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 PHYSICAL_STANDBY -s MOUNT -n analytics_dg -e hostdr

2. sluit een database af

sqlplus> onmiddellijk afsluiten;

3. Kopieer het "Oracle-wachtwoordbestand" met de nieuwe instantienaam "orapwanalyticsdg_1"

cd $ORACLE_HOME/dbscp orapwanalytics_dg orapwanalyticsdg_1

4. Database starten

$ srvctl start database -d analytics_dg$ srvctl configuratiedatabase -d analytics_dgDatabase unieke naam:analytics_dgDatabase naam:analytics_dgOracle home:/u01/app/oracle/product/12.1.0.2/dbhome_1Oracle gebruiker:oracleSpfile:+DG_DATA/PARAMs_DATAG /spfileanalytics_dg.oraPassword file:Domain:Start options:read onlyStop options:instant Databaserol:PHYSICAL_STANDBYManagement policy:AUTOMATICSServer pools:Disk Groups:DG_DATA,DG_RECOMount point paths:Services:Type:RACOneNodeOnline relocation timeout:30Instance name name :sdbaOSOPER group:soperDatabase instances:Database wordt beheerd door een beheerder

5. Volgens het patroon van Oracle Restart wordt de instantie analytics_dg analyticsdg_1 genoemd, daarom moet listener.ora worden bijgewerkt.

Voer de opdracht "listener reload" uit om de luisteraar te dwingen de items "listener.ora" opnieuw te lezen. Aandacht! Deze bewerking heeft invloed op de beschikbaarheid van de luisteraar.

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.1.0.2/dbprehome_1)> 

6. Redo Transport Service wordt handmatig ingeschakeld om verbindingen en instellingen te valideren.

Parameters DB_BLOCK_CHECKSUM , DB_BLOCK_CHECKING en DB_LOST_WRITE_PROTECT wordt ingesteld voor beide databases, primair en stand-by, om beschadigde blokken te voorkomen en te detecteren.

6.1. Pas parameters aan in de standby-database

sqlplus> systeem wijzigen set log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> systeem wijzigen SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FORLES=(ALL_ROFIname_nl) scope=both sid='*';sqlplus> systeemset wijzigen log_archive_dest_2='service=analytics LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 heropen=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics' scope*=beide sid ';sqlplus> systeemset wijzigen fal_server='analytics' scope=both sid='*';sqlplus> systeemset wijzigen fal_client='analytics_dg' scope=both sid='*';sqlplus> systeemset wijzigen log_archive_max_processes=4 scope=beide sid='*';sqlplus> systeemset wijzigen standby_file_management='AUTO' scope=both sid='*';sqlplus> systeemset wijzigen db_file_name_convert='+DG_DATA_DR/analytics','+DG_DATA/analytics_DG','+DG_RECO_DR /analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> systeemset wijzigen log_file_name_convert='+DG_DATA_DR/ analytics','+DG_DATA/analytics_DG','+DG_RECO_DR/analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> systeemset wijzigen db_block_checksum=VOLLEDIGE scope=beide sid='*';sqlplus> systeemset wijzigen db_block_checking=MEDIUM scope=beide sid='*';sqlplus> systeemset wijzigen db_lost_write_protect=TYPISCH scope=beide sid='*';sqlplus> systeemset wijzigen log_archive_dest_state_1='inschakelen' scope=beide sid='* ';sqlplus> systeemset wijzigen log_archive_dest_state_2='enable' scope=both sid='*';

6.2. Pas parameters aan in de primaire database:

sqlplus> systeem wijzigen set log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> systeem wijzigen SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FORALL=(ALL_FIROunLES) scope=both sid='*';sqlplus> systeemset wijzigen log_archive_dest_2='service=analytics_dg LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 heropen=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics_dg' ';sqlplus> systeemset wijzigen fal_server='analytics_dg' scope=both sid='*';sqlplus> systeemset wijzigen fal_client='analytics' scope=both sid='*';sqlplus> systeemset wijzigen log_archive_max_processes=4 scope=both sid='*';sqlplus> systeemset wijzigen standby_file_management='AUTO' scope=both sid='*';sqlplus> systeemset wijzigen db_file_name_convert='+DG_DATA/analytics_DG','+DG_DATA_DR/analytics','+DG_RECO /analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> systeemset wijzigen log_file_name_convert='+DG_DATA /analytics_DG','+DG_DATA_DR/analytics','+DG_RECO/analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> systeemset wijzigen db_block_checksum=TYPISCH scope=beide sid='*'; sqlplus> verander systeemset db_block_checking=MEDIUM scope=beide sid='*';sqlplus> verander systeemset db_lost_write_protect=TYPISCH scope=beide sid='*';sqlplus> verander systeemset log_archive_dest_state_1='inschakelen' scope=beide sid=' *';sqlplus> systeemset wijzigen log_archive_dest_state_2='enable' scope=both sid='*';

6.3. Het kenmerk 'status' van Primair en Stand-by moet 'VALID' retourneren

sqlplus> selecteer dest_id,status,destination ,error van v$archive_dest waarbij dest_id <=5; ID DB_status Archive_dest Error---------- --------- --------------------------- -- -------1 GELDIG USE_DB_RECOVERY_FILE_DEST2 GELDIG analytics_dg3 INACTIVE4 INACTIVE5 INACTIVEsqlplus> selecteer dest_id,status,database_mode,recovery_mode van v$archive_dest_status waar status <> 'INACTIEF'; DEST_ID STATUS DATABASE_MODE RECOVERY_MODE---------- --------- --------------- ------------ -----------1 GELDIG OPEN IDLE2 GELDIG GEMONTEERD-STANDBY IDLE

6.4. Handmatig opnieuw starten Toepassen:

sqlplus> database wijzigen herstel beheerde standby-database met huidige logbestand verbreken;

6.5. Synchronisatie tussen primaire en stand-by databasevalidatie

sqlplus> selecteer * van v$archive_gap;sqlplus> selecteer naam, waarde, datum_time, time_computed van v$dataguard_stats waar naam als 'apply lag';sqlplus> selecteer file_type, number_of_files, percent_space_used van v$recovery_area_usage;sqlplus> selecteer current_scn uit v$database;sqlplus> selecteer sequentie#, first_time, toegepast vanuit v$archived_log volgorde door sequentie#;

6.6. Stop Opnieuw Toepassen voordat u Data Guard Broker instelt

sqlplus> database wijzigen herstellen beheerde standby database annuleren; Database gewijzigd.

7. Stel Data Guard Broker in in de primaire en standby-database

Opmerking:Data Guard-instellingenbestanden worden aangemaakt in ASM in verschillende schijfgroepen:dg_broker_config_file1 en dg_broker_config_file2

7.1. In primaire database:

sqlplus> systeemset wijzigen dg_broker_config_file1 ='+DG_DATA_DR/analytics/BROKERCFG/brokeranalytics1.dat' scope=both sid='*';sqlplus> systeemset wijzigen dg_broker_config_file2 ='+DG_RECO_DR/analytics/daterROKERCF2. scope=beide sid='*';sqlplus> systeemset wijzigen log_archive_dest_2='' scope=both sid='*';sqlplus> systeemset wijzigen DG_BROKER_START=FALSE scope=beide sid='*';sqlplus> systeemset wijzigen DG_BROKER_START =TRUE scope=beide sid='*';

7.2. In standby-database:

sqlplus> systeemset wijzigen dg_broker_config_file1 ='+DG_DATA/analytics_DG/BROKERCFG/brokeranalytics_dg1.dat' scope=both sid='*';sqlplus> systeemset wijzigen dg_broker_config_file2 ='+DG_CFO/analytics_DO/analytics scope=beide sid='*';sqlplus> systeemset wijzigen log_archive_dest_2='' scope=both sid='*';sqlplus> systeemset wijzigen DG_BROKER_START=FALSE scope=beide sid='*';sqlplus> systeemset wijzigen DG_BROKER_START =TRUE scope=beide sid='*';

7.3. Makelaar instellingen:

$ dgmgrldgmgrl> connect sys/xxxxx@analyticsConnected as SYSDBA.dgmgrl> maak configuratie 'analytics_cfg' als primaire database is 'analytics' connect identifier is analytics;Configuratie "analytics_cfg" gemaakt met primaire database "analytics"dgmgrl> add database ' analytics_dg' als verbindings-ID is analytics_dg onderhouden als fysiek; Database "analytics_dg" addeddgmgrl> database bewerken 'analytics_dg' set eigenschap logxptmode=async;Property "logxptmode" updateddgmgrl> configuratie bewerken set beschermingsmodus als MAXPERFORMANCE;Geslaagd configuratie; Ingeschakeld.

Gebruik de opdracht SHOW CONFIGURATION om een ​​korte samenvatting van de instellingen weer te geven.

dgmgrl> show configurationConfiguration - analytics_cfgProtection Mode:MaxPerformanceDatabases:analytics - Primaire databaseanalytics_dg - Fysieke standby databaseFast-Start Failover:DISABLEDConfiguration Status:SUCCESS

7.4. Instellingen valideren met commando's

dgmgrl> toon database uitgebreid 'analytics_dg' 'RecvQEntries';dgmgrl> toon database uitgebreid 'analytics';dgmgrl> toon database uitgebreid 'analytics_dg';

Knooppunt 1:

sqlplus> selecteer NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE van v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- ---- -------------------- -------------------- ------ -----analytics LEZEN SCHRIJVEN MAXIMALE PRESTATIES MAXIMALE PRESTATIES PRIMAIRE

Knooppunt 2:

sqlplus> selecteer NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE uit v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVE DATABASE_ROLE--------- ---------------- ---- -------------------- -------------------- ------ -----analytics LEZEN SCHRIJVEN MAXIMALE PRESTATIES MAXIMALE PRESTATIES PRIMAIRE

Stand-by database:

sqlplus> selecteer NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE van v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- -------------------- -------------------- ---------- ------analytics GEMONTEERD MAXIMALE PRESTATIES MAXIMALE PRESTATIES FYSIEKE STANDBY

8. Aanpassingen op Broker worden gemaakt aan instellingen "MaxConnections", "TransportDisconnectedThreshold" en "TransportLagThreshold" [1]

De eigenschap "MaxConnections" specificeert hoeveel ARCn-processen parallel zullen worden gebruikt om gegevens van een opnieuw uit te voeren logbestand naar de externe site over te dragen wanneer er een GAP in het proces is. Als MaxConnections is gedefinieerd met een waarde hoger dan 1, gebruikt redo transport services meerdere ARCn-processen om gegevens over te brengen van een redo-logbestand naar stand-by.

De eigenschap "TransportDisconnectedThreshold" kan worden gebruikt om een ​​waarschuwingsstatus te creëren voor een logische of fysieke wachtstand of onmiddellijke opname wanneer de laatste primaire databasecommunicatie de door de eigenschap opgegeven waarde overschrijdt. De waarde van de eigenschap wordt uitgedrukt in seconden.

De eigenschap "TransportLagThreshold" kan worden gebruikt om een ​​waarschuwingsstatus te creëren voor een logische of fysieke wachtstand of onmiddellijke opname wanneer de vertraging van het databasetransport de door de eigenschap opgegeven waarde overschrijdt. De waarde van de eigenschap wordt uitgedrukt in seconden.

dgmgrl> database bewerken 'analytics' SET PROPERTY 'MaxConnections'=4;Property "MaxConnections" updateddgmgrl> database bewerken 'analytics' SET PROPERTY TransportDisconnectedThreshold='180';Property "transportdisconnectedthreshold" updateddgmgrl> database bewerken 'analytics' SET PROPERTY TransportLagThreshold='900';Property "transportlagthreshold" updateddgmgrl> database bewerken 'analytics_dg' SET PROPERTY 'MaxConnections'=4;Property "MaxConnections" updateddgmgrl> database bewerken 'analytics_dg' SET PROPERTY TransportDisconnectedThreshold='180';Property "holdtransportdisconnectedthresg" database bewerken 'analytics_dg' SET PROPERTY TransportLagThreshold='900';Eigenschap "transportlagthreshold" bijgewerkt

9. Wijzig de archieflogboeken van het uitsluitingsbeleid in de primaire database.

rman> CONFIGUREER ARCHIEFLOGVERWIJDERINGSBELEID OM NAAR STANDBY TE VERZONDEN;

Actieve Dataguard-activering

10. Stop Opnieuw Toepassen in makelaar

$ dgmgrldgmgrl> connect sysdgmgrl> bewerk database 'analytics_dg' set state ='apply-off';dgmgrl> toon database 'analytics_dg'

11. Open standby-instantie in alleen-lezen modus.

sqlplus> database wijzigen alleen-lezen openen;

12. Start Opnieuw Toepassen in makelaar

$ dgmgrldgmgrl> connect sysdgmgrl> bewerk database 'analytics_dg' set state ='apply-on';dgmgrl> toon database 'analytics_dg'
 

Referenties

[1] Data Guard Broker. Beschikbaar op:https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781


  1. Deelnemen aan MySQL en Postgres in een live gematerialiseerde weergave

  2. Tel het aantal unieke waarden

  3. Tellen gebruiken om het aantal keren te vinden

  4. Is er een MySQL-optie/-functie om de geschiedenis van wijzigingen in records bij te houden?