Skip to main content
NetApp database solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

TR-4974: Oracle 19c in riavvio autonomo su AWS FSx/EC2 con NFS/ASM

Collaboratori kevin-hoke

Allen Cao, Niyaz Mohamed, NetApp

Questa soluzione fornisce una panoramica e dettagli per la distribuzione e la protezione del database Oracle nell'archiviazione AWS FSx ONTAP e nell'istanza di elaborazione EC2 con protocollo NFS e database Oracle configurato in ReStart autonomo utilizzando asm come gestore dei volumi.

Scopo

ASM (Automatic Storage Management) è un noto gestore di volumi di archiviazione Oracle, utilizzato in numerose installazioni Oracle. È anche la soluzione di gestione dello storage consigliata da Oracle. Fornisce un'alternativa ai gestori di volumi e ai file system convenzionali. A partire dalla versione 11g di Oracle, ASM è stato integrato con un'infrastruttura grid anziché con un database. Di conseguenza, per utilizzare Oracle ASM per la gestione dello storage senza RAC, è necessario installare l'infrastruttura Oracle Grid in un server autonomo, noto anche come Oracle Restart. In questo modo si aggiunge sicuramente maggiore complessità a un'implementazione del database Oracle altrimenti più semplice. Tuttavia, come suggerisce il nome, quando Oracle viene distribuito in modalità di riavvio, tutti i servizi Oracle non riusciti vengono riavviati dopo un riavvio dell'host senza l'intervento dell'utente, il che fornisce un certo grado di elevata disponibilità o funzionalità HA.

Oracle ASM viene generalmente distribuito nei protocolli di archiviazione FC, iSCSI e LUN come dispositivi di archiviazione raw. Tuttavia, anche Oracle supporta la configurazione ASM sul protocollo NFS e sul file system NFS. In questa documentazione, illustriamo come distribuire un database Oracle 19c con il protocollo NFS e Oracle ASM in un ambiente di archiviazione Amazon FSx ONTAP con istanze di elaborazione EC2. Mostreremo inoltre come utilizzare il servizio NetApp SnapCenter tramite la console NetApp BlueXP per eseguire il backup, il ripristino e la clonazione del database Oracle per scopi di sviluppo/test o altri casi d'uso per operazioni di database efficienti in termini di storage nel cloud pubblico AWS.

Questa soluzione affronta i seguenti casi d'uso:

  • Distribuzione del database Oracle in istanze di archiviazione Amazon FSx ONTAP e di elaborazione EC2 con NFS/ASM

  • Test e convalida di un carico di lavoro Oracle nel cloud pubblico AWS con NFS/ASM

  • Test e convalida delle funzionalità di riavvio del database Oracle distribuite in AWS

Pubblico

Questa soluzione è destinata alle seguenti persone:

  • Un DBA che desidera distribuire Oracle in un cloud pubblico AWS con NFS/ASM.

  • Un architetto di soluzioni di database che desidera testare i carichi di lavoro Oracle nel cloud pubblico AWS.

  • L'amministratore dello storage che desidera distribuire e gestire un database Oracle distribuito nello storage AWS FSx.

  • Il proprietario dell'applicazione che desidera installare un database Oracle in AWS FSx/EC2.

Ambiente di test e convalida della soluzione

I test e la convalida di questa soluzione sono stati eseguiti in un ambiente AWS FSx ed EC2 che potrebbe non corrispondere all'ambiente di distribuzione finale. Per ulteriori informazioni, consultare la sezione Fattori chiave per la considerazione dell'implementazione .

Architettura

Questa immagine fornisce un quadro dettagliato della configurazione di distribuzione di Oracle nel cloud pubblico AWS con iSCSI e ASM.

Componenti hardware e software

Hardware

Archiviazione FSx ONTAP

Versione attuale offerta da AWS

Un cluster FSx HA nella stessa VPC e zona di disponibilità

Istanza EC2 per il calcolo

t2.xlarge/4vCPU/16G

Due istanze EC2 T2 xlarge EC2, una come server DB primario e l'altra come server DB clone

Software

RedHat Linux

RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2

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

Oracle OPatch

Versione 12.2.0.1.36

Ultima patch p6880880_190000_Linux-x86-64.zip

Servizio SnapCenter

Versione

v2.3.1.2324

Fattori chiave per la considerazione dell'implementazione

  • Istanze di calcolo EC2. In questi test e convalide, abbiamo utilizzato un tipo di istanza AWS EC2 t2.xlarge per l'istanza di calcolo del database Oracle. NetApp consiglia di utilizzare un'istanza EC2 di tipo M5 come istanza di elaborazione per Oracle nella distribuzione di produzione perché è ottimizzata per i carichi di lavoro del database. È necessario dimensionare l'istanza EC2 in modo appropriato per il numero di vCPU e la quantità di RAM in base ai requisiti effettivi del carico di lavoro.

  • Distribuzione di cluster HA di storage FSx a zona singola o multizona. In questi test e convalide, abbiamo distribuito un cluster FSx HA in una singola zona di disponibilità AWS. Per la distribuzione in produzione, NetApp consiglia di distribuire una coppia FSx HA in due diverse zone di disponibilità. Un cluster FSx HA viene sempre fornito in una coppia HA sincronizzata in una coppia di file system attivi-passivi per fornire ridondanza a livello di storage. L'implementazione multizona migliora ulteriormente l'elevata disponibilità in caso di guasto in una singola zona AWS.

  • Dimensionamento del cluster di archiviazione FSx. Un file system di storage Amazon FSx ONTAP fornisce fino a 160.000 IOPS SSD raw, fino a 4 GBps di throughput e una capacità massima di 192 TiB. Tuttavia, è possibile dimensionare il cluster in termini di IOPS forniti, throughput e limite di archiviazione (minimo 1.024 GiB) in base alle esigenze effettive al momento della distribuzione. La capacità può essere regolata dinamicamente al volo senza compromettere la disponibilità dell'applicazione.

  • Layout dei dati e dei log di Oracle. Nei nostri test e nelle nostre convalide, abbiamo distribuito due gruppi di dischi ASM rispettivamente per i dati e i log. All'interno del gruppo di dischi asm +DATA, abbiamo predisposto quattro dischi in un punto di montaggio del file system NFS di dati. All'interno del gruppo di dischi asm +LOGS, abbiamo predisposto due dischi in un punto di montaggio del file system NFS dei log. Per la distribuzione di database di grandi dimensioni, è possibile creare gruppi di dischi ASM che coprano più file system FSx con dischi ASM NFS distribuiti tramite più punti di montaggio NFS ancorati ai file system FSx. Questa particolare configurazione è progettata per soddisfare i requisiti di throughput del database superiori a 4 GBps e 160.000 IOPS SSD raw.

  • Configurazione dNFS. dNFS è integrato nel kernel di Oracle ed è noto per aumentare notevolmente le prestazioni del database Oracle quando Oracle viene distribuito su storage NFS. dNFS è incluso nel pacchetto binario di Oracle, ma non è attivato per impostazione predefinita. Dovrebbe essere attivato per qualsiasi distribuzione di database Oracle su NFS. Per la distribuzione di più file system FSx per database di grandi dimensioni, è necessario configurare correttamente il multi-path dNFS.

  • Livello di ridondanza di Oracle ASM da utilizzare per ogni gruppo di dischi Oracle ASM creato. Poiché FSx esegue già il mirroring dello storage a livello di cluster FSx, dovresti ONLY utilizzare la ridondanza esterna, il che significa che l'opzione non consente a Oracle ASM di eseguire il mirroring del contenuto del gruppo di dischi. Ciò è particolarmente importante poiché NFS per l'archiviazione dei dati del database Oracle richiede l'opzione di montaggio NFS HARD, che NON è auspicabile per il mirroring dei contenuti ASM a livello Oracle.

  • Backup del database. NetApp fornisce una versione SaaS del servizio SnapCenter software per il backup, il ripristino e la clonazione del database nel cloud, disponibile tramite l'interfaccia utente della console NetApp BlueXP . NetApp consiglia di implementare un servizio di questo tipo per ottenere un backup SnapShot veloce (meno di un minuto), un ripristino rapido del database (pochi minuti) e la clonazione del database.

Distribuzione della soluzione

Nella sezione seguente vengono fornite procedure di distribuzione dettagliate.

Prerequisiti per la distribuzione

Details

Per la distribuzione sono richiesti i seguenti prerequisiti.

  1. È stato configurato un account AWS e sono stati creati i segmenti di rete e VPC necessari all'interno del tuo account AWS.

  2. Dalla console AWS EC2, è necessario distribuire due istanze EC2 Linux, una come server Oracle DB primario e un server DB di destinazione clone alternativo facoltativo. Per maggiori dettagli sulla configurazione dell'ambiente, consultare il diagramma dell'architettura nella sezione precedente. Rivedere anche il"Guida utente per istanze Linux" per maggiori informazioni.

  3. Dalla console AWS EC2, distribuisci cluster HA di storage Amazon FSx ONTAP per ospitare i volumi del database Oracle. Se non hai familiarità con la distribuzione dell'archiviazione FSx, consulta la documentazione"Creazione di file system FSx ONTAP" per istruzioni dettagliate.

  4. I passaggi 2 e 3 possono essere eseguiti utilizzando il seguente toolkit di automazione Terraform, che crea un'istanza EC2 denominata ora_01 e un file system FSx denominato fsx_01 . Rivedere attentamente le istruzioni e modificare le variabili in base all'ambiente prima dell'esecuzione.

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
Nota Assicurati di aver allocato almeno 50 G nel volume radice dell'istanza EC2 per avere spazio sufficiente per organizzare i file di installazione di Oracle.

Configurazione del kernel dell'istanza EC2

Details

Una volta soddisfatti i prerequisiti, accedi all'istanza EC2 come ec2-user e usa sudo come utente root per configurare il kernel Linux per l'installazione di Oracle.

  1. Creare una directory di staging /tmp/archive cartella e impostare il 777 permesso.

    mkdir /tmp/archive
    
    chmod 777 /tmp/archive
  2. Scaricare e mettere in scena i file di installazione binaria di Oracle e altri file rpm richiesti su /tmp/archive elenco.

    Vedere il seguente elenco di file di installazione da indicare in /tmp/archive sull'istanza EC2.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /tmp/archive
    total 10537316
    -rw-rw-r--. 1 ec2-user ec2-user      19112 Mar 21 15:57 compat-libcap1-1.10-7.el7.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 3059705302 Mar 21 22:01 LINUX.X64_193000_db_home.zip
    -rw-rw-r--  1 ec2-user ec2-user 2889184573 Mar 21 21:09 LINUX.X64_193000_grid_home.zip
    -rw-rw-r--. 1 ec2-user ec2-user     589145 Mar 21 15:56 netapp_linux_unified_host_utilities-7-1.x86_64.rpm
    -rw-rw-r--. 1 ec2-user ec2-user      31828 Mar 21 15:55 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 2872741741 Mar 21 22:31 p34762026_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user 1843577895 Mar 21 22:32 p34765931_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user  124347218 Mar 21 22:33 p6880880_190000_Linux-x86-64.zip
    -rw-r--r--  1 ec2-user ec2-user     257136 Mar 22 16:25 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  3. Installare Oracle 19c preinstall RPM, che soddisfa la maggior parte dei requisiti di configurazione del kernel.

    yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
  4. Scarica e installa il file mancante compat-libcap1 in Linux 8.

    yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
  5. Da NetApp, scarica e installa le utility host NetApp .

    yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
  6. Installare policycoreutils-python-utils , che non è disponibile nell'istanza EC2.

    yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  7. Installare la versione 1.8 di Open JDK.

    yum install java-1.8.0-openjdk.x86_64
  8. Installare nfs-utils.

    yum install nfs-utils
  9. Disattiva le pagine enormi trasparenti nel sistema attuale.

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag

    Aggiungere le seguenti righe in /etc/rc.local disabilitare transparent_hugepage dopo il riavvio:

      # Disable transparent hugepages
              if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
                echo never > /sys/kernel/mm/transparent_hugepage/enabled
              fi
              if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
                echo never > /sys/kernel/mm/transparent_hugepage/defrag
              fi
  10. Disabilitare selinux modificando SELINUX=enforcing A SELINUX=disabled . Per rendere effettiva la modifica è necessario riavviare l'host.

    vi /etc/sysconfig/selinux
  11. Aggiungere le seguenti righe a limit.conf per impostare il limite del descrittore di file e la dimensione dello stack senza virgolette " " .

    vi /etc/security/limits.conf
      "*               hard    nofile          65536"
      "*               soft    stack           10240"
  12. Aggiungere spazio di swap all'istanza EC2 seguendo queste istruzioni:"Come posso allocare memoria da utilizzare come spazio di swap in un'istanza Amazon EC2 utilizzando un file di swap?" La quantità esatta di spazio da aggiungere dipende dalla dimensione della RAM, fino a 16 GB.

  13. Aggiungere il gruppo ASM da utilizzare per il gruppo asm sysasm

    groupadd asm
  14. Modificare l'utente Oracle per aggiungere ASM come gruppo secondario (l'utente Oracle avrebbe dovuto essere creato dopo l'installazione di Oracle Preinstall RPM).

    usermod -a -G asm oracle
  15. Riavviare l'istanza EC2.

Fornire ed esportare volumi NFS da montare sull'host dell'istanza EC2

Details

Fornire tre volumi dalla riga di comando effettuando l'accesso al cluster FSx tramite ssh come utente fsxadmin con IP di gestione del cluster FSx per ospitare i file binari, di dati e di registro del database Oracle.

  1. Accedere al cluster FSx tramite SSH come utente fsxadmin.

    ssh fsxadmin@172.30.15.53
  2. Eseguire il seguente comando per creare un volume per il binario Oracle.

    vol create -volume ora_01_biny -aggregate aggr1 -size 50G -state online  -type RW -junction-path /ora_01_biny -snapshot-policy none -tiering-policy snapshot-only
  3. Eseguire il seguente comando per creare un volume per i dati Oracle.

    vol create -volume ora_01_data -aggregate aggr1 -size 100G -state online  -type RW -junction-path /ora_01_data -snapshot-policy none -tiering-policy snapshot-only
  4. Eseguire il seguente comando per creare un volume per i log di Oracle.

    vol create -volume ora_01_logs -aggregate aggr1 -size 100G -state online  -type RW -junction-path /ora_01_logs -snapshot-policy none -tiering-policy snapshot-only
  5. Convalida i volumi DB creati.

    vol show

    Si prevede che ciò restituisca:

    FsxId02ad7bf3476b741df::> vol show
      (vol show)
    FsxId06c3c8b2a7bd56458::> vol show
    Vserver   Volume       Aggregate    State      Type       Size  Available Used%
    --------- ------------ ------------ ---------- ---- ---------- ---------- -----
    svm_ora   ora_01_biny  aggr1        online     RW         50GB    47.50GB    0%
    svm_ora   ora_01_data  aggr1        online     RW        100GB    95.00GB    0%
    svm_ora   ora_01_logs  aggr1        online     RW        100GB    95.00GB    0%
    svm_ora   svm_ora_root aggr1        online     RW          1GB    972.1MB    0%
    4 entries were displayed.

Configurazione dell'archiviazione del database

Details

Ora, importa e configura lo storage FSx per l'infrastruttura Oracle Grid e l'installazione del database sull'host dell'istanza EC2.

  1. Accedi all'istanza EC2 tramite SSH come ec2-user con la tua chiave SSH e l'indirizzo IP dell'istanza EC2.

    ssh -i ora_01.pem ec2-user@172.30.15.58
  2. Crea la directory /u01 per montare il file system binario Oracle

    sudo mkdir /u01
  3. Montare il volume binario su /u01 , modificato nel tuo indirizzo IP NFS lif FSx. Se hai distribuito il cluster FSx tramite il toolkit di automazione NetApp , l'indirizzo IP NFS lif del server di archiviazione virtuale FSx verrà elencato nell'output al termine dell'esecuzione del provisioning delle risorse. In caso contrario, è possibile recuperarlo dall'interfaccia utente della console AWS FSx.

    sudo mount -t nfs 172.30.15.19:/ora_01_biny /u01 -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
  4. Modifica /u01 la proprietà del punto di montaggio spetta all'utente Oracle e al gruppo primario associato.

    sudo chown oracle:oinstall /u01
  5. Crea la directory /oradata per montare il file system di dati Oracle

    sudo mkdir /oradata
  6. Montare il volume dati su /oradata , modificato nel tuo indirizzo IP lif NFS FSx

    sudo mount -t nfs 172.30.15.19:/ora_01_data /oradata -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
  7. Modifica /oradata la proprietà del punto di montaggio spetta all'utente Oracle e al gruppo primario associato.

    sudo chown oracle:oinstall /oradata
  8. Crea la directory /oralogs per montare il file system dei log di Oracle

    sudo mkdir /oralogs
  9. Montare il volume del registro su /oralogs , modificato nel tuo indirizzo IP lif NFS FSx

    sudo mount -t nfs 172.30.15.19:/ora_01_logs /oralogs -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
  10. Modifica /oralogs la proprietà del punto di montaggio spetta all'utente Oracle e al gruppo primario associato.

    sudo chown oracle:oinstall /oralogs
  11. Aggiungi un punto di montaggio a /etc/fstab .

    sudo vi /etc/fstab

    Aggiungere la seguente riga.

    172.30.15.19:/ora_01_biny       /u01            nfs     rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536   0       0
    172.30.15.19:/ora_01_data       /oradata        nfs     rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536   0       0
    172.30.15.19:/ora_01_logs       /oralogs        nfs     rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536   0       0
  12. sudo per l'utente Oracle, crea cartelle ASM per memorizzare i file del disco ASM

    sudo su
    su - oracle
    mkdir /oradata/asm
    mkdir /oralogs/asm
  13. Come utente Oracle, crea file di dati su disco ASM e modifica il conteggio in modo che corrisponda alla dimensione del disco con la dimensione del blocco.

    dd if=/dev/zero of=/oradata/asm/nfs_data_disk01 bs=1M count=20480 oflag=direct
    dd if=/dev/zero of=/oradata/asm/nfs_data_disk02 bs=1M count=20480 oflag=direct
    dd if=/dev/zero of=/oradata/asm/nfs_data_disk03 bs=1M count=20480 oflag=direct
    dd if=/dev/zero of=/oradata/asm/nfs_data_disk04 bs=1M count=20480 oflag=direct
  14. Modificare l'autorizzazione del file del disco dati a 640

    chmod 640 /oradata/asm/*
  15. Come utente Oracle, crea file di registro ASM su disco, modifica il conteggio in modo che corrisponda alla dimensione del disco con la dimensione del blocco.

    dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk01 bs=1M count=40960 oflag=direct
    dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk02 bs=1M count=40960 oflag=direct
  16. Modifica i permessi dei file su disco dei registri a 640

    chmod 640 /oralogs/asm/*
  17. Riavviare l'host dell'istanza EC2.

Installazione dell'infrastruttura Oracle Grid

Details
  1. Accedi all'istanza EC2 come ec2-user tramite SSH e abilita l'autenticazione tramite password rimuovendo il commento PasswordAuthentication yes e poi commentando PasswordAuthentication no .

    sudo vi /etc/ssh/sshd_config
  2. Riavviare il servizio sshd.

    sudo systemctl restart sshd
  3. Reimposta la password utente Oracle.

    sudo passwd oracle
  4. Accedere come utente proprietario del software Oracle Restart (oracle). Creare una directory Oracle come segue:

    mkdir -p /u01/app/oracle
    mkdir -p /u01/app/oraInventory
  5. Modificare l'impostazione dei permessi della directory.

    chmod -R 775 /u01/app
  6. Crea una directory home della griglia e accedi ad essa.

    mkdir -p /u01/app/oracle/product/19.0.0/grid
    cd /u01/app/oracle/product/19.0.0/grid
  7. Decomprimere i file di installazione della griglia.

    unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
  8. Dalla griglia iniziale, elimina il OPatch elenco.

    rm -rf OPatch
  9. Dalla griglia iniziale, copia p6880880_190000_Linux-x86-64.zip nella grid_home e poi decomprimilo.

    cp /tmp/archive/p6880880_190000_Linux-x86-64.zip .
    unzip p6880880_190000_Linux-x86-64.zip
  10. Dalla griglia di casa, rivedere cv/admin/cvu_config , rimuovi il commento e sostituisci CV_ASSUME_DISTID=OEL5 con CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  11. Preparare un gridsetup.rsp file per l'installazione silenziosa e posizionare il file rsp nel /tmp/archive elenco. Il file rsp dovrebbe coprire le sezioni A, B e G con le seguenti informazioni:

    INVENTORY_LOCATION=/u01/app/oraInventory
    oracle.install.option=HA_CONFIG
    ORACLE_BASE=/u01/app/oracle
    oracle.install.asm.OSDBA=dba
    oracle.install.asm.OSOPER=oper
    oracle.install.asm.OSASM=asm
    oracle.install.asm.SYSASMPassword="SetPWD"
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=EXTERNAL
    oracle.install.asm.diskGroup.AUSize=4
    oracle.install.asm.diskGroup.disks=/oradata/asm/nfs_data_disk01,/oradata/asm/nfs_data_disk02,/oradata/asm/nfs_data_disk03,/oradata/asm/nfs_data_disk04
    oracle.install.asm.diskGroup.diskDiscoveryString=/oradata/asm/*,/oralogs/asm/*
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=false
  12. Accedi all'istanza EC2 come utente root.

  13. Installare cvuqdisk-1.0.10-1.rpm .

    rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
  14. Accedi all'istanza EC2 come utente Oracle ed estrai la patch in /tmp/archive cartella.

    unzip p34762026_190000_Linux-x86-64.zip
  15. Dalla home della griglia /u01/app/oracle/product/19.0.0/grid e come utente Oracle, avviare gridSetup.sh per l'installazione dell'infrastruttura di rete.

     ./gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp

    Ignorare gli avvisi sui gruppi errati per l'infrastruttura di rete. Stiamo utilizzando un singolo utente Oracle per gestire Oracle Restart, quindi questo è previsto.

  16. Come utente root, eseguire i seguenti script:

    /u01/app/oraInventory/orainstRoot.sh
    
    /u01/app/oracle/product/19.0.0/grid/root.sh
  17. Come utente Oracle, esegui il seguente comando per completare la configurazione:

    /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
  18. Come utente Oracle, creare il gruppo di dischi LOGS.

    bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk '/oralogs/asm/nfs_logs_disk*' -redundancy EXTERNAL -au_size 4
  19. Come utente Oracle, convalidare i servizi della griglia dopo la configurazione dell'installazione.

    bin/crsctl stat res -t
    +
    Name                Target  State        Server                   State details
    Local Resources
    ora.DATA.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm             ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons             OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    Cluster Resources
    ora.cssd            ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.diskmon         OFFLINE OFFLINE                               STABLE
    ora.driver.afd      ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.evmd            ONLINE  ONLINE       ip-172-30-15-58          STABLE

Installazione del database Oracle

Details
  1. Accedi come utente Oracle e deseleziona $ORACLE_HOME E $ORACLE_SID se è impostato.

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Creare la directory home di Oracle DB e spostarsi su di essa.

    mkdir /u01/app/oracle/product/19.0.0/db1
    cd /u01/app/oracle/product/19.0.0/db1
  3. Decomprimere i file di installazione di Oracle DB.

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. Dalla home del DB, eliminare il OPatch elenco.

    rm -rf OPatch
  5. Dalla home page del DB, copia p6880880_190000_Linux-x86-64.zip A grid_home e poi decomprimilo.

    cp /tmp/archive/p6880880_190000_Linux-x86-64.zip .
    unzip p6880880_190000_Linux-x86-64.zip
  6. Da DB home, rivedere cv/admin/cvu_config , e rimuovi il commento e sostituisci CV_ASSUME_DISTID=OEL5 con CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  7. Dal /tmp/archive directory, decomprimere la patch DB 19.18 RU.

    unzip p34765931_190000_Linux-x86-64.zip
  8. Preparare il file rsp di installazione silenziosa del DB in /tmp/archive/dbinstall.rsp directory con i seguenti valori:

    oracle.install.option=INSTALL_DB_SWONLY
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.OSDBA_GROUP=dba
    oracle.install.db.OSOPER_GROUP=oper
    oracle.install.db.OSBACKUPDBA_GROUP=oper
    oracle.install.db.OSDGDBA_GROUP=dba
    oracle.install.db.OSKMDBA_GROUP=dba
    oracle.install.db.OSRACDBA_GROUP=dba
    oracle.install.db.rootconfig.executeRootScript=false
  9. Dalla home del db1 /u01/app/oracle/product/19.0.0/db1, eseguire l'installazione silenziosa del DB solo software.

     ./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
  10. Come utente root, eseguire il comando root.sh script dopo l'installazione del solo software.

    /u01/app/oracle/product/19.0.0/db1/root.sh
  11. Come utente Oracle, crea il dbca.rsp file con le seguenti voci:

    gdbName=db1.demo.netapp.com
    sid=db1
    createAsContainerDatabase=true
    numberOfPDBs=3
    pdbName=db1_pdb
    useLocalUndoForPDBs=true
    pdbAdminPassword="yourPWD"
    templateName=General_Purpose.dbc
    sysPassword="yourPWD"
    systemPassword="yourPWD"
    dbsnmpPassword="yourPWD"
    storageType=ASM
    diskGroupName=DATA
    characterSet=AL32UTF8
    nationalCharacterSet=AL16UTF16
    listeners=LISTENER
    databaseType=MULTIPURPOSE
    automaticMemoryManagement=false
    totalMemory=8192
    Nota Imposta la memoria totale in base alla memoria disponibile nell'host dell'istanza EC2. Oracle alloca il 75% di totalMemory all'istanza DB SGA o alla cache buffer.
  12. Come utente Oracle, avvia la creazione del DB con dbca.

    bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp
    
    output:
    Prepare for db operation
    7% complete
    Registering database with Oracle Restart
    11% complete
    Copying database files
    33% complete
    Creating and starting Oracle instance
    35% complete
    38% complete
    42% complete
    45% complete
    48% complete
    Completing Database Creation
    53% complete
    55% complete
    56% complete
    Creating Pluggable Databases
    60% complete
    64% complete
    69% complete
    78% complete
    Executing Post Configuration Actions
    100% complete
    Database creation complete. For details check the logfiles at:
     /u01/app/oracle/cfgtoollogs/dbca/db1.
    Database Information:
    Global Database Name:db1.demo.netapp.com
    System Identifier(SID):db1
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1/db1.log" for further details.
  13. Come utente Oracle, convalidare i servizi Oracle Restart HA dopo la creazione del DB.

    [oracle@ip-172-30-15-58 db1]$ ../grid/bin/crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg
                   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm
                   ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons
                   OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cssd
          1        ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.db1.db
          1        ONLINE  ONLINE       ip-172-30-15-58          Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /db1,STABLE
    ora.diskmon
          1        OFFLINE OFFLINE                               STABLE
    ora.evmd
          1        ONLINE  ONLINE       ip-172-30-15-58          STABLE
    --------------------------------------------------------------------------------
    [oracle@ip-172-30-15-58 db1]$
  14. Imposta l'utente Oracle .bash_profile .

    vi ~/.bash_profile
  15. Aggiungere le seguenti voci:

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    export ORACLE_SID=db1
    export PATH=$PATH:$ORACLE_HOME/bin
    alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
  16. Convalida il CDB/PDB creato.

    . ~/.bash_profile
    
    sqlplus / as sysdba
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    
    DB1       READ WRITE
    
    SQL> select name from v$datafile;
    
    NAME
    
    +DATA/DB1/DATAFILE/system.256.1132176177
    +DATA/DB1/DATAFILE/sysaux.257.1132176221
    +DATA/DB1/DATAFILE/undotbs1.258.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1132177009
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1132177009
    +DATA/DB1/DATAFILE/users.259.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1132177009
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/system.271.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/sysaux.272.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/undotbs1.270.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/users.274.1132177871
    
    NAME
    
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/system.276.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/sysaux.277.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/undotbs1.275.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/users.279.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/system.281.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/sysaux.282.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/undotbs1.280.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/users.284.1132177907
    
    19 rows selected.
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    
             2 PDB$SEED                       READ ONLY  NO
             3 DB1_PDB1                       READ WRITE NO
             4 DB1_PDB2                       READ WRITE NO
             5 DB1_PDB3                       READ WRITE NO
    SQL>
  17. Come utente Oracle, passare alla directory home del database Oracle /u01/app/oracle/product/19.0.0/db1 e abilitare dNFS

    cd /u01/app/oracle/product/19.0.0/db1
    
    mkdir rdbms/lib/odm
    
    cp lib/libnfsodm19.so rdbms/lib/odm/
  18. Configurare il file oranfstab in ORACLE_HOME

    vi $ORACLE_HOME/dbs/oranfstab
    
    add following entries:
    
    server: fsx_01
    local: 172.30.15.58 path: 172.30.15.19
    nfs_version: nfsv3
    export: /ora_01_biny mount: /u01
    export: /ora_01_data mount: /oradata
    export: /ora_01_logs mount: /oralogs
  19. Come utente Oracle, accedi al database da sqlplus e imposta le dimensioni e la posizione di ripristino del DB sul gruppo di dischi +LOGS.

    . ~/.bash_profile
    
    sqlplus / as sysdba
    
    alter system set db_recovery_file_dest_size = 80G scope=both;
    
    alter system set db_recovery_file_dest = '+LOGS' scope=both;
  20. Abilita la modalità di registro di archivio e riavvia l'istanza di Oracle DB

    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;
    
    alter system switch logfile;
  21. Convalida la modalità di registro del DB e dNFS dopo il riavvio dell'istanza

    SQL> select name, log_mode from v$database;
    
    NAME      LOG_MODE
    --------- ------------
    DB1       ARCHIVELOG
    
    SQL> select svrname, dirname from v$dnfs_servers;
    
    SVRNAME
    --------------------------------------------------------------------------------
    DIRNAME
    --------------------------------------------------------------------------------
    fsx_01
    /ora_01_data
    
    fsx_01
    /ora_01_biny
    
    fsx_01
    /ora_01_logs
  22. Convalida Oracle ASM

    [oracle@ip-172-30-15-58 db1]$ asm
    [oracle@ip-172-30-15-58 db1]$ sqlplus / as sysasm
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 9 20:39:39 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> set lin 200
    SQL> col path form a30
    SQL> select name, path, header_status, mount_status, state from v$asm_disk;
    
    NAME                           PATH                           HEADER_STATU MOUNT_S STATE
    ------------------------------ ------------------------------ ------------ ------- --------
    DATA_0002                      /oradata/asm/nfs_data_disk01   MEMBER       CACHED  NORMAL
    DATA_0000                      /oradata/asm/nfs_data_disk02   MEMBER       CACHED  NORMAL
    DATA_0001                      /oradata/asm/nfs_data_disk03   MEMBER       CACHED  NORMAL
    DATA_0003                      /oradata/asm/nfs_data_disk04   MEMBER       CACHED  NORMAL
    LOGS_0000                      /oralogs/asm/nfs_logs_disk01   MEMBER       CACHED  NORMAL
    LOGS_0001                      /oralogs/asm/nfs_logs_disk02   MEMBER       CACHED  NORMAL
    
    6 rows selected.
    
    
    SQL> select name, state, ALLOCATION_UNIT_SIZE, TOTAL_MB, FREE_MB from v$asm_diskgroup;
    
    NAME                           STATE       ALLOCATION_UNIT_SIZE   TOTAL_MB    FREE_MB
    ------------------------------ ----------- -------------------- ---------- ----------
    DATA                           MOUNTED                  4194304      81920      73536
    LOGS                           MOUNTED                  4194304      81920      81640
    
    This completes Oracle 19c version 19.18 Restart deployment on an Amazon FSx ONTAP and EC2 compute instance with NFS/ASM. If desired, NetApp recommends relocating the Oracle control file and online log files to the +LOGS disk group.

Opzione di distribuzione automatizzata

NetApp rilascerà un toolkit di distribuzione di soluzioni completamente automatizzato con Ansible per facilitare l'implementazione di questa soluzione. Si prega di verificare nuovamente la disponibilità del toolkit. Dopo la pubblicazione, verrà pubblicato un link qui.

Backup, ripristino e clonazione del database Oracle con il servizio SnapCenter

Al momento, il database Oracle con opzione di archiviazione NFS e ASM è supportato solo dallo strumento tradizionale dell'interfaccia utente di SnapCenter Server. Vedere"Soluzioni di database cloud ibrido con SnapCenter" per i dettagli sul backup, il ripristino e la clonazione del database Oracle con lo strumento NetApp SnapCenter UI.