Menyiapkan observer Data Guard di Google Cloud Compute Engine
Bergantung pada persyaratan ketersediaan tinggi, Anda dapat mengotomatiskan failover antar-database. Setelah memvalidasi deployment Data Guard, Anda memiliki opsi untuk menyiapkan observer Data Guard di Compute Engine untuk melakukannya. Pengamat adalah proses yang memantau konfigurasi Data Guard untuk memulai failover otomatis jika kondisi memungkinkan.
Panduan ini membahas penginstalan klien database Oracle 19c di virtual machine (VM) pengamat dan mengonfigurasi Failover Fast-Start.
Contoh berikut digunakan di seluruh panduan ini:
Nama unik database | Nama host server | Nama instance RAC | Peran |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Utama |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Siaga |
Menginstal software klien Oracle Database
Buat virtual machine (VM) di Compute Engine yang memenuhi kriteria berikut:
Sistem operasi. Red Hat Enterprise Linux 7.
Jaringan. Subnet dengan aturan firewall yang mengizinkan akses dari Virtual Private Cloud Anda ke host Solusi Bare Metal yang menjalankan database utama dan cadangan.
Penyimpanan. -- Minimal 20 GB dialokasikan ke disk booting.
Login ke VM dan pastikan nama host SCAN dari setiap cluster database di-resolve di DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Jika nama host tidak di-resolve, tambahkan alamat IP untuk setiap nama host SCAN ke file
/etc/hosts
di VM. Ganti contoh alamat IP dengan alamat IP untuk setiap cluster:# Site 1 SCAN Hosts 192.0.2.10 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.11 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.12 DBDG_SITE1_SCAN_HOSTNAME # Site 2 SCAN Hosts 198.51.100.10 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.11 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.12 DBDG_SITE2_SCAN_HOSTNAME
Instal RPM Oracle Database. Hanya instal software. Anda tidak perlu mengonfigurasi database di VM pengamat.
RPM Oracle Database menginstal software di direktori yang telah ditentukan. Tambahkan entri berikut ke
/home/oracle/.bash_profile
untuk menambahkan direktori utama software Oracle ke jalur:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOL
Sumberkan variabel lingkungan Oracle di sesi terminal Anda:
source ~/.bash_profile
Mengonfigurasi konektivitas database
Konfigurasikan setelan Oracle Net dalam file
$ORACLE_HOME/network/admin/tsnames.ora
:DBDG_SITE1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE1_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE1) (UR=A) ) ) DBDG_SITE2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE2_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE2) (UR=A) ) )
Oracle Database versi 12.2 dan yang lebih tinggi menyertakan dukungan agar pengamat dapat berjalan dalam mode latar belakang. Untuk melakukannya, dompet harus dibuat untuk melakukan autentikasi tanpa sandi ke database. Login sebagai pengguna oracle di VM pengamat dan lakukan tugas berikut untuk membuat dompet:
Tambahkan entri berikut ke
$ORACLE_HOME/network/admin/sqlnet.ora
:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
Buat direktori dompet di VM yang menghosting observer:
mkdir /home/oracle/wallet
Lakukan inisialisasi pada dompet, lalu berikan sandi untuk dompet saat diminta:
mkstore -wrl /home/oracle/wallet -create
Buat entri di dompet untuk setiap database dalam konfigurasi Data Guard. Perintah
mkstore
akan meminta sandi SYS untuk database, diikuti dengan sandi dompet yang diberikan di langkah sebelumnya:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Pastikan dompet berisi kredensial untuk setiap database dalam konfigurasi Data Guard. Argumen
-listCredential
untukmkstore
akan meminta sandi dompet:mkstore -wrl /home/oracle/wallet -listCredential
Login ke VM observer sebagai Oracle, lalu uji konektivitas ke database utama dan standby. Hubungkan ke database utama dan sekunder dengan SQL*Plus menggunakan kredensial dompet:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Jika konfigurasi dompet berhasil, perintah
sqlplus
akan langsung login ke database tanpa meminta sandi.
Mengonfigurasi dan mengaktifkan Failover Mulai Cepat
Buat direktori untuk menyimpan konfigurasi observer dan file log:
mkdir /home/oracle/fsfo
Hubungkan ke broker Data Guard di database utama menggunakan dompet:
dgmgrl CONNECT /@DBDG_SITE1;
Lihat status Data Guard untuk memeriksa apakah konfigurasi ditandai sebagai
SUCCESS
:SHOW CONFIGURATION;
Aktifkan Fast-Start Failover (FSFO):
ENABLE FAST_START FAILOVER;
Mengaktifkan FSFO tidak membuat konfigurasi siap untuk failover otomatis. Failover otomatis memerlukan observer.
Mulai Data Guard Observer:
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';
Dalam sesi terminal terpisah, verifikasi konfigurasi:
SHOW CONFIGURATION VERBOSE;
Contoh berikut menunjukkan mode panjang perintah
show configuration
. Jika status konfigurasi adalahSUCCESS
, penyiapan Anda selesai.Configuration - DBDG Protection Mode: MaxAvailability Members: DBDG_SITE1 - Primary database DBDG_SITE2 - Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '45' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'DBDG_CFG' Fast-Start Failover: Enabled in Potential Data Loss Mode Lag Limit: 45 seconds Threshold: 30 seconds Active Target: DBDG_SITE2 Potential Targets: "DBDG_SITE2" DBDG_SITE2 valid Observer: observer1 Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS