Artikel ini adalah Bagian 2 dari seri dua bagian yang menjelaskan langkah-langkah untuk Mengatur Siaga Fisik Penjaga Data Aktif di Arsitektur Satu Node RAC. Anda dapat menemukan bagian 1 di sini.
1. Setelah proses duplikat database selesai (Bagian 1 artikel), tambahkan database Standby di Clusterware
srvctl add database -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 MOUNTANDBY analytics_dg -e hostdr
2. mematikan database
sqlplus> matikan segera;
3. Salin “File sandi Oracle” dengan nama instance baru “orapwanalyticsdg_1”
cd $ORACLE_HOME/dbscp orapwanalytics_dg orapwanalyticsdg_1
4. Mulai basis data
$ srvctl start database -d analytics_dg$ srvctl config database -d analytics_dgNama unik database:analytics_dgNama database:analytics_dgOracle home:/u01/app/Oracle/product/12.1.0.2/dbhome_1Pengguna Oracle:oracleSpfile:+DGRAM_DATA/analyticsETERFILEG/analytics /spfileanalytics_dg.oraFile kata sandi:Domain:Opsi mulai:hanya bacaOpsi berhenti:segeraPeran basis data:PHYSICAL_STANDBYKebijakan manajemen:AUTOMATICSkumpulan server:Grup Disk:DG_DATA,DG_RECOMJalur poin jumlah:Layanan:Jenis:RACOneNodeServer server instans:waktu habis waktu relokasi grup host::sdbaOSOPER group:soperDatabase instance:Database dikelola administrator
5. Menurut pola Oracle Restart, instance analytics_dg akan disebut analyticsdg_1 oleh karena itu, listener.ora harus diperbarui.
Jalankan perintah "listener reload" untuk memaksa pendengar membaca entri "listener.ora" lagi. Perhatian! Operasi ini akan memengaruhi ketersediaan pendengar.
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)6. Redo Transport Service akan diaktifkan secara manual untuk memvalidasi koneksi dan pengaturan.
Parameter DB_BLOCK_CHECKSUM , DB_BLOCK_CHECKING dan DB_LOST_WRITE_PROTECT akan disiapkan untuk database, primer dan standby, untuk mencegah dan mendeteksi blok yang rusak.
6.1. Sesuaikan parameter di database Siaga
sqlplus> mengubah set sistem log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> mengubah sistem SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_ROLES), ALL_LOG_FILE scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_2='service=analytics LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 buka kembali=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics' scope=kedua sid='* ';sqlplus> ubah set sistem fal_server='analytics' scope=both sid='*';sqlplus> ubah set sistem fal_client='analytics_dg' scope=both sid='*';sqlplus> ubah set sistem log_archive_max_processes=4 scope=keduanya sid='*';sqlplus> ubah set sistem standby_file_management='AUTO' scope=both sid='*';sqlplus> ubah set sistem db_file_name_convert='+DG_DATA_DR/analytics','+DG_DATA/analytics_DG','+DG_RECO_DR /analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> ubah set sistem log_file_name_convert='+DG_DATA_DR/ analytics','+DG_DATA/analytics_DG','+DG_RECO_DR/analytics','+DG_RECO/analytics_DG' scope=spfile sid='*';sqlplus> ubah set sistem db_block_checksum=FULL scope=both sid='*';sqlplus> ubah set sistem db_block_checking=MEDIUM scope=both sid='*';sqlplus> ubah set sistem db_lost_write_protect=TYPICAL scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_state_1='enable' scope=both sid='* ';sqlplus> mengubah set sistem log_archive_dest_state_2='enable' scope=both sid='*';6.2. Sesuaikan parameter di database Primer:
sqlplus> ubah set sistem log_archive_config='dg_config=(analytics,analytics_dg)' scope=both sid='*';sqlplus> ubah SET sistem log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_ROLES),ALL_LOGFILES' scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_2='service=analytics_dg LGWR ASYNC NOAFFIRM max_failure=10 max_connections=1 buka kembali=180 valid_for=(online_logfiles,primary_role) db_unique_name=analytics_dg' scope=keduanya ';sqlplus> ubah set sistem fal_server='analytics_dg' scope=both sid='*';sqlplus> ubah set sistem fal_client='analytics' scope=both sid='*';sqlplus> ubah set sistem log_archive_max_processes=4 scope=keduanya sid='*';sqlplus> ubah set sistem standby_file_management='AUTO' scope=both sid='*';sqlplus> ubah set sistem db_file_name_convert='+DG_DATA/analytics_DG','+DG_DATA_DR/analytics','+DG_RECO /analytics_DG','+DG_RECO_DR/analytics' scope=spfile sid='*';sqlplus> ubah set sistem 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 sid='*'; sqlplus> ubah set sistem db_block_checking=MEDIUM scope=both sid='*';sqlplus> ubah set sistem db_lost_write_protect=TYPICAL scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_state_1='enable' scope=both sid=' *';sqlplus> ubah set sistem log_archive_dest_state_2='enable' scope=both sid='*';6.3. Atribut “status” dari Primary dan Standby harus mengembalikan ‘VALID’
sqlplus> pilih dest_id,status,destination ,error dari v$archive_dest where dest_id &lt;=5; ID DB_status Archive_dest Error---------- --------- --------------------------- -- -------1 VALID USE_DB_RECOVERY_FILE_DEST2 VALID analytics_dg3 INACTIVE4 INACTIVE5 INACTIVEsqlplus> pilih dest_id,status,database_mode,recovery_mode dari v$archive_dest_status di mana status <&gt; 'TIDAK AKTIF'; DEST_ID STATUS DATABASE_MODE RECOVERY_MODE---------- --------- --------------- ------------ -----------1 VALID OPEN IDLE2 VALID MOUNTED-STANDBY IDLE6.4. Mulai Ulangi Terapkan secara manual:
sqlplus> mengubah basis data memulihkan basis data siaga terkelola menggunakan pemutusan logfile saat ini;6.5. Sinkronisasi antara validasi Database Primer dan Siaga
sqlplus> pilih * dari v$archive_gap;sqlplus> pilih nama, nilai, datum_time, time_computed dari v$dataguard_stats di mana nama seperti 'apply lag';sqlplus> pilih file_type, number_of_files, persen_ruang_digunakan dari v$recovery_area_usage;sqlplus> pilih current_scn dari v$database;sqlplus> pilih sequence#, first_time, diterapkan dari v$archived_log order by sequence#;6.6. Stop Redo Apply sebelum menyiapkan Data Guard Broker
sqlplus> mengubah database memulihkan database standby terkelola batal;Database diubah.7. Siapkan Pialang Penjaga Data di Basis Data Utama dan Siaga
Catatan:File pengaturan Data Guard akan dibuat di ASM dalam kelompok disk yang berbeda:dg_broker_config_file1 dan dg_broker_config_file2
7.1. Dalam basis data Utama:
sqlplus> ubah set sistem dg_broker_config_file1 ='+DG_DATA_DR/analytics/BROKERCFG/brokeranalytics1.dat' scope=both sid='*';sqlplus> ubah set sistem dg_broker_config_file2 ='+DG_RECO_DR/analytics/brokeranalytics scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_2='' scope=both sid='*';sqlplus> ubah set sistem DG_BROKER_START=FALSE scope=both sid='*';sqlplus> ubah set sistem DG_BROKER_START =TRUE scope=both sid='*';7.2. Dalam database Siaga:
sqlplus> ubah set sistem dg_broker_config_file1 ='+DG_DATA/analytics_DG/BROKERCFG/brokeranalytics_dg1.dat' scope=both sid='*';sqlplus> ubah set sistem dg_broker_config_file2 ='+DG_RECO/analytics_DG scope=both sid='*';sqlplus> ubah set sistem log_archive_dest_2='' scope=both sid='*';sqlplus> ubah set sistem DG_BROKER_START=FALSE scope=both sid='*';sqlplus> ubah set sistem DG_BROKER_START =TRUE scope=both sid='*';7.3. Pengaturan pialang:
$ dgmgrldgmgrl> connect sys/xxxxx@analyticsConnected as SYSDBA.dgmgrl> buat konfigurasi 'analytics_cfg' sebagai database utama adalah 'analytics' connect identifier adalah analytics;Konfigurasi "analytics_cfg" dibuat dengan database utama "analytics"dgmgrl> tambahkan database ' analytics_dg' sebagai pengidentifikasi koneksi adalah analytics_dg dipertahankan sebagai fisik;Database "analytics_dg" addeddgmgrl> edit database 'analytics_dg' set properti logxptmode=async;Properti "logxptmode" updateddgmgrl> edit konfigurasi setel mode perlindungan sebagai MAXPERFORMANCE;Succeeded.dgmgrl> aktifkan konfigurasi; Diaktifkan.Gunakan perintah SHOW CONFIGURATION untuk menampilkan ringkasan pengaturan singkat.
dgmgrl> tampilkan konfigurasiKonfigurasi - analytics_cfgMode Perlindungan:MaxPerformanceDatabases:analytics - Basis data primeranalytics_dg - Basis data siaga fisikFailover Mulai Cepat:DISABLEDStatus Konfigurasi:SUCCESS7.4. Validasi pengaturan dengan perintah
dgmgrl> tampilkan database verbose 'analytics_dg' 'RecvQEntries';dgmgrl> tampilkan database verbose 'analytics';dgmgrl> tampilkan database verbose 'analytics_dg';Simpul 1:
sqlplus> pilih NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE dari v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- ---- -------------------- -------------- ------ -----analytics BACA TULIS KINERJA MAKSIMUM KINERJA MAKSIMUM UTAMASimpul 2:
sqlplus> pilih NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE dari v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVE DATABASE_ROLE--------- ---------------- ---- -------------------- -------------- ------ -----analytics BACA TULIS KINERJA MAKSIMUM KINERJA MAKSIMUM UTAMADB siaga:
sqlplus> pilih NAME,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,DATABASE_ROLE dari v$database;NAME OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE--------- ---------------- -------------------- ----------------------------------- ------analytics KINERJA MAKSIMUM SIAGA FISIK KINERJA MAKSIMUM8. Penyesuaian pada Broker akan dilakukan pada pengaturan “MaxConnections”, “TransportDisconnectedThreshold” dan “TransportLagThreshold” [1]
Properti "MaxConnections" menentukan berapa banyak proses ARCn yang akan digunakan secara paralel untuk mentransfer data dari file redo log ke situs jarak jauh ketika ada GAP dalam proses. Jika MaxConnections didefinisikan dengan nilai lebih tinggi dari 1, layanan redo transport menggunakan beberapa proses ARCn untuk mentransfer data dari file redo log ke standby.
Properti "TransportDisconnectedThreshold" dapat digunakan untuk membuat status peringatan untuk menunggu logis atau fisik atau menangkap instan ketika komunikasi database utama terakhir melebihi nilai yang ditentukan properti. Nilai properti dinyatakan dalam detik.
Properti "TransportLagThreshold" dapat digunakan untuk membuat status peringatan untuk menunggu logis atau fisik atau menangkap instan ketika penundaan transportasi database melebihi nilai yang ditentukan properti. Nilai properti dinyatakan dalam detik.
dgmgrl> edit database 'analytics' SET PROPERTY 'MaxConnections'=4;Properti "MaxConnections" updateddgmgrl> edit database 'analytics' SET PROPERTY TransportDisconnectedThreshold='180';Properti "transportdisconnectedthreshold" updateddgmgrl> edit database SET 'analitik' TransportLagThreshold='900';Properti "transportlagthreshold" updateddgmgrl> edit database 'analytics_dg' SET PROPERTY 'MaxConnections'=4;Properti "MaxConnections" updateddgmgrl> edit database 'analytics_dg' SET PROPERTY TransportDisconnectedThreshold'updatedgreshold='180';Properti edit database 'analytics_dg' SETEL PROPERTI TransportLagThreshold='900';Properti "transportlagthreshold" diperbarui9. Ubah arsip kebijakan pengecualian di database utama.
rman> KONFIGURASI KEBIJAKAN PENGHAPUSAN ARCHIVELOG UNTUK DIKIRIM KE STANDBY;
Aktivasi Dataguard Aktif
10. Stop Redo Apply di broker
$ dgmgrldgmgrl> connect sysdgmgrl> edit database 'analytics_dg' set state ='apply-off';dgmgrl> tampilkan database 'analytics_dg'11. Buka instans siaga dalam mode hanya baca.
sqlplus> ubah database hanya baca terbuka;12. Mulai Ulangi Mendaftar di broker
$ dgmgrldgmgrl> connect sysdgmgrl> edit database 'analytics_dg' set state ='apply-on';dgmgrl> tampilkan database 'analytics_dg'Referensi
[1] Pialang Penjaga Data. Tersedia di:https://docs.Oracle.com/cd/E11882_01/server.112/e40771/dbpropref.htm#DGBKR3781