Ten artykuł jest częścią 2 dwuczęściowej serii, która opisuje kroki związane z ustawianiem fizycznej gotowości Active Data Guard w architekturze RAC One Node. Część 1 można znaleźć tutaj.
1. Po zakończeniu procesu duplikowania bazy danych (część 1 artykułu), dodaj Standby database w Clusterware
srvctl dodaj bazę danych -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 FIZYCZNA_GOTOWOŚĆ -s MONTAŻ -n analytics_dg -e hostdr
2. zamknij bazę danych
sqlplus> natychmiastowe zamknięcie;
3. Skopiuj „Plik haseł Oracle” z nową nazwą instancji „orapwanalyticsdg_1”
cd $ORACLE_HOME/dbscp orapwanalytics_dg orapwanalyticsdg_1
4. Uruchom bazę danych
$ srvctl startowa baza danych -d analytics_dg$ srvctl config baza danych -d analytics_dgUnikalna nazwa bazy danych:analytics_dgNazwa bazy danych:analytics_dgOracle strona główna:/u01/app/oracle/product/12.1.0.2/dbhome_1użytkownik Oracle:oracleSpfile/AMETERFLEG_DATA /spfileanalytics_dg.oraPassword file:Domain:Start options:read onlyStop options:natychmiastowyDatabaserola:PHYSICAL_STANDBYZasady zarządzania:AUTOMATYCZNEServerpools:Disk Groups:DG_DATA,DG_RECOMount point paths:Services:Type:RACOneNodeOnline timeout relokacji::DiDSBADrInstance server name::sdbaOSOPER grupa:soperDatabase instancje:Baza danych jest zarządzana przez administratora
5. Zgodnie ze wzorcem Oracle Restart, instancja analytics_dg będzie nazywać się analyticsdg_1, dlatego plik listener.ora musi zostać zaktualizowany.
Uruchom polecenie „listener reload”, aby zmusić słuchacza do ponownego odczytania wpisów „listener.ora”. Uwaga! Ta operacja wpłynie na dostępność słuchacza.
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/prehome_1))))>6. Usługa transportu ponów zostanie ręcznie włączona, aby zweryfikować połączenia i ustawienia.
Parametry DB_BLOCK_CHECKSUM , DB_BLOCK_CHECKING i DB_LOST_WRITE_PROTECT zostanie skonfigurowany dla obu baz danych, podstawowej i rezerwowej, aby zapobiegać i wykrywać uszkodzone bloki.
6.1. Dostosuj parametry w bazie danych gotowości
sqlplus> zmień zestaw systemowy log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FORdb=(ALL_ROLES_name)=(ALL_ROLES_nazwa) scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_2='service=analytics LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 reopen=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics' scope=oba sid=' ';sqlplus> zmień zestaw systemowy fal_server='analytics' scope=both sid='*';sqlplus> zmień zestaw systemowy fal_client='analytics_dg' scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_max_processes=4 scope=both sid='*';sqlplus> zmień zestaw systemowy standby_file_management='AUTO' scope=both sid='*';sqlplus> zmień zestaw systemowy db_file_name_convert='+DG_DATA_DR/analytics','+DG_DATA/analytics_DG','+DG_RECO_DR /analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> zmień zestaw systemowy nazwa_pliku_logowania_convert='+DG_DATA_DR/ analytics','+DG_DATA/analytics_DG','+DG_RECO_DR/analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> zmień zestaw systemowy db_block_checksum=FULL scope=both sid='*';sqlplus> zmień zestaw systemowy db_block_checking=ŚREDNI zakres=both sid='*';sqlplus> zmień zestaw systemowy db_lost_write_protect=TYPOWY scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_state_1='włącz' zakres=oba sid='* ';sqlplus> zmień zestaw systemowy log_archive_dest_state_2='włącz' scope=both sid='*';6.2. Dostosuj parametry w podstawowej bazie danych:
sqlplus> zmień zestaw systemowy log_archive_config='dg_config=(analytics,analytics_dg)' scope=oba sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FORdb=(ALL_ROLES_name)=(ALL_ROLES_nazwa) scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_2='service=analytics_dg LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 reopen=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics_thid' scope=bo ';sqlplus> zmień zestaw systemowy fal_server='analytics_dg' scope=both sid='*';sqlplus> zmień zestaw systemowy fal_client='analytics' scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_max_processes=4 scope=both sid='*';sqlplus> zmień zestaw systemowy standby_file_management='AUTO' scope=both sid='*';sqlplus> zmień zestaw systemowy db_file_name_convert='+DG_DATA/analytics_DG','+DG_DATA_DR/analytics','+DG_RECO /analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> zmień zestaw systemowy log_file_name_convert='+DG_DATA /analytics_DG','+DG_DATA_DR/analytics','+DG_RECO/analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> zmień zestaw systemowy db_block_checksum=TYPOWY scope=both sid='*'; sqlplus> zmień zestaw systemowy db_block_checking=ŚREDNI zakres=both sid='*';sqlplus> zmień zestaw systemowy db_lost_write_protect=TYPOWY scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_state_1='włącz' scope=oba sid=' *';sqlplus> zmień zestaw systemowy log_archive_dest_state_2='włącz' scope=both sid='*';6.3. Atrybut „status” z poziomu podstawowego i gotowości musi zwracać „WAŻNE”
sqlplus> wybierz dest_id,status,cel ,error z v$archive_dest gdzie dest_id &lt;=5; Identyfikator DB_status Archive_dest Błąd---------- ------------ --------------------------- -- -------1 WAŻNY USE_DB_RECOVERY_FILE_DEST2 WAŻNY analytics_dg3 INACTIVE4 INACTIVE5 INACTIVEsqlplus> wybierz dest_id,status,database_mode,recovery_mode z v$archive_dest_status gdzie status <> 'NIEAKTYWNY'; DEST_ID STATUS DATABASE_MODE RECOVERY_MODE---------- --------- --------------- ------------ -----------1 WAŻNY OTWARTY BEZCZYNNY2 WAŻNY ZAMONTOWANY-GOTOWOŚĆ BEZCZYNNY6.4. Ręcznie uruchom Ponów Zastosuj:
sqlplus> zmień bazę danych odzyskaj zarządzaną rezerwową bazę danych przy użyciu bieżącego rozłączenia pliku dziennika;6.5. Synchronizacja między walidacją podstawowej i rezerwowej bazy danych
sqlplus> select * from v$archive_gap;sqlplus> select name, value, datum_time, time_computed from v$dataguard_stats gdzie nazwa taka jak 'apply lag';sqlplus> select file_type, number_of_files, percent_space_used z v$recovery_area_usage> select;sqlplus> select file_type, number_of_files, percent_space_used from v$recovery_area_usage> current_scn z v$database;sqlplus> wybierz sekwencję#, pierwszy_raz, zastosowany z kolejności v$archived_log przez sekwencję#;6.6. Zatrzymaj ponawianie Zastosuj przed skonfigurowaniem usługi Data Guard Broker
sqlplus> zmień bazę danych odzyskaj zarządzaną rezerwową bazę danych anuluj; Zmieniono bazę danych.7. Skonfiguruj brokera ochrony danych w podstawowej i rezerwowej bazie danych
Uwaga:Pliki ustawień Data Guard zostaną utworzone w ASM w różnych grupach dysków:dg_broker_config_file1 i dg_broker_config_file2
7.1. W podstawowej bazie danych:
sqlplus> zmień zestaw systemowy dg_broker_config_file1 ='+DG_DATA_DR/analytics/BROKERCFG/brokeranalytics1.dat' scope=both sid='*';sqlplus> zmień zestaw systemowy dg_broker_config_file2 ='+DG_RECOKER_analytics/analytics/BROker2. scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_2='' scope=both sid='*';sqlplus> zmień zestaw systemowy DG_BROKER_START=FALSE scope=both sid='*';sqlplus> zmień zestaw systemowy DG_BROKER_START =PRAWDA zakres=oba sid='*';7.2. W rezerwowej bazie danych:
sqlplus> zmień zestaw systemowy dg_broker_config_file1 ='+DG_DATA/analytics_DG/BROKERCFG/brokeranalytics_dg1.dat' scope=both sid='*';sqlplus> zmień zestaw systemowy dg_broker_config_file2 ='+DG_FG/RECO/BROKERCRO_DG scope=both sid='*';sqlplus> zmień zestaw systemowy log_archive_dest_2='' scope=both sid='*';sqlplus> zmień zestaw systemowy DG_BROKER_START=FALSE scope=both sid='*';sqlplus> zmień zestaw systemowy DG_BROKER_START =PRAWDA zakres=oba sid='*';7.3. Ustawienia brokera:
$ dgmgrldgmgrl> connect sys/xxxxx@analyticsPołączony jako SYSDBA.dgmgrl> utwórz konfigurację „analytics_cfg”, ponieważ podstawowa baza danych to „analytics” Identyfikator połączenia to analytics;Konfiguracja „analytics_cfg” utworzona za pomocą podstawowej bazy danych „analytics”dgmgrl> dodaj bazę danych „ analytics_dg' jako identyfikator połączenia jest analytics_dg utrzymywany jako fizyczny;Dodano bazę danych „analytics_dg”dgmgrl> edytuj bazę danych 'analytics_dg' ustaw właściwość logxptmode=async;Właściwość „logxptmode” zaktualizowanodgmgrl> edytuj konfigurację ustaw tryb ochrony jako MAXPERFORMANCE;Succeeded.dgmgrl> włącz konfigurację; Włączone.Użyj polecenia SHOW CONFIGURATION, aby wyświetlić krótkie podsumowanie ustawień.
dgmgrl> show configurationConfiguration — analytics_cfgProtection Mode:MaxPerformanceDatabases:analytics — Podstawowa baza danychanalytics_dg — Fizyczna baza danych w stanie gotowościFast-Start Failover:DISABLEDConfiguration Status:SUCCESS7.4. Zatwierdź ustawienia za pomocą poleceń
dgmgrl> pokaż pełną bazę danych 'analytics_dg' 'RecvQEntries';dgmgrl> pokaż pełną bazę danych 'analytics';dgmgrl> pokaż pełną bazę danych 'analytics_dg';Węzeł 1:
sqlplus> wybierz NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE z v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE----- ---------------- ---- -------------------- -------------------- ------ -----analizy ODCZYT ZAPIS MAKSYMALNA WYDAJNOŚĆ MAKSYMALNA WYDAJNOŚĆ PODSTAWOWEWęzeł 2:
sqlplus> wybierz NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE z v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVE DATABASE_ROLE----- ----- ---- -------------------- -------------------- ------ -----analizy ODCZYT ZAPIS MAKSYMALNA WYDAJNOŚĆ MAKSYMALNA WYDAJNOŚĆ PODSTAWOWEGotowa baza danych:
sqlplus> wybierz NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE z v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE----- ---------------- -------------------- -------------------- ---------- ------analiza ZAMONTOWANA MAKSYMALNA WYDAJNOŚĆ MAKSYMALNA WYDAJNOŚĆ FIZYCZNY GOTOWOŚĆ8. Korekty u Brokera zostaną wykonane w ustawieniach „MaxConnections”, „TransportDisconnectedThreshold” i „TransportLagThreshold” [1]
Właściwość „MaxConnections” określa, ile procesów ARCn będzie używanych równolegle do przesyłania danych z pliku dziennika przeróbek do witryny zdalnej, gdy w procesie występuje luka. Jeśli MaxConnections jest zdefiniowany z wartością wyższą niż 1, usługi transportowe ponawiania używają wielu procesów ARCn do przesyłania danych z pliku dziennika ponawiania do trybu gotowości.
Właściwość „TransportDisconnectedThreshold” może służyć do tworzenia stanu ostrzeżenia dla logicznego lub fizycznego oczekiwania lub natychmiastowego przechwytywania, gdy ostatnia komunikacja z podstawową bazą danych przekracza określoną wartość właściwości. Wartość nieruchomości jest wyrażona w sekundach.
Właściwość „TransportLagThreshold” może służyć do tworzenia stanu ostrzeżenia dla logicznego lub fizycznego oczekiwania lub natychmiastowego przechwytywania, gdy opóźnienie transportu bazy danych przekracza określoną wartość właściwości. Wartość nieruchomości jest wyrażona w sekundach.
dgmgrl> edytuj bazę danych 'analytics' SET PROPERTY 'MaxConnections'=4;Właściwość "MaxConnections" zaktualizowanodgmgrl> edytuj bazę danych 'analytics' SET PROPERTY TransportDisconnectedThreshold='180';Właściwość "transportdisconnectedthreshold" zaktualizowanodgmgrl> edytuj bazę danych 'analytics' SET PROPERTY TransportLagThreshold='900';Właściwość "transportlagthreshold" zaktualizowanadgmgrl> edytuj bazę danych 'analytics_dg' USTAW PROPERTY 'MaxConnections'=4;Właściwość "MaxConnections" zaktualizowanodgmgrl> edytuj bazę danych 'analytics_dg' USTAW WŁASNOŚĆ TransportDisconnectedThreshold='180';Właściwość zaktualizowano "MaxConnections"> edytuj bazę danych „analytics_dg” SET WŁAŚCIWOŚĆ TransportLagThreshold='900';Właściwość „transportlagthreshold” zaktualizowana9. Zmień logi archiwalne zasad wykluczeń w podstawowej bazie danych.
rman> SKONFIGURUJ ZASADY USUWANIA DZIENNIKA ARCHIWUM, ABY WYSYŁAĆ DO GOTOWOŚCI;
Aktywna aktywacja ochrony danych
10. Zatrzymaj ponawianie Zastosuj w brokerze
$ dgmgrldgmgrl> connect sysdgmgrl> edytuj bazę danych „analytics_dg” ustaw stan =„apply-off”;dgmgrl> pokaż bazę danych „analytics_dg”11. Otwórz instancję w trybie gotowości w trybie tylko do odczytu.
sqlplus> zmień bazę danych otwórz tylko do odczytu;12. Rozpocznij Ponów Zastosuj w brokerze
$ dgmgrldgmgrl> connect sysdgmgrl> edytuj bazę danych „analytics_dg” ustaw stan =„apply-on”;dgmgrl> pokaż bazę danych „analytics_dg”Referencje
[1] Broker Ochrony Danych. Dostępne pod adresem:https://docs.oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781