TR-5003: Implementazione Oracle VLDB ad alta produttività su ANF
Allen Cao, Niyaz Mohamed, NetApp
La soluzione fornisce una panoramica e dettagli per la configurazione di un Oracle Very Large Database (VLDB) ad alta produttività su Microsoft Azure NetApp Files (ANF) con Oracle Data Guard nel cloud di Azure.
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. L'archiviazione Premium Azure NetApp Files in combinazione con l'infrastruttura di Azure può soddisfare le esigenze di un carico di lavoro Oracle così esigente. In un benchmark di prestazioni convalidato ("Prestazioni del database Oracle su più volumi Azure NetApp Files" ), ANF ha erogato 2,5 milioni di IOPS di lettura con una latenza di 700 microsecondi in un carico di lavoro sintetico con selezione casuale al 100% tramite lo strumento SLOB. Con una dimensione di blocco standard di 8k, ciò si traduce in una capacità di elaborazione di circa 20 GiB/s.
In questa documentazione, illustriamo come impostare un Oracle VLDB con configurazione Data Guard su storage ANF con più volumi NFS e Oracle ASM per il bilanciamento del carico di storage. Il database di standby può essere sottoposto a backup rapido (in pochi minuti) tramite snapshot e clonato per l'accesso in lettura/scrittura per i casi d'uso desiderati. Il team di NetApp Solutions Engineering fornisce un toolkit di automazione per creare e aggiornare cloni con facilità, secondo una pianificazione definita dall'utente.
Questa soluzione affronta i seguenti casi d'uso:
-
Implementazione di Oracle VLDB in un'impostazione Data Guard su un archivio Microsoft Azure NetApp Files in tutte le regioni di Azure.
-
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 Azure 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 Azure.
-
Un amministratore di storage che gestisce l'archiviazione Azure NetApp Files che supporta il database Oracle.
-
Un proprietario di applicazioni a cui piace installare Oracle VLDB con Data Guard in un ambiente cloud Azure.
Ambiente di test e convalida della soluzione
Il test e la convalida di questa soluzione sono stati eseguiti in un ambiente di laboratorio cloud di Azure 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 |
||
Azure NetApp Files |
Versione attuale offerta da Microsoft |
Due pool di capacità da 4 TiB, livello di servizio Premium, QoS automatico |
Macchine virtuali di Azure per server DB |
Standard B4ms (4 vCPU, 16 GiB di memoria) |
Tre VM DB, una come server DB primario, una come server DB di standby e la terza come server DB clone |
Software |
||
RedHat Linux |
Red Hat Enterprise Linux 8.6 (LVM) - x64 Gen2 |
Abbonamento RedHat distribuito per i test |
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.internal.cloudapp.net |
Stand-by |
NTAP_LA |
NTAP_LA.internal.cloudapp.net |
Fattori chiave per la considerazione dell'implementazione
-
* Configurazione Azure NetApp Files .* I Azure NetApp Files vengono allocati nell'account di archiviazione di Azure NetApp come
Capacity Pools
. In questi test e convalide, abbiamo distribuito un pool di capacità da 2 TiB per ospitare Oracle Primary nella regione East e un pool di capacità da 4 TiB per ospitare il database standby e il clone del DB nella regione West 2. Il pool di capacità ANF prevede tre livelli di servizio: Standard, Premium e Ultra. 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à, è possibile impostare QoS su Automatico o Manuale e la crittografia dei dati a riposo su Singola o Doppia. -
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 dimensionano i volumi ANF per il database, tenere in considerazione sia le dimensioni del database sia i requisiti di throughput. Con la configurazione automatica QoS per ANF, la larghezza di banda è garantita a 128 MiB/s per capacità di volume TiB assegnata con Ultra Service Level. Una maggiore produttività potrebbe richiedere dimensioni di volume maggiori per soddisfare i requisiti.
-
Volume singolo o volumi multipli. Un singolo volume di grandi dimensioni può fornire un livello di prestazioni simile a quello di più volumi con le stesse dimensioni aggregate, poiché la qualità del servizio è rigorosamente applicata in base alle dimensioni del volume e al livello di servizio del pool di capacità. Si consiglia di implementare più volumi (più punti di montaggio NFS) per Oracle VLDB per utilizzare al meglio il pool di risorse di archiviazione ANF del backend condiviso. Implementare Oracle ASM per il bilanciamento del carico IO su più volumi NFS.
-
Gruppo di volumi dell'applicazione. Distribuisci Application Volume Group (AVG) per Oracle per ottimizzare le prestazioni. I volumi distribuiti dal gruppo di volumi dell'applicazione vengono posizionati nell'infrastruttura regionale o zonale per ottenere latenza e produttività ottimizzate per le VM dell'applicazione.
-
Considerazioni sulle VM di Azure. In questi test e convalide abbiamo utilizzato una VM di Azure - Standard_B4ms con 4 vCPU e 16 GiB di memoria. È necessario scegliere la VM di Azure DB 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 (ingresso e uscita o limite di throughput della NIC) può diventare un collo di bottiglia prima che venga raggiunta la capacità di archiviazione del database.
-
Configurazione dNFS. Utilizzando dNFS, un database Oracle in esecuzione su una macchina virtuale di Azure con storage ANF 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
Si presuppone che il database Oracle primario sia già distribuito in un ambiente cloud Azure all'interno di una rete virtuale come punto di partenza per la configurazione di Oracle Data Guard. Idealmente, il database primario viene distribuito su un archivio ANF con montaggio NFS. Il database Oracle primario può anche essere eseguito su un archivio NetApp ONTAP o su qualsiasi altro archivio a scelta all'interno dell'ecosistema Azure o di un data center privato. Nella sezione seguente viene illustrata la configurazione per Oracle VLDB su ANF in un'impostazione Oracle Data Guard tra un Oracle DB primario in Azure con storage ANF e un Oracle DB di standby fisico in Azure con storage ANF.
Prerequisiti per la distribuzione
Details
Per la distribuzione sono richiesti i seguenti prerequisiti.
-
È stato configurato un account cloud Azure e sono state create le subnet di rete e la rete virtuale necessarie all'interno dell'account Azure.
-
Dalla console del portale cloud di Azure, è necessario distribuire almeno tre VM Azure Linux, una come server Oracle DB primario, una come server Oracle DB di standby e un server DB di destinazione clone per reporting, sviluppo, test ecc. Per maggiori dettagli sulla configurazione dell'ambiente, vedere il diagramma dell'architettura nella sezione precedente. Esaminare anche Microsoft"Macchine virtuali di Azure" per maggiori informazioni.
-
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 maggiori dettagli sulle raccomandazioni NetApp per la distribuzione automatizzata di Oracle nel cloud Azure e ANF, fare riferimento ai seguenti report tecnici.
-
"TR-4987: Distribuzione Oracle semplificata e automatizzata su Azure NetApp Files con NFS"
Assicurati di aver allocato almeno 128 GB nel volume radice delle VM di Azure per avere spazio sufficiente per organizzare i file di installazione di Oracle.
-
-
Dalla console del portale cloud di Azure, distribuire due pool di capacità di archiviazione ANF per ospitare i volumi del database Oracle. I pool di capacità di archiviazione ANF devono essere situati in regioni diverse per imitare una vera configurazione DataGuard. Se non si ha familiarità con la distribuzione dell'archiviazione ANF, consultare la documentazione"Avvio rapido: configurare Azure NetApp Files e creare un volume NFS" per istruzioni dettagliate.
-
Quando il database Oracle primario e il database Oracle di standby si trovano in due regioni diverse, è necessario configurare un gateway VPN per consentire il flusso del traffico dati tra due reti virtuali separate. La configurazione dettagliata della rete in Azure esula dallo scopo di questo documento. Gli screenshot seguenti forniscono alcuni riferimenti su come i gateway VPN sono configurati e connessi e su come il flusso del traffico dati viene confermato in laboratorio.
Gateway VPN di laboratorio:
Il gateway vnet primario:
Stato della connessione del gateway Vnet:
Verificare che i flussi di traffico siano stabiliti (cliccare sui tre punti per aprire la pagina):
-
Fare riferimento a questa documentazione"Distribuisci il gruppo di volumi dell'applicazione per Oracle" per distribuire Application Volume Group per Oracle.
Configurazione primaria di Oracle VLDB per Data Guard
Details
In questa dimostrazione, abbiamo configurato un database Oracle primario denominato NTAP sul server Azure DB primario con sei punti di montaggio NFS: /u01 per il binario Oracle, /u02, /u04, /u05, /u06 per i file di dati Oracle e un file di controllo Oracle, /u03 per i log attivi Oracle, i file di log archiviati e un file di controllo Oracle ridondante. Questa configurazione serve come riferimento. L'effettiva distribuzione dovrebbe tenere in considerazione le esigenze e i requisiti specifici in termini di dimensionamento del pool di capacità, livello di servizio, numero di volumi di database e dimensionamento 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" E"TR-4974 - Oracle 19c in riavvio autonomo su AWS FSx/EC2 con NFS/ASM" sezioni pertinenti. Sebbene le procedure in TR-4974 siano state convalidate su Amazon FSx ONTAP, sono ugualmente applicabili ad ANF. Di seguito sono illustrati i dettagli di un Oracle VLDB primario in una configurazione Data Guard.
-
Il database primario NTAP sul server primario di Azure DB orap.internal.cloudapp.net viene inizialmente distribuito come database autonomo con ANF su NFS e ASM come archivio del database.
orap.internal.cloudapp.net: resource group: ANFAVSRG Location: East US size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.190.207.231 pri_ip: 10.0.0.4 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 1.1G 6.7G 15% /dev/shm tmpfs 7.8G 17M 7.7G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 22G 20G 2.1G 91% / /dev/mapper/rootvg-usrlv 10G 2.3G 7.8G 23% /usr /dev/sda1 496M 181M 315M 37% /boot /dev/mapper/rootvg-varlv 8.0G 1.1G 7.0G 13% /var /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/mapper/rootvg-homelv 2.0G 47M 2.0G 3% /home /dev/mapper/rootvg-tmplv 12G 11G 1.9G 85% /tmp /dev/sdb1 32G 49M 30G 1% /mnt 10.0.2.38:/orap-u06 300G 282G 19G 94% /u06 10.0.2.38:/orap-u04 300G 282G 19G 94% /u04 10.0.2.36:/orap-u01 400G 21G 380G 6% /u01 10.0.2.37:/orap-u02 300G 282G 19G 94% /u02 10.0.2.36:/orap-u03 400G 282G 119G 71% /u03 10.0.2.39:/orap-u05 300G 282G 19G 94% /u05 [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 OFFLINE OFFLINE Instance Shutdown,ST ABLE -------------------------------------------------------------------------------- [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 1146880 1136944 0 1136944 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 286720 283312 0 283312 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/oralogs/asm/orap_logs_disk_01 /u03/oralogs/asm/orap_logs_disk_02 /u03/oralogs/asm/orap_logs_disk_03 /u03/oralogs/asm/orap_logs_disk_04 /u04/oradata/asm/orap_data_disk_05 /u04/oradata/asm/orap_data_disk_06 /u04/oradata/asm/orap_data_disk_07 /u04/oradata/asm/orap_data_disk_08 /u05/oradata/asm/orap_data_disk_09 /u05/oradata/asm/orap_data_disk_10 /u05/oradata/asm/orap_data_disk_11 /u05/oradata/asm/orap_data_disk_12 /u06/oradata/asm/orap_data_disk_13 /u06/oradata/asm/orap_data_disk_14 /u06/oradata/asm/orap_data_disk_15 /u06/oradata/asm/orap_data_disk_16 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.internal.cloudapp.net 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.1189724205 +DATA/NTAP/DATAFILE/sysaux.258.1189724249 +DATA/NTAP/DATAFILE/undotbs1.259.1189724275 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1189725235 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1189725235 +DATA/NTAP/DATAFILE/users.260.1189724275 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1189725235 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/system.272.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/sysaux.273.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/undotbs1.271.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/users.275.1189726243 NAME -------------------------------------------------------------------------------- +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/system.277.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/sysaux.278.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/undotbs1.276.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/users.280.1189726269 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/system.282.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/sysaux.283.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/undotbs1.281.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/users.285.1189726293 19 rows selected. SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/NTAP/ONLINELOG/group_3.264.1189724351 +LOGS/NTAP/ONLINELOG/group_3.259.1189724361 +DATA/NTAP/ONLINELOG/group_2.263.1189724351 +LOGS/NTAP/ONLINELOG/group_2.257.1189724359 +DATA/NTAP/ONLINELOG/group_1.262.1189724351 +LOGS/NTAP/ONLINELOG/group_1.258.1189724359 +DATA/NTAP/ONLINELOG/group_4.286.1190297279 +LOGS/NTAP/ONLINELOG/group_4.262.1190297283 +DATA/NTAP/ONLINELOG/group_5.287.1190297293 +LOGS/NTAP/ONLINELOG/group_5.263.1190297295 +DATA/NTAP/ONLINELOG/group_6.288.1190297307 MEMBER -------------------------------------------------------------------------------- +LOGS/NTAP/ONLINELOG/group_6.264.1190297309 +DATA/NTAP/ONLINELOG/group_7.289.1190297325 +LOGS/NTAP/ONLINELOG/group_7.265.1190297327 14 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/CONTROLFILE/current.261.1189724347 +LOGS/NTAP/CONTROLFILE/current.256.1189724347
-
Configurazione dNFS sul database primario.
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.2.39 /orap-u05 10.0.2.38 /orap-u04 10.0.2.38 /orap-u06 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.2.37 /orap-u02 10.0.2.36 /orap-u03 10.0.2.36 /orap-u01 6 rows selected.
Ciò completa la dimostrazione di una configurazione Data Guard per VLDB NTAP nel sito primario su ANF 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 sono illustrati i dettagli della configurazione di Oracle VLDB in standby sul server DB in standby in un'impostazione Data Guard.
-
Configurazione del server Oracle DB in standby nel sito in standby nel laboratorio dimostrativo.
oras.internal.cloudapp.net: resource group: ANFAVSRG Location: West US 2 size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.179.119.75 pri_ip: 10.0.1.4 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 1.1G 6.7G 15% /dev/shm tmpfs 7.8G 25M 7.7G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 22G 17G 5.6G 75% / /dev/mapper/rootvg-usrlv 10G 2.3G 7.8G 23% /usr /dev/mapper/rootvg-varlv 8.0G 1.1G 7.0G 13% /var /dev/mapper/rootvg-homelv 2.0G 52M 2.0G 3% /home /dev/sda1 496M 181M 315M 37% /boot /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/mapper/rootvg-tmplv 12G 11G 1.8G 86% /tmp /dev/sdb1 32G 49M 30G 1% /mnt 10.0.3.36:/oras-u03 400G 282G 119G 71% /u03 10.0.3.36:/oras-u04 300G 282G 19G 94% /u04 10.0.3.36:/oras-u05 300G 282G 19G 94% /u05 10.0.3.36:/oras-u02 300G 282G 19G 94% /u02 10.0.3.36:/oras-u01 100G 21G 80G 21% /u01 10.0.3.36:/oras-u06 300G 282G 19G 94% /u06 [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 1146880 1136912 0 1136912 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 286720 284228 0 284228 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/oralogs/asm/oras_logs_disk_01 /u03/oralogs/asm/oras_logs_disk_02 /u03/oralogs/asm/oras_logs_disk_03 /u03/oralogs/asm/oras_logs_disk_04 /u04/oradata/asm/oras_data_disk_05 /u04/oradata/asm/oras_data_disk_06 /u04/oradata/asm/oras_data_disk_07 /u04/oradata/asm/oras_data_disk_08 /u05/oradata/asm/oras_data_disk_09 /u05/oradata/asm/oras_data_disk_10 /u05/oradata/asm/oras_data_disk_11 /u05/oradata/asm/oras_data_disk_12 /u06/oradata/asm/oras_data_disk_13 /u06/oradata/asm/oras_data_disk_14 /u06/oradata/asm/oras_data_disk_15 /u06/oradata/asm/oras_data_disk_16
-
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.internal.cloudapp.net 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.1190301867 +DATA/NTAP_LA/DATAFILE/sysaux.262.1190301923 +DATA/NTAP_LA/DATAFILE/undotbs1.263.1190301969 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/system.264.1190301987 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/sysaux.265.1190302013 +DATA/NTAP_LA/DATAFILE/users.266.1190302039 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/undotbs1.267.1190302045 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/system.268.1190302071 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/sysaux.269.1190302099 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/undotbs1.270.1190302125 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/users.271.1190302133 NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/system.272.1190302137 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/sysaux.273.1190302163 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/undotbs1.274.1190302189 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/users.275.1190302197 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/system.276.1190302201 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/sysaux.277.1190302229 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/undotbs1.278.1190302255 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/users.279.1190302263 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/CONTROLFILE/current.260.1190301831 +LOGS/NTAP_LA/CONTROLFILE/current.257.1190301833 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 1 ONLINE +DATA/NTAP_LA/ONLINELOG/group_1.280.1190302305 1 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_1.259.1190302309 2 ONLINE +DATA/NTAP_LA/ONLINELOG/group_2.281.1190302315 2 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_2.258.1190302319 3 ONLINE +DATA/NTAP_LA/ONLINELOG/group_3.282.1190302325 3 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_3.260.1190302329 4 STANDBY +DATA/NTAP_LA/ONLINELOG/group_4.283.1190302337 4 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_4.261.1190302339 5 STANDBY +DATA/NTAP_LA/ONLINELOG/group_5.284.1190302347 5 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_5.262.1190302349 6 STANDBY +DATA/NTAP_LA/ONLINELOG/group_6.285.1190302357 GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 6 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_6.263.1190302359 7 STANDBY +DATA/NTAP_LA/ONLINELOG/group_7.286.1190302367 7 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_7.264.1190302369 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 ------------------------ ---------- ---------- ------------ recovery logmerger 1 32 APPLYING_LOG recovery apply slave 0 0 IDLE RFS async 1 32 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE RFS ping 1 32 IDLE archive redo 0 0 IDLE managed recovery 0 0 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE recovery apply slave 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ redo transport monitor 0 0 IDLE log writer 0 0 IDLE archive local 0 0 IDLE redo transport timer 0 0 IDLE gap manager 0 0 IDLE RFS archive 0 0 IDLE 17 rows selected.
-
Configurazione dNFS sul DB di standby.
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.3.36 /oras-u05 10.0.3.36 /oras-u04 10.0.3.36 /oras-u02 10.0.3.36 /oras-u06 10.0.3.36 /oras-u03
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
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 db1_ny; Database - db1_ny Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): db1 Database Status: SUCCESS DGMGRL> show database db1_la; Database - db1_la Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 2.00 KByte/s Real Time Query: OFF Instance(s): db1 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.
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 ANF con configurazione NFS/ASM per una gestione completa del ciclo di vita del clone.
git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_clone_anf.git
|
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. |
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
-
Azure NetApp Files
-
Concetti e amministrazione di Oracle Data Guard