Skip to main content
NetApp Solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Tr-4974 : Oracle 19c en redémarrage autonome sur AWS FSX/EC2 avec NFS/ASM

Contributeurs

Allen Cao, Niyaz Mohamed, NetApp

Cette solution fournit un aperçu et des détails du déploiement et de la protection des bases de données Oracle dans le stockage AWS FSX ONTAP et l'instance de calcul EC2 avec le protocole NFS et une base de données Oracle configurée au redémarrage autonome à l'aide d'asm en tant que gestionnaire de volumes.

Objectif

ASM (Automatic Storage Management) est un gestionnaire de volumes de stockage Oracle couramment utilisé dans de nombreuses installations Oracle. Il s'agit également de la solution de gestion du stockage recommandée par Oracle. Il constitue une alternative aux gestionnaires de volumes et aux systèmes de fichiers classiques. Depuis la version 11g d'Oracle, ASM est fourni avec une infrastructure de réseau plutôt qu'avec une base de données. Par conséquent, pour utiliser Oracle ASM pour la gestion du stockage sans RAC, vous devez installer l'infrastructure de grille Oracle sur un serveur autonome, également appelé Oracle Restart. Cela ajoute sans aucun doute plus de complexité dans un déploiement de base de données Oracle plus simple. Cependant, comme son nom l'indique, lorsque Oracle est déployé en mode redémarrage, tous les services Oracle défaillants sont redémarrés après un redémarrage de l'hôte sans intervention de l'utilisateur, ce qui fournit un certain degré de haute disponibilité ou de fonctionnalité haute disponibilité.

Oracle ASM est généralement déployé dans les protocoles de stockage FC, iSCSI et les lun en tant que périphériques de stockage bruts. Toutefois, ASM sur le protocole NFS et le système de fichiers NFS sont également pris en charge par Oracle. Cette documentation explique comment déployer une base de données Oracle 19c avec le protocole NFS et Oracle ASM dans un environnement de stockage Amazon FSX ONTAP avec des instances de calcul EC2. Nous démontrons également comment utiliser le service NetApp SnapCenter via la console NetApp BlueXP pour sauvegarder, restaurer et cloner votre base de données Oracle à des fins de développement/test ou pour d'autres utilisations pour un fonctionnement efficace de la base de données dans le cloud public AWS.

Cette solution répond aux cas d'utilisation suivants :

  • Déploiement de bases de données Oracle dans des instances de stockage Amazon FSX ONTAP et de calcul EC2 avec NFS/ASM

  • Test et validation d'une charge de travail Oracle dans le cloud AWS public avec NFS/ASM

  • Test et validation des fonctionnalités de redémarrage de la base de données Oracle déployées dans AWS

Public

Cette solution est destinée aux personnes suivantes :

  • Administrateur de bases de données qui souhaite déployer Oracle dans un cloud public AWS avec NFS/ASM.

  • Architecte de solutions de bases de données qui souhaite tester les workloads Oracle dans le cloud public AWS.

  • L'administrateur du stockage qui souhaite déployer et gérer une base de données Oracle déployée dans le stockage AWS FSX.

  • Propriétaire d'applications qui souhaite créer une base de données Oracle dans AWS FSX/EC2.

Environnement de test et de validation de la solution

Le test et la validation de cette solution ont été réalisés dans un environnement AWS FSX et EC2 qui ne correspond pas à l'environnement de déploiement final. Pour plus d'informations, reportez-vous à la section Facteurs clés à prendre en compte lors du déploiement.

Architecture

Cette image fournit une vue détaillée de la configuration du déploiement Oracle dans le cloud public AWS avec iSCSI et ASM.

Composants matériels et logiciels

Matériel

Stockage ONTAP FSX

Version actuelle proposée par AWS

Un cluster FSX HA dans le même VPC et la même zone de disponibilité

Instance EC2 pour le calcul

t2.XLarge/4 vCPU/16 Gbit/s

Deux instances EC2 T2 xlarge EC2, l'une en tant que serveur de base de données principal et l'autre en tant que serveur de base de données clone

Logiciel

Red Hat Linux

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

Déploiement de l'abonnement Red Hat pour les tests

Infrastructure Oracle Grid

Version 19.18

Patch RU appliqué p34762026_190000_Linux-x86-64.zip

Base de données Oracle

Version 19.18

Patch RU appliqué p34765931_190000_Linux-x86-64.zip

OPICH Oracle

Version 12.2.0.1.36

Dernier correctif p6880880_190000_Linux-x86-64.zip

Service SnapCenter

Version

v2.3.1.2324

Facteurs clés à prendre en compte lors du déploiement

  • Instances de calcul EC2. dans ces tests et validations, nous avons utilisé un type d'instance AWS EC2 t2.xlarge pour l'instance de calcul de la base de données Oracle. NetApp recommande d'utiliser une instance EC2 de type M5 comme instance de calcul pour les déploiements Oracle en production, car elle est optimisée pour les charges de travail de la base de données. Vous devez dimensionner l'instance EC2 de manière appropriée en fonction du nombre de vCPU et de la quantité de RAM en fonction des exigences réelles des workloads.

  • Clusters HA de stockage FSX déploiement sur une ou plusieurs zones. lors de ces tests et validations, nous avons déployé un cluster HA FSX dans une zone de disponibilité AWS unique. Pour le déploiement de production, NetApp recommande de déployer une paire haute disponibilité FSX dans deux zones de disponibilité différentes. Un cluster FSX HA est provisionné dans une paire haute disponibilité qui est mise en miroir synchrone dans une paire de systèmes de fichiers actifs-passifs afin d'assurer la redondance au niveau du stockage. Un déploiement multizone améliore encore la haute disponibilité en cas de défaillance dans une même zone AWS.

  • Dimensionnement du cluster de stockage FSX. Un système de fichiers de stockage Amazon FSX ONTAP fournit jusqu'à 160,000 000 IOPS SSD brutes, un débit jusqu'à 4 Gbit/s et une capacité maximale de 192 Tio. Cependant, vous pouvez dimensionner le cluster en termes d'IOPS provisionnées, de débit et de limite de stockage (au moins 1,024 Gio) en fonction de vos besoins réels au moment du déploiement. La capacité peut être ajustée dynamiquement à la volée sans affecter la disponibilité des applications.

  • Disposition des données et des journaux Oracle. dans nos tests et validations, nous avons déployé deux groupes de disques ASM pour les données et les journaux respectivement. Au sein du groupe de disques ASM +DATA, nous avons provisionné quatre disques dans un point de montage du système de fichiers NFS des données. Au sein du groupe de disques ASM +LOGS, nous avons provisionné deux disques dans un point de montage du système de fichiers NFS des journaux. Pour le déploiement de bases de données volumineuses, les groupes de disques ASM peuvent être créés pour s'étendre sur plusieurs systèmes de fichiers FSX avec des disques ASM NFS distribués via plusieurs points de montage NFS ancrés dans les systèmes de fichiers FSX. Cette configuration particulière est conçue pour répondre aux besoins de débit de base de données supérieur à 4 Gbit/s et de 160,000 000 IOPS SSD brutes.

  • Configuration dNFS. dNFS est intégré au noyau Oracle et augmente considérablement les performances des bases de données Oracle lorsqu'Oracle est déployé sur le stockage NFS. DNFS est fourni en binaire Oracle mais n'est pas activé par défaut. Il doit être activé pour tout déploiement de base de données Oracle sur NFS. Pour le déploiement de plusieurs systèmes de fichiers FSX pour une grande base de données, le multi-chemin dNFS doit être correctement configuré.

  • Niveau de redondance Oracle ASM à utiliser pour chaque groupe de disques Oracle ASM que vous créez. comme FSX met déjà en miroir le stockage au niveau du cluster FSX, vous devez le faire ONLY Utiliser la redondance externe, ce qui signifie que l'option ne permet pas à Oracle ASM de mettre en miroir le contenu du groupe de disques. Ceci est particulièrement important car NFS pour le stockage des données de bases de données Oracle nécessite une option de montage NFS RIGIDE, ce qui N'est pas souhaitable pour la mise en miroir du contenu ASM au niveau Oracle.

  • Sauvegarde de base de données NetApp fournit une version SaaS du service logiciel SnapCenter pour la sauvegarde, la restauration et le clonage de bases de données dans le cloud, disponible via l'interface utilisateur de la console NetApp BlueXP. NetApp recommande de mettre en œuvre ce type de service afin de permettre une sauvegarde Snapshot rapide (moins d'une minute), une restauration rapide de la base de données et un clonage de base de données.

Déploiement de la solution

La section suivante décrit les procédures de déploiement étape par étape.

Conditions préalables au déploiement

Details

Le déploiement nécessite les conditions préalables suivantes.

  1. Un compte AWS a été configuré et les segments de réseau et de VPC nécessaires ont été créés dans votre compte AWS.

  2. À partir de la console AWS EC2, vous devez déployer deux instances Linux EC2, une en tant que serveur BDD Oracle principal et un serveur BDD cible de clone alternatif en option. Pour plus d'informations sur la configuration de l'environnement, reportez-vous au diagramme de l'architecture de la section précédente. Consultez également le "Guide de l'utilisateur pour les instances Linux" pour en savoir plus.

  3. À partir de la console AWS EC2, déployez des clusters HA de stockage Amazon FSX ONTAP pour héberger les volumes de base de données Oracle. Si vous ne connaissez pas bien le déploiement du stockage FSX, consultez la documentation "Création de systèmes de fichiers FSX ONTAP" pour obtenir des instructions détaillées.

  4. Les étapes 2 et 3 peuvent être effectuées à l'aide du kit d'outils d'automatisation Terraform suivant, qui crée une instance EC2 nommée ora_01 Et un système de fichiers FSX nommé fsx_01. Lisez attentivement les instructions et modifiez les variables en fonction de votre environnement avant de les exécuter.

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
Remarque Assurez-vous d'avoir alloué au moins 50G dans le volume racine de l'instance EC2 afin de disposer d'un espace suffisant pour préparer les fichiers d'installation Oracle.

Configuration du noyau de l'instance EC2

Details

Une fois les prérequis provisionnés, connectez-vous à l'instance EC2 en tant qu'utilisateur ec2 et faites-le à l'utilisateur root pour configurer le noyau Linux pour l'installation d'Oracle.

  1. Créez un répertoire de transfert /tmp/archive et définissez le 777 permission.

    mkdir /tmp/archive
    
    chmod 777 /tmp/archive
  2. Téléchargez et placez les fichiers d'installation binaires Oracle et les autres fichiers rpm requis sur le système /tmp/archive répertoire.

    Voir la liste suivante des fichiers d'installation à indiquer dans /tmp/archive Sur l'instance 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. Installez le RPM de préinstallation d'Oracle 19c, qui répond à la plupart des exigences de configuration du noyau.

    yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
  4. Téléchargez et installez les éléments manquants compat-libcap1 Sous Linux 8.

    yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
  5. Depuis NetApp, téléchargez et installez les utilitaires d'hôtes NetApp.

    yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
  6. Installer policycoreutils-python-utils, Qui n'est pas disponible dans l'instance EC2.

    yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  7. Installez la version 1.8 du JDK ouvert.

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

    yum install nfs-utils
  9. Désactivez les hugepages transparentes dans le système actuel.

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

    Ajoutez les lignes suivantes dans /etc/rc.local pour désactiver transparent_hugepage après le redémarrage :

      # 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. Désactivez selinux en changeant SELINUX=enforcing à SELINUX=disabled. Vous devez redémarrer l'hôte pour que la modification soit effective.

    vi /etc/sysconfig/selinux
  11. Ajoutez les lignes suivantes à limit.conf pour définir la limite du descripteur de fichier et la taille de la pile sans guillemets " ".

    vi /etc/security/limits.conf
      "*               hard    nofile          65536"
      "*               soft    stack           10240"
  12. Ajoutez l'espace de swap à l'instance EC2 en suivant l'instruction suivante : "Comment allouer de la mémoire pour qu'elle fonctionne en tant qu'espace d'échange dans une instance Amazon EC2 en utilisant un fichier d'échange ?" La quantité exacte d'espace à ajouter dépend de la taille de la RAM jusqu'à 16 G.

  13. Ajoutez le groupe ASM à utiliser pour le groupe sysasm asm

    groupadd asm
  14. Modifiez l'utilisateur oracle pour ajouter ASM en tant que groupe secondaire (l'utilisateur oracle doit avoir été créé après l'installation du RPM de préinstallation d'Oracle).

    usermod -a -G asm oracle
  15. Redémarrez l'instance EC2.

Provisionnez et exportez les volumes NFS à monter sur l'hôte d'instance EC2

Details

Provisionnez trois volumes à partir de la ligne de commande en vous connectant au cluster FSX via ssh en tant qu'utilisateur fsxadmin avec l'IP de gestion de cluster FSX pour héberger les fichiers binaires, de données et de journaux de la base de données Oracle.

  1. Connectez-vous au cluster FSX via SSH en tant qu'utilisateur fsxadmin.

    ssh fsxadmin@172.30.15.53
  2. Exécutez la commande suivante pour créer un volume pour le binaire 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. Exécutez la commande suivante pour créer un volume pour les données 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. Exécutez la commande suivante pour créer un volume pour les journaux 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. Valider les volumes BDD créés.

    vol show

    Cela devrait revenir :

    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.

Configuration du stockage de la base de données

Details

Importez et configurez maintenant le stockage FSX pour l'infrastructure réseau Oracle et l'installation de la base de données sur l'hôte d'instance EC2.

  1. Connectez-vous à l'instance EC2 via SSH en tant qu'utilisateur ec2 avec votre clé SSH et votre adresse IP d'instance EC2.

    ssh -i ora_01.pem ec2-user@172.30.15.58
  2. Créez le répertoire /u01 pour monter le système de fichiers binaires Oracle

    sudo mkdir /u01
  3. Montez le volume binaire sur /u01, Modifié en votre adresse IP de lif FSX NFS. Si vous avez déployé le cluster FSX à l'aide du kit d'automatisation NetApp, l'adresse IP de la lif NFS du serveur de stockage virtuel FSX sera répertoriée dans le résultat à la fin de l'exécution du provisionnement des ressources. Sinon, vous pouvez l'extraire de l'interface de la 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. Changer /u01 Propriété du point de montage pour l'utilisateur Oracle et son groupe principal associé.

    sudo chown oracle:oinstall /u01
  5. Créez le répertoire /oradata pour monter le système de fichiers de données Oracle

    sudo mkdir /oradata
  6. Montez le volume de données sur /oradata, Modifié en votre adresse IP de lif FSX NFS

    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. Changer /oradata Propriété du point de montage pour l'utilisateur Oracle et son groupe principal associé.

    sudo chown oracle:oinstall /oradata
  8. Créez le répertoire /oralogs pour monter le système de fichiers des journaux Oracle

    sudo mkdir /oralogs
  9. Montez le volume du journal sur /oralogs, Modifié en votre adresse IP de lif FSX NFS

    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. Changer /oralogs Propriété du point de montage pour l'utilisateur Oracle et son groupe principal associé.

    sudo chown oracle:oinstall /oralogs
  11. Ajoutez un point de montage à /etc/fstab.

    sudo vi /etc/fstab

    Ajoutez la ligne suivante.

    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. pour l'utilisateur oracle, créez des dossiers asm pour stocker les fichiers de disque asm

    sudo su
    su - oracle
    mkdir /oradata/asm
    mkdir /oralogs/asm
  13. En tant qu'utilisateur oracle, créez des fichiers de disque de données asm, modifiez le nombre pour qu'il corresponde à la taille du disque et à la taille du bloc.

    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. En tant qu'utilisateur root, définissez l'autorisation de fichier de disque de données sur 640

    chmod 640 /oradata/asm/*
  15. EN TANT qu'utilisateur oracle, créez des fichiers de disque ASM journalise, modifiez-les pour qu'ils correspondent à la taille du disque et à la taille du bloc.

    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. En tant qu'utilisateur root, définissez l'autorisation de fichier de disque des journaux sur 640

    chmod 640 /oralogs/asm/*
  17. Redémarrez l'hôte d'instance EC2.

Installation de l'infrastructure réseau Oracle

Details
  1. Connectez-vous à l'instance EC2 en tant qu'utilisateur ec2 via SSH et activez l'authentification par mot de passe en sans commentaires PasswordAuthentication yes puis commenter PasswordAuthentication no.

    sudo vi /etc/ssh/sshd_config
  2. Redémarrez le service sshd.

    sudo systemctl restart sshd
  3. Réinitialisez le mot de passe de l'utilisateur Oracle.

    sudo passwd oracle
  4. Connectez-vous en tant qu'utilisateur propriétaire du logiciel Oracle Restart (oracle). Créez un répertoire Oracle comme suit :

    mkdir -p /u01/app/oracle
    mkdir -p /u01/app/oraInventory
  5. Modifiez le paramètre d'autorisation de répertoire.

    chmod -R 775 /u01/app
  6. Créez un répertoire racine de grille et modifiez-le.

    mkdir -p /u01/app/oracle/product/19.0.0/grid
    cd /u01/app/oracle/product/19.0.0/grid
  7. Décompressez les fichiers d'installation de la grille.

    unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
  8. Dans la page d'accueil de la grille, supprimez le OPatch répertoire.

    rm -rf OPatch
  9. Depuis la page d'accueil de la grille, copiez p6880880_190000_Linux-x86-64.zip dans la grille_home, puis décompressez-la.

    cp /tmp/archive/p6880880_190000_Linux-x86-64.zip .
    unzip p6880880_190000_Linux-x86-64.zip
  10. A partir de la page d'accueil de la grille, réviser cv/admin/cvu_config, supprimer et remplacer CV_ASSUME_DISTID=OEL5 avec CV_ASSUME_DISTID=OL7.

    vi cv/admin/cvu_config
  11. Préparer un gridsetup.rsp pour une installation silencieuse et placez le fichier rsp dans le /tmp/archive répertoire. Le fichier rsp doit couvrir les sections A, B et G avec les informations suivantes :

    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/*,/oralogs/asm/*
    oracle.install.asm.diskGroup.diskDiscoveryString=/oradata/asm/nfs_data_disk01,/oradata/asm/nfs_data_disk02,/oradata/asm/nfs_data_disk03,/oradata/asm/nfs_data_disk04
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=false
  12. Connectez-vous à l'instance EC2 en tant qu'utilisateur root.

  13. Installer 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. Connectez-vous à l'instance EC2 en tant qu'utilisateur Oracle et extrayez le correctif dans /tmp/archive dossier.

    unzip p34762026_190000_Linux-x86-64.zip
  15. Depuis GRID home /u01/app/oracle/product/19.0.0/grid et en tant qu'utilisateur oracle, lancez gridSetup.sh pour l'installation de l'infrastructure de grille.

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

    Ignorer les avertissements concernant les groupes incorrects pour l'infrastructure de grille. Nous utilisons un seul utilisateur Oracle pour gérer le redémarrage d'Oracle, ce qui est attendu.

  16. En tant qu'utilisateur root, exécutez le(s) script(s) suivant(s) :

    /u01/app/oraInventory/orainstRoot.sh
    
    /u01/app/oracle/product/19.0.0/grid/root.sh
  17. En tant qu'utilisateur Oracle, exécutez la commande suivante pour terminer la configuration :

    /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
  18. En tant qu'utilisateur Oracle, créez le groupe de disques DES JOURNAUX.

    bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk '/oralogs/asm/nfs_logs_disk*' -redundancy EXTERNAL -au_size 4
  19. En tant qu'utilisateur Oracle, validez les services GRID après l'installation de la configuration.

    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

Installation de la base de données Oracle

Details
  1. Connectez-vous en tant qu'utilisateur Oracle et annulez la configuration $ORACLE_HOME et $ORACLE_SID s'il est défini.

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Créez le répertoire racine de la base de données Oracle et modifiez-le.

    mkdir /u01/app/oracle/product/19.0.0/db1
    cd /u01/app/oracle/product/19.0.0/db1
  3. Décompressez les fichiers d'installation de la base de données Oracle.

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. Dans la base de données d'accueil, supprimez le OPatch répertoire.

    rm -rf OPatch
  5. Depuis la base de données d'accueil, copier p6880880_190000_Linux-x86-64.zip à grid_home, puis décompressez-le.

    cp /tmp/archive/p6880880_190000_Linux-x86-64.zip .
    unzip p6880880_190000_Linux-x86-64.zip
  6. A partir de DB Home, réviser cv/admin/cvu_config, et décommenter et remplacer CV_ASSUME_DISTID=OEL5 avec CV_ASSUME_DISTID=OL7.

    vi cv/admin/cvu_config
  7. À partir du /tmp/archive Décompressez le correctif DB 19.18 RU.

    unzip p34765931_190000_Linux-x86-64.zip
  8. Préparez le fichier rsp d'installation silencieuse DB dans /tmp/archive/dbinstall.rsp répertoire avec les valeurs suivantes :

    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. Depuis db1 home /u01/app/oracle/product/19.0.0/db1, exécutez l'installation silencieuse de la base de données logicielle uniquement.

     ./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
  10. En tant qu'utilisateur root, exécutez le root.sh script après l'installation du logiciel uniquement.

    /u01/app/oracle/product/19.0.0/db1/root.sh
  11. En tant qu'utilisateur Oracle, créez le dbca.rsp fichier avec les entrées suivantes :

    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
    Remarque Définissez la mémoire totale en fonction de la mémoire disponible dans l'hôte de l'instance EC2. Oracle alloue 75 % totalMemory Vers SGA ou cache tampon de l'instance de BDD.
  12. En tant qu'utilisateur Oracle, lancer la création de la base de données avec 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. En tant qu'utilisateur Oracle, valider les services Oracle Restart HA après la création de la base de données.

    [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. Définissez l'utilisateur Oracle .bash_profile.

    vi ~/.bash_profile
  15. Ajouter les entrées suivantes :

    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. Valider le CDB/PDB créé.

    . ~/.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. En tant qu'utilisateur oracle, passez au répertoire racine de la base de données Oracle /u01/app/oracle/product/19.0.0/db1 et activez dNFS

    cd /u01/app/oracle/product/19.0.0/db1
    
    mkdir rdbms/lib/odm
    
    cp lib/libnfsodm19.so rdbms/lib/odm/
  18. Configurez le fichier orangfstab dans 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. En tant qu'utilisateur oracle, connectez-vous à la base de données à partir de sqlplus et définissez la taille et l'emplacement de la restauration de la base de données sur le groupe de disques +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. Activer le mode de journal d'archivage et redémarrer l'instance de base de données Oracle

    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;
    
    alter system switch logfile;
  21. Valider le mode log DB et dNFS après le redémarrage de l'instance

    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. Valider 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.

Option de déploiement automatisé

NetApp propose avec Ansible un kit de déploiement de solution entièrement automatisé pour faciliter l'implémentation de cette solution. Veuillez vérifier à nouveau la disponibilité de la boîte à outils. Une fois publié, un lien sera affiché ici.

Sauvegarde, restauration et clonage des bases de données Oracle avec le service SnapCenter

Actuellement, la base de données Oracle avec option de stockage NFS et ASM n'est prise en charge que par l'outil d'interface utilisateur de serveur SnapCenter traditionnel. Voir "Solutions de base de données pour le cloud hybride avec SnapCenter" Pour en savoir plus sur la sauvegarde, la restauration et le clonage des bases de données Oracle avec l'outil d'interface utilisateur de NetApp SnapCenter.