TR-5006: Implementazione Oracle VLDB ad alta produttività su Google Cloud NetApp Volumes con Data Guard
Allen Cao, Niyaz Mohamed, NetApp
La soluzione fornisce una panoramica e dettagli per la configurazione di Oracle Very Large Database (VLDB) ad alta velocità su Google Cloud NetApp Volumes (GCNV) con Oracle Data Guard in Google Cloud.
Scopo
L'elevata produttività e l'Oracle VLDB mission-critical pongono una forte richiesta di storage del database back-end. Per soddisfare l'accordo sul livello di servizio (SLA), l'archiviazione del database deve fornire la capacità richiesta e un elevato numero di operazioni di input/output al secondo (IOPS), mantenendo al contempo prestazioni con latenza inferiore ai millisecondi. Ciò risulta particolarmente impegnativo quando si distribuisce un carico di lavoro di database di questo tipo nel cloud pubblico con un ambiente di risorse di archiviazione condivise. Non tutte le piattaforme di archiviazione sono uguali. GCNV è un servizio di archiviazione premium offerto da Google in grado di supportare distribuzioni di database Oracle mission-critical nel cloud di Google che richiedono IOPS sostenuti e caratteristiche di prestazioni a bassa latenza. L'architettura supporta carichi di lavoro OLTP e OLAP, con livelli di servizio configurabili che supportano vari profili di prestazioni. GCNV offre prestazioni incredibilmente veloci con latenza inferiore ai millisecondi, raggiungendo una velocità di elaborazione fino a 4,5 GiBps per volume con carichi di lavoro misti di lettura/scrittura.
Sfruttando la funzionalità di backup snapshot veloce (secondi) e di clonazione (minuti) di GCNV, è possibile clonare al volo copie complete del database di produzione da Physical Standby per soddisfare molti altri casi d'uso, come DEV, UAT, ecc. È possibile eliminare una licenza Active Data Guard e Snapshot Standby inefficiente e complesso. Il risparmio sui costi può essere notevole. Per una configurazione nominale di Oracle Data Guard con CPU a 64 core sia sui server Oracle primari che su quelli di standby, il solo risparmio sui costi di licenza di Active Data Guard ammonta a $ 1.472.000, in base all'ultimo listino prezzi Oracle.
In questa documentazione, illustriamo come impostare un Oracle VLDB con configurazione Data Guard su storage GCNVS con più volumi NFS e Oracle ASM per il bilanciamento del carico di storage. È possibile eseguire rapidamente il backup dei volumi del database di standby tramite snapshot e clonarli per l'accesso in lettura/scrittura. Il team di NetApp Solutions Engineering fornisce un toolkit di automazione per creare e aggiornare cloni con una gestione semplificata del ciclo di vita.
Questa soluzione affronta i seguenti casi d'uso:
-
Implementazione di Oracle VLDB in un'impostazione Data Guard sul servizio di archiviazione GCNV nelle regioni Google Cloud.
-
Eseguire il backup degli snapshot e clonare il database di standby fisico per soddisfare casi d'uso quali reporting, sviluppo, test, ecc. tramite l'automazione.
Pubblico
Questa soluzione è destinata alle seguenti persone:
-
Un DBA che configura Oracle VLDB con Data Guard nel cloud Google per garantire elevata disponibilità, protezione dei dati e ripristino di emergenza.
-
Architetto di soluzioni di database interessato a Oracle VLDB con configurazione Data Guard nel cloud di Google.
-
Un amministratore di storage che gestisce lo storage GCNV che supporta il database Oracle.
-
Un proprietario di applicazioni a cui piace installare Oracle VLDB con Data Guard in un ambiente cloud di Google.
Ambiente di test e convalida della soluzione
I test e la convalida di questa soluzione sono stati eseguiti in un ambiente di laboratorio Google Cloud che potrebbe non corrispondere all'effettivo ambiente di distribuzione dell'utente. Per ulteriori informazioni, consultare la sezione Fattori chiave per la considerazione dell'implementazione .
Architettura
Componenti hardware e software
Hardware |
||
Google Cloud NetApp Volumes |
Servizio attuale offerto da Google |
Due pool di archiviazione, livello di servizio Premium, QoS automatico |
VM di Google Compute Engine per server DB |
N1 (4 vCPU, 15 GiB di memoria) |
Quattro VM DB, server DB primario, server DB di standby, server DB clone e osservatore Data Guard. |
Software |
||
RedHat Linux |
Red Hat Enterprise Linux 8.10 (Ootpa) - x86/64 |
Immagine del Marketplace RHEL, PAYG |
Infrastruttura Oracle Grid |
Versione 19.18 |
Patch RU applicata p34762026_190000_Linux-x86-64.zip |
Database Oracle |
Versione 19.18 |
Patch RU applicata p34765931_190000_Linux-x86-64.zip |
Patch dNFS OneOff |
p32931941_190000_Linux-x86-64.zip |
Applicato sia alla griglia che al database |
Oracle OPatch |
Versione 12.2.0.1.36 |
Ultima patch p6880880_190000_Linux-x86-64.zip |
Ansible |
Versione core 2.16.2 |
versione python - 3.10.13 |
NFS |
Versione 3.0 |
dNFS abilitato per Oracle |
Configurazione di Oracle VLDB Data Guard con una configurazione DR simulata da NY a LA
Banca dati |
DB_NOME_UNICO |
Nome del servizio Oracle Net |
Primario |
NTAP_NY |
NTAP_NY.cvs-pm-host-1p.internal |
Stand-by |
NTAP_LA |
NTAP_LA.cvs-pm-host-1p.internal |
Fattori chiave per la considerazione dell'implementazione
-
* Configurazione Google Cloud NetApp Volumes .* I GCNV sono allocati nel cloud di Google come
Storage Pools
. In questi test e convalide, abbiamo distribuito un pool di archiviazione da 2 TiB per ospitare il database primario Oracle nella regione East4 e un pool di archiviazione da 4 TiB per ospitare il database standby e il clone del DB nella regione West4. Il pool di archiviazione GCNV offre quattro livelli di servizio: Flex, Standard, Premium ed Extreme. La capacità IO del pool di capacità ANF si basa sulla dimensione del pool di capacità e sul suo livello di servizio. Durante la creazione di un pool di capacità, si imposta la posizione del pool di archiviazione, il livello di servizio, la zona di disponibilità e la capacità del pool di archiviazione. Per la configurazione di Oracle Data Guard, la disponibilità zonale dovrebbe essere sufficiente poiché Data Guard fornisce la protezione dal failover del database in caso di errore a livello di zona. -
Dimensionamento dei volumi del database. Per l'implementazione in produzione, NetApp consiglia di effettuare una valutazione completa dei requisiti di throughput del database Oracle dal report Oracle AWR. Quando si progetta il layout dei volumi GCNV per il database VLDB, tenere in considerazione le dimensioni del database, i requisiti di throughput e il livello di servizio. Si consiglia di utilizzare solo
Premium
OExtreme
servizio per database Oracle. La larghezza di banda è garantita a 64 MiB/s per capacità di volume TiB fino a un massimo di 4,5 GiBps perPremium
servizio e 128 MiB/s per capacità di volume TiB fino a 4,5 GiBps perExtreme
servizio. Per soddisfare i requisiti, una maggiore produttività richiederà volumi più grandi. -
Volumi multipli e bilanciamento del carico. Un singolo volume di grandi dimensioni può fornire un livello di prestazioni simile a quello di più volumi con le stesse dimensioni aggregate del volume, poiché la qualità del servizio è rigorosamente applicata in base alle dimensioni del volume e al livello di servizio del pool di archiviazione. Si consiglia di implementare più volumi (più punti di montaggio NFS) per Oracle VLDB per utilizzare al meglio il pool di risorse di archiviazione GCNV backend condiviso e per soddisfare i requisiti di throughput superiori a 4,5 GiBps. Implementare Oracle ASM per il bilanciamento del carico IO su più volumi NFS.
-
Considerazioni sull'istanza VM di Google Compute Engine. In questi test e convalide abbiamo utilizzato Compute Engine VM - N1 con 4 vCPU e 15 GiB di memoria. È necessario scegliere l'istanza VM del database Compute Engine in modo appropriato per Oracle VLDB con requisiti di throughput elevati. Oltre al numero di vCPU e alla quantità di RAM, la larghezza di banda della rete VM (limite di throughput in ingresso e in uscita o NIC) può diventare un collo di bottiglia prima che venga raggiunta la velocità di throughput dell'archiviazione del database.
-
Configurazione dNFS. Utilizzando dNFS, un database Oracle in esecuzione su una VM Google Compute Engine con storage GCNV può gestire un I/O significativamente maggiore rispetto al client NFS nativo. Assicurarsi che la patch p32931941 di Oracle dNFS venga applicata per risolvere potenziali bug.
Distribuzione della soluzione
Nella sezione seguente viene illustrata la configurazione per Oracle VLDB su GCNV in un'impostazione Oracle Data Guard tra un Oracle DB primario nel Google Cloud della regione orientale con storage GCNV e un Oracle DB di standby fisico nel Google Cloud della regione occidentale con storage GCNV.
Prerequisiti per la distribuzione
Details
Per la distribuzione sono richiesti i seguenti prerequisiti.
-
È stato configurato un account Google Cloud ed è stato creato un progetto all'interno del tuo account Google per distribuire le risorse per la configurazione di Oracle Data Guard.
-
Crea una VPC e delle subnet che coprano le regioni desiderate per Data Guard. Per una configurazione DR resiliente, si consiglia di posizionare i database primario e di standby in posizioni geografiche diverse, in grado di tollerare gravi disastri in una regione locale.
-
Dalla console del portale Google Cloud, distribuisci quattro istanze VM Linux di Google Compute Engine, una come server Oracle DB primario, una come server Oracle DB di standby, un server DB di destinazione clone e un osservatore Oracle Data Guard. Per maggiori dettagli sulla configurazione dell'ambiente, consultare il diagramma dell'architettura nella sezione precedente. Segui la documentazione di Google"Crea un'istanza di VM Linux in Compute Engine" per istruzioni dettagliate.
Assicurati di aver allocato almeno 50 G nel volume radice delle VM di Azure per avere spazio sufficiente per organizzare i file di installazione di Oracle. Per impostazione predefinita, le VM di Google Compute Engine sono bloccate a livello di istanza. Per abilitare la comunicazione tra VM, è necessario creare regole firewall specifiche per aprire il flusso di traffico della porta TCP, come la tipica porta Oracle 1521. -
Dalla console del portale Google Cloud, distribuisci due pool di archiviazione GCNV per ospitare i volumi del database Oracle. Riferito alla documentazione"Creazione di un pool di archiviazione: avvio rapido" per istruzioni dettagliate. Di seguito sono riportati alcuni screenshot per una rapida consultazione.
-
Creare volumi di database in pool di archiviazione. Riferito alla documentazione"Creare un volume di avvio rapido" per istruzioni dettagliate. Di seguito sono riportati alcuni screenshot per una rapida consultazione.
-
Il database Oracle primario avrebbe dovuto essere installato e configurato nel server Oracle DB primario. D'altro canto, nel server Oracle DB di standby o nel server Oracle DB clone, viene installato solo il software Oracle e non viene creato alcun database Oracle. Idealmente, il layout delle directory dei file Oracle dovrebbe corrispondere esattamente su tutti i server Oracle DB. Per assistenza sull'infrastruttura Oracle Grid e sull'installazione e configurazione del database con NFS/ASM, fare riferimento a TR-4974. Sebbene la soluzione sia convalidata nell'ambiente AWS FSx/EC2, può essere applicata anche all'ambiente Google GCNV/Compute Engine.
Configurazione primaria di Oracle VLDB per Data Guard
Details
In questa dimostrazione, abbiamo configurato un database Oracle primario denominato NTAP sul server DB primario con otto punti di montaggio NFS: /u01 per il binario Oracle, /u02, /u03, /u04, /u05, /u06, /u07 per i file di dati Oracle e carico bilanciato con il gruppo di dischi Oracle ASM +DATA; /u08 per i log attivi Oracle, i file di log archiviati e carico bilanciato con il gruppo di dischi Oracle ASM +LOGS. Per motivi di ridondanza, i file di controllo Oracle vengono posizionati sia sui gruppi di dischi +DATA che +LOGS. Questa configurazione serve come riferimento. L'effettiva distribuzione dovrebbe tenere in considerazione le esigenze e i requisiti specifici in termini di dimensioni del pool di archiviazione, livello di servizio, numero di volumi di database e dimensioni di ciascun volume.
Per procedure dettagliate passo passo per la configurazione di Oracle Data Guard su NFS con ASM, fare riferimento a TR-5002 -"Riduzione dei costi di Oracle Active Data Guard con Azure NetApp Files" . Sebbene le procedure in TR-5002 siano state convalidate nell'ambiente Azure ANF, sono ugualmente applicabili all'ambiente Google GCNV.
Di seguito sono illustrati i dettagli di un Oracle VLDB primario in una configurazione Data Guard nell'ambiente Google GCNV.
-
Il database primario NTAP nel server DB del motore di calcolo primario viene distribuito come database a istanza singola in una configurazione di riavvio autonoma sullo storage GCNV con protocollo NFS e ASM come gestore del volume di storage del database.
orap.us-east4-a.c.cvs-pm-host-1p.internal: Zone: us-east-4a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.212.124.14 pri_ip: 10.70.11.5 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 0 7.3G 0% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.180:/orap-u05 250G 201G 50G 81% /u05 10.165.128.180:/orap-u08 400G 322G 79G 81% /u08 10.165.128.180:/orap-u04 250G 201G 50G 81% /u04 10.165.128.180:/orap-u07 250G 201G 50G 81% /u07 10.165.128.180:/orap-u02 250G 201G 50G 81% /u02 10.165.128.180:/orap-u06 250G 201G 50G 81% /u06 10.165.128.180:/orap-u01 100G 21G 80G 21% /u01 10.165.128.180:/orap-u03 250G 201G 50G 81% /u03 [oracle@orap ~]$ cat /etc/oratab # # This file is used by ORACLE utilities. It is created by root.sh # and updated by either Database Configuration Assistant while creating # a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third field indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
-
Accedi al server DB primario come utente Oracle. Convalida la configurazione della griglia.
$GRID_HOME/bin/crsctl stat res -t
[oracle@orap ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE orap STABLE ora.LISTENER.lsnr ONLINE ONLINE orap STABLE ora.LOGS.dg ONLINE ONLINE orap STABLE ora.asm ONLINE ONLINE orap Started,STABLE ora.ons OFFLINE OFFLINE orap STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE orap STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE orap STABLE ora.ntap.db 1 ONLINE ONLINE orap Open,HOME=/u01/app/o racle/product/19.0.0 /NTAP,STABLE -------------------------------------------------------------------------------- [oracle@orap ~]$
-
Configurazione del gruppo di dischi ASM.
asmcmd
[oracle@orap ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 1228800 1219888 0 1219888 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 327680 326556 0 326556 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/orap_data_disk_01 /u02/oradata/asm/orap_data_disk_02 /u02/oradata/asm/orap_data_disk_03 /u02/oradata/asm/orap_data_disk_04 /u03/oradata/asm/orap_data_disk_05 /u03/oradata/asm/orap_data_disk_06 /u03/oradata/asm/orap_data_disk_07 /u03/oradata/asm/orap_data_disk_08 /u04/oradata/asm/orap_data_disk_09 /u04/oradata/asm/orap_data_disk_10 /u04/oradata/asm/orap_data_disk_11 /u04/oradata/asm/orap_data_disk_12 /u05/oradata/asm/orap_data_disk_13 /u05/oradata/asm/orap_data_disk_14 /u05/oradata/asm/orap_data_disk_15 /u05/oradata/asm/orap_data_disk_16 /u06/oradata/asm/orap_data_disk_17 /u06/oradata/asm/orap_data_disk_18 /u06/oradata/asm/orap_data_disk_19 /u06/oradata/asm/orap_data_disk_20 /u07/oradata/asm/orap_data_disk_21 /u07/oradata/asm/orap_data_disk_22 /u07/oradata/asm/orap_data_disk_23 /u07/oradata/asm/orap_data_disk_24 /u08/oralogs/asm/orap_logs_disk_01 /u08/oralogs/asm/orap_logs_disk_02 /u08/oralogs/asm/orap_logs_disk_03 /u08/oralogs/asm/orap_logs_disk_04 ASMCMD>
-
Impostazione dei parametri per Data Guard sul DB primario.
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string ntap db_unique_name string ntap_ny global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string ntap_ny.cvs-pm-host-1p.interna SQL> sho parameter log_archive_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=USE_DB_RECOVERY_FILE_ DEST VALID_FOR=(ALL_LOGFILES,A LL_ROLES) DB_UNIQUE_NAME=NTAP_ NY log_archive_dest_10 string log_archive_dest_11 string log_archive_dest_12 string log_archive_dest_13 string log_archive_dest_14 string log_archive_dest_15 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_16 string log_archive_dest_17 string log_archive_dest_18 string log_archive_dest_19 string log_archive_dest_2 string SERVICE=NTAP_LA ASYNC VALID_FO R=(ONLINE_LOGFILES,PRIMARY_ROL E) DB_UNIQUE_NAME=NTAP_LA log_archive_dest_20 string log_archive_dest_21 string log_archive_dest_22 string
-
Configurazione del DB primario.
SQL> select name, open_mode, log_mode from v$database; NAME OPEN_MODE LOG_MODE --------- -------------------- ------------ NTAP READ WRITE ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NTAP_PDB1 READ WRITE NO 4 NTAP_PDB2 READ WRITE NO 5 NTAP_PDB3 READ WRITE NO SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/DATAFILE/system.257.1198026005 +DATA/NTAP/DATAFILE/sysaux.258.1198026051 +DATA/NTAP/DATAFILE/undotbs1.259.1198026075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1198027075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1198027075 +DATA/NTAP/DATAFILE/users.260.1198026077 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1198027075 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.272.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.273.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.271.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.275.1198028185 NAME -------------------------------------------------------------------------------- +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/system.277.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.278.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.276.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/users.280.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/system.282.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.283.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.281.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/users.285.1198028229 19 rows selected. SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/NTAP/ONLINELOG/group_3.264.1198026139 +LOGS/NTAP/ONLINELOG/group_3.259.1198026147 +DATA/NTAP/ONLINELOG/group_2.263.1198026137 +LOGS/NTAP/ONLINELOG/group_2.258.1198026145 +DATA/NTAP/ONLINELOG/group_1.262.1198026137 +LOGS/NTAP/ONLINELOG/group_1.257.1198026145 +DATA/NTAP/ONLINELOG/group_4.286.1198511423 +LOGS/NTAP/ONLINELOG/group_4.265.1198511425 +DATA/NTAP/ONLINELOG/group_5.287.1198511445 +LOGS/NTAP/ONLINELOG/group_5.266.1198511447 +DATA/NTAP/ONLINELOG/group_6.288.1198511459 MEMBER -------------------------------------------------------------------------------- +LOGS/NTAP/ONLINELOG/group_6.267.1198511461 +DATA/NTAP/ONLINELOG/group_7.289.1198511477 +LOGS/NTAP/ONLINELOG/group_7.268.1198511479 14 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/CONTROLFILE/current.261.1198026135 +LOGS/NTAP/CONTROLFILE/current.256.1198026135
-
Configurazione dell'ascoltatore Oracle.
lsnrctl status listener
[oracle@orap admin]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-APR-2025 16:14:00 Copyright (c) 1991, 2022, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 14-APR-2025 19:44:21 Uptime 0 days 20 hr. 29 min. 38 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.0.0/grid/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/orap/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orap.us-east4-a.c.cvs-pm-host-1p.internal)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_DATA" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_LOGS" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "32639b76c9bc91a8e063050b460a2116.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639d40d02d925fe063050b460a60e3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639e973af79299e063050b460afbad.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "86b637b62fdf7a65e053f706e80a27ca.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAPXDB.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAP_NY_DGMGRL.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status UNKNOWN, has 1 handler(s) for this service... Service "ntap.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb1.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb2.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... The command completed successfully
-
Il flashback è abilitato nel database primario.
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PRIMARY YES
-
Configurazione dNFS sul database primario.
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u04 10.165.128.180 /orap-u05 10.165.128.180 /orap-u07 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u03 10.165.128.180 /orap-u06 10.165.128.180 /orap-u02 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u08 10.165.128.180 /orap-u01 8 rows selected.
Ciò completa la dimostrazione di una configurazione Data Guard per VLDB NTAP nel sito primario su GCNV con NFS/ASM.
Configurazione di standby Oracle VLDB per Data Guard
Details
Oracle Data Guard richiede la configurazione del kernel del sistema operativo e gli stack software Oracle, inclusi i set di patch sul server DB di standby, per corrispondere al server DB primario. Per una gestione semplice e intuitiva, la configurazione dell'archiviazione del database del server DB di standby dovrebbe idealmente corrispondere anche a quella del server DB primario, ad esempio il layout della directory del database e le dimensioni dei punti di montaggio NFS.
Di nuovo, per procedure dettagliate passo passo per la configurazione di Oracle Data Guard standby su NFS con ASM, fare riferimento a"TR-5002 - Riduzione dei costi di Oracle Active Data Guard con Azure NetApp Files" E"TR-4974 - Oracle 19c in riavvio autonomo su AWS FSx/EC2 con NFS/ASM" sezioni pertinenti. Di seguito vengono illustrati i dettagli della configurazione di Oracle VLDB in standby sul server DB in standby in un'impostazione Data Guard nell'ambiente Google GCNV.
-
Configurazione del server Oracle DB in standby nel sito in standby nel laboratorio dimostrativo.
oras.us-west4-a.c.cvs-pm-host-1p.internal: Zone: us-west4-a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.219.129.195 pri_ip: 10.70.14.16 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 1.1G 6.2G 16% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.197:/oras-u07 250G 201G 50G 81% /u07 10.165.128.197:/oras-u06 250G 201G 50G 81% /u06 10.165.128.197:/oras-u02 250G 201G 50G 81% /u02 10.165.128.196:/oras-u03 250G 201G 50G 81% /u03 10.165.128.196:/oras-u01 100G 20G 81G 20% /u01 10.165.128.197:/oras-u05 250G 201G 50G 81% /u05 10.165.128.197:/oras-u04 250G 201G 50G 81% /u04 10.165.128.197:/oras-u08 400G 317G 84G 80% /u08 [oracle@oras ~]$ cat /etc/oratab #Backup file is /u01/app/oracle/crsdata/oras/output/oratab.bak.oras.oracle line added by Agent # # This file is used by ORACLE utilities. It is created by root.sh # and updated by either Database Configuration Assistant while creating # a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third field indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N # line added by Agent
-
Configurazione dell'infrastruttura di griglia sul server DB di standby.
[oracle@oras ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE oras STABLE ora.LISTENER.lsnr ONLINE ONLINE oras STABLE ora.LOGS.dg ONLINE ONLINE oras STABLE ora.asm ONLINE ONLINE oras Started,STABLE ora.ons OFFLINE OFFLINE oras STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE oras STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE oras STABLE ora.ntap_la.db 1 ONLINE INTERMEDIATE oras Dismounted,Mount Ini tiated,HOME=/u01/app /oracle/product/19.0 .0/NTAP,STABLE --------------------------------------------------------------------------------
-
Configurazione dei gruppi di dischi ASM sul server DB di standby.
[oracle@oras ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 1228800 1228420 0 1228420 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 322336 322204 0 322204 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/oras_data_disk_01 /u02/oradata/asm/oras_data_disk_02 /u02/oradata/asm/oras_data_disk_03 /u02/oradata/asm/oras_data_disk_04 /u03/oradata/asm/oras_data_disk_05 /u03/oradata/asm/oras_data_disk_06 /u03/oradata/asm/oras_data_disk_07 /u03/oradata/asm/oras_data_disk_08 /u04/oradata/asm/oras_data_disk_09 /u04/oradata/asm/oras_data_disk_10 /u04/oradata/asm/oras_data_disk_11 /u04/oradata/asm/oras_data_disk_12 /u05/oradata/asm/oras_data_disk_13 /u05/oradata/asm/oras_data_disk_14 /u05/oradata/asm/oras_data_disk_15 /u05/oradata/asm/oras_data_disk_16 /u06/oradata/asm/oras_data_disk_17 /u06/oradata/asm/oras_data_disk_18 /u06/oradata/asm/oras_data_disk_19 /u06/oradata/asm/oras_data_disk_20 /u07/oradata/asm/oras_data_disk_21 /u07/oradata/asm/oras_data_disk_22 /u07/oradata/asm/oras_data_disk_23 /u07/oradata/asm/oras_data_disk_24 /u08/oralogs/asm/oras_logs_disk_01 /u08/oralogs/asm/oras_logs_disk_02 /u08/oralogs/asm/oras_logs_disk_03 /u08/oralogs/asm/oras_logs_disk_04 ASMCMD>
-
Impostazione dei parametri per Data Guard sul DB di standby.
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string NTAP db_unique_name string NTAP_LA global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_LA.cvs-pm-host-1p.interna l SQL> show parameter log_archive_config NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string DG_CONFIG=(NTAP_NY,NTAP_LA) SQL> show parameter fal_server NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ fal_server string NTAP_NY
-
Configurazione del DB di standby.
SQL> select name, open_mode, log_mode from v$database; NAME OPEN_MODE LOG_MODE --------- -------------------- ------------ NTAP MOUNTED ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED MOUNTED 3 NTAP_PDB1 MOUNTED 4 NTAP_PDB2 MOUNTED 5 NTAP_PDB3 MOUNTED SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/DATAFILE/system.261.1198520347 +DATA/NTAP_LA/DATAFILE/sysaux.262.1198520373 +DATA/NTAP_LA/DATAFILE/undotbs1.263.1198520399 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/system.264.1198520417 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/sysaux.265.1198520435 +DATA/NTAP_LA/DATAFILE/users.266.1198520451 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/undotbs1.267.1198520455 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.268.1198520471 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.269.1198520489 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.270.1198520505 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.271.1198520513 NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/system.272.1198520517 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.273.1198520533 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.274.1198520551 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/users.275.1198520559 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/system.276.1198520563 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.277.1198520579 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.278.1198520595 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/users.279.1198520605 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/CONTROLFILE/current.260.1198520303 +LOGS/NTAP_LA/CONTROLFILE/current.257.1198520305 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 1 ONLINE +DATA/NTAP_LA/ONLINELOG/group_1.280.1198520649 1 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_1.259.1198520651 2 ONLINE +DATA/NTAP_LA/ONLINELOG/group_2.281.1198520659 2 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_2.258.1198520661 3 ONLINE +DATA/NTAP_LA/ONLINELOG/group_3.282.1198520669 3 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_3.260.1198520671 4 STANDBY +DATA/NTAP_LA/ONLINELOG/group_4.283.1198520677 4 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_4.261.1198520679 5 STANDBY +DATA/NTAP_LA/ONLINELOG/group_5.284.1198520687 5 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_5.262.1198520689 6 STANDBY +DATA/NTAP_LA/ONLINELOG/group_6.285.1198520697 GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 6 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_6.263.1198520699 7 STANDBY +DATA/NTAP_LA/ONLINELOG/group_7.286.1198520707 7 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_7.264.1198520709 14 rows selected.
-
Convalida lo stato di ripristino del database di standby. Nota il
recovery logmerger
InAPPLYING_LOG
azione.SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS; ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ post role transition 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery logmerger 1 24 APPLYING_LOG managed recovery 0 0 IDLE RFS ping 1 24 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE gap manager 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ archive local 0 0 IDLE redo transport timer 0 0 IDLE archive redo 0 0 IDLE RFS async 1 24 IDLE redo transport monitor 0 0 IDLE log writer 0 0 IDLE 17 rows selected.
-
Il flashback è abilitato nel database di standby.
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PHYSICAL STANDBY YES
-
Configurazione dNFS sul DB di standby.
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.197 /oras-u04 10.165.128.197 /oras-u05 10.165.128.197 /oras-u06 10.165.128.197 /oras-u07 10.165.128.197 /oras-u02 10.165.128.197 /oras-u08 10.165.128.196 /oras-u03 10.165.128.196 /oras-u01 8 rows selected.
Ciò completa la dimostrazione di una configurazione Data Guard per VLDB NTAP con ripristino standby gestito abilitato nel sito di standby.
Configurazione di Data Guard Broker e FSFO con un osservatore
Configurazione di Data Guard Broker
Details
Oracle Data Guard Broker è un framework di gestione distribuito che automatizza e centralizza la creazione, la manutenzione e il monitoraggio delle configurazioni di Oracle Data Guard. La sezione seguente illustra come configurare Data Guard Broker per gestire l'ambiente Data Guard.
-
Avviare Data Guard Broker sia sul database primario che su quello di standby con il seguente comando tramite sqlplus.
alter system set dg_broker_start=true scope=both;
-
Dal database primario, connettersi a Data Guard Borker come SYSDBA.
[oracle@orap ~]$ dgmgrl sys@NTAP_NY DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024 Version 19.18.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "NTAP_NY" Connected as SYSDBA. DGMGRL>
-
Crea e abilita la configurazione di Data Guard Broker.
DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY; Configuration "dg_config" created with primary database "ntap_ny" DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA; Database "ntap_la" added DGMGRL> enable configuration; Enabled. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxPerformance Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 3 seconds ago)
-
Convalidare lo stato del database all'interno del framework di gestione Data Guard Broker.
DGMGRL> show database ntap_ny; Database - ntap_ny Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): NTAP Database Status: SUCCESS DGMGRL> show database ntap_la; Database - ntap_la Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 3.00 KByte/s Real Time Query: OFF Instance(s): NTAP Database Status: SUCCESS DGMGRL>
In caso di errore, Data Guard Broker può essere utilizzato per eseguire il failover immediato del database primario su quello di standby. Se Fast-Start Failover
è abilitato, Data Guard Broker può eseguire il failover del database primario sullo standby quando viene rilevato un errore senza l'intervento dell'utente.
Configurare FSFO con un osservatore
Details
Facoltativamente, è possibile abilitare Fast Start Fail Over (FSFO) per consentire a Data Guard Broker di eseguire automaticamente il failover del database primario sul database di standby in caso di errore. Di seguito sono riportate le procedure per configurare FSFO con un'istanza di osservatore.
-
Crea un'istanza leggera di Google Compute Engine per eseguire Observer in una zona diversa rispetto al server DB primario o di standby. Nel caso di prova, abbiamo utilizzato un'istanza N1 con 2 vCPU e 7,5 G di memoria. Avere la stessa versione di Oracle installata sull'host.
-
Accedi come utente Oracle e imposta l'ambiente Oracle nel file .bash_profile dell'utente Oracle.
vi ~/.bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP export PATH=$ORACLE_HOME/bin:$PATH
-
Aggiungere voci del nome TNS del DB primario e di standby al file tnsname.ora.
vi $ORACLE_HOME/network/admin/tsnames.ora
NTAP_NY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.us-east4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_NY.cvs-pm-host-1p.internal) (UR=A) ) ) NTAP_LA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.us-west4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_LA.cvs-pm-host-1p.internal) (UR=A) ) )
-
Crea e inizializza il portafoglio con una password.
mkdir -p /u01/app/oracle/admin/NTAP/wallet
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create
[oracle@orao NTAP]$ mkdir -p /u01/app/oracle/admin/NTAP/wallet [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter password: Enter password again: [oracle@orao NTAP]$
-
Abilita l'autenticazione senza password per i sistemi utente del database primario e di standby. Inserisci prima la password di sistema, quindi la password del portafoglio dal passaggio precedente.
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_NY sys
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_LA sys
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_NY sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_LA sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$
-
Aggiorna sqlnet.ora con la posizione del wallet.
vi $ORACLE_HOME/network/admin/sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/admin/NTAP/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
-
Convalida le credenziali.
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential
sqlplus /@NTAP_LA as sysdba
sqlplus /@NTAP_NY as sysdba
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter wallet password: List credential (index: connect_string username) 2: NTAP_LA sys 1: NTAP_NY sys
-
Configurare e abilitare il failover Fast-Start.
mkdir /u01/app/oracle/admin/NTAP/fsfo
dgmgrl
Welcome to DGMGRL, type "help" for information. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> enable fast_start failover; Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database Warning: ORA-16819: fast-start failover observer not started ntap_la - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 43 seconds ago)
-
Avvia e convalida l'osservatore.
nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log &
[oracle@orao NTAP]$ nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log & [1] 94957 [oracle@orao fsfo]$ dgmgrl DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Apr 16 21:12:09 2025 Version 19.18.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration verbose; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - (*) Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'ntap_CFG' Fast-Start Failover: Enabled in Zero Data Loss Mode Lag Limit: 30 seconds (not in use) Threshold: 30 seconds Active Target: ntap_la Potential Targets: "ntap_la" ntap_la valid Observer: orao Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS DGMGRL>
|
Per ottenere una perdita di dati pari a zero, la modalità di protezione di Oracle Data Guard deve essere impostata su MaxAvailability O MaxProtection modalità. La modalità di protezione predefinita di MaxPerformance può essere modificato dall'interfaccia di Data Guard Broker modificando la configurazione di Data Guard e cambiando LogXptMode da ASYNC a SYNC. La modalità di destinazione del log di archivio Oracle deve essere modificata di conseguenza. Quando l'applicazione di registro in tempo reale è abilitata per Data Guard come richiesto per MaxAvailability , evitare di riavviare automaticamente il database perché il riavvio automatico del database potrebbe aprire inavvertitamente il database di standby in READ ONLY WITH APPLY modalità, che richiede una licenza Active Data Guard. Invece, avviare il database manualmente per assicurarsi che rimanga in un MOUNT stato con recupero gestito in tempo reale.
|
Clona il database di standby per altri casi d'uso tramite automazione
Details
Il seguente toolkit di automazione è specificamente progettato per creare o aggiornare cloni di un database standby Oracle Data Guard distribuito su GCNV con configurazione NFS/ASM per una gestione completa del ciclo di vita del clone.
https://bitbucket.ngage.netapp.com/projects/NS-BB/repos/na_oracle_clone_gcnv/browse
|
Al momento, l'accesso al toolkit è consentito solo agli utenti interni NetApp con accesso Bitbucket. Gli utenti esterni interessati possono richiedere l'accesso al proprio account team o contattare il team NetApp Solutions Engineering. Fare riferimento a"Ciclo di vita automatizzato di Oracle Clone su GCNV con ASM" per le istruzioni d'uso. |
Dove trovare ulteriori informazioni
Per saperne di più sulle informazioni descritte nel presente documento, consultare i seguenti documenti e/o siti web:
-
TR-5002: Riduzione dei costi di Oracle Active Data Guard con Azure NetApp Files
-
TR-4974: Oracle 19c in riavvio autonomo su AWS FSx/EC2 con NFS/ASM
-
Il miglior servizio di archiviazione file di NetApp, su Google Cloud
-
Concetti e amministrazione di Oracle Data Guard