Menyiapkan observer Data Guard di Compute Engine Google Cloud
Bergantung pada persyaratan ketersediaan tinggi, Anda mungkin ingin mengotomatiskan failover antar-database. Setelah memvalidasi deployment Data Guard, Anda memiliki opsi untuk menyiapkan observer Data Guard di Compute Engine untuk melakukannya. Observer adalah proses yang memantau konfigurasi Data Guard untuk memulai failover otomatis jika kondisi diperlukan.
Panduan ini membahas cara menginstal klien database Oracle 19c pada mesin virtual (VM) observer dan mengonfigurasi Fast-Start Failover.
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 | Kasus penggunaan |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Standby |
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 standby.
Penyimpanan. -- Sedikitnya 20 GB dialokasikan ke boot disk.
Login ke VM dan pastikan nama host PINDAI setiap cluster database telah diselesaikan di DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Jika nama host tidak ditemukan, tambahkan alamat IP untuk setiap nama host PINDAI ke file
/etc/hosts
pada 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 Database Oracle. Hanya instal software. Anda tidak perlu mengonfigurasi database di VM pengamat.
RPM Database Oracle menginstal software di direktori yang telah ditetapkan. Tambahkan entri berikut ke
/home/oracle/.bash_profile
untuk menambahkan beranda 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
Sumber variabel lingkungan Oracle di sesi terminal Anda:
source ~/.bash_profile
Mengonfigurasi konektivitas database
Konfigurasikan setelan Oracle Net di 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) ) )
Database Oracle versi 12.2 dan yang lebih baru menyertakan dukungan agar observer dapat berjalan dalam mode latar belakang. Untuk melakukannya, dompet harus dibuat untuk melakukan autentikasi tanpa sandi ke database. Login sebagai pengguna Oracle di VM observer 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 wallet di VM yang menghosting observer:
mkdir /home/oracle/wallet
Inisialisasi 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 wallet yang diberikan pada langkah sebelumnya:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Pastikan dompet tersebut 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 wallet:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Jika konfigurasi wallet berhasil, perintah
sqlplus
akan langsung login ke database tanpa meminta sandi.
Mengonfigurasi dan mengaktifkan Failover Mulai Cepat
Buat direktori untuk menyimpan file log dan konfigurasi observer:
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 Failover Mulai Cepat (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
, berarti penyiapan sudah 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