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

TR-4965 : Déploiement et protection de la base de données Oracle dans AWS FSx/EC2 avec iSCSI/ASM

Contributeurs kevin-hoke

Allen Cao, Niyaz Mohamed, NetApp

Cette solution fournit une vue d'ensemble et des détails sur le déploiement et la protection de la base de données Oracle dans le stockage AWS FSx ONTAP et l'instance de calcul EC2 avec le protocole iSCSI et la base de données Oracle configurée dans ReStart autonome à l'aide d'asm comme gestionnaire de volumes.

But

ASM (Automatic Storage Management) est un gestionnaire de volumes de stockage Oracle populaire utilisé dans de nombreuses installations Oracle. C'est également la solution de gestion du stockage recommandée par Oracle. Il offre une alternative aux gestionnaires de volumes et aux systèmes de fichiers conventionnels. Depuis la version Oracle 11g, ASM est fourni avec une infrastructure de grille plutôt qu'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 certainement plus de complexité au déploiement de la base de données Oracle. Cependant, comme son nom l'indique, lorsque Oracle est déployé en mode Redémarrage, les services Oracle défaillants sont redémarrés automatiquement par l'infrastructure de grille ou 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é HA.

Dans cette documentation, nous montrons comment déployer une base de données Oracle avec le protocole iSCSI et Oracle ASM dans un environnement de stockage Amazon FSx ONTAP avec des instances de calcul EC2. Nous 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 d'autres cas d'utilisation pour un fonctionnement de base de données efficace en termes de stockage dans le cloud public AWS.

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

  • Déploiement de bases de données Oracle dans le stockage Amazon FSx ONTAP et les instances de calcul EC2 avec iSCSI/ASM

  • Tester et valider une charge de travail Oracle dans le cloud public AWS avec iSCSI/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 :

  • Un administrateur de base de données qui souhaite déployer Oracle dans un cloud public AWS avec iSCSI/ASM.

  • Un architecte de solutions de base de données qui souhaite tester les charges de travail Oracle dans le cloud public AWS.

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

  • Le propriétaire de l'application qui souhaite mettre en place une base de données Oracle dans AWS FSx/EC2.

Environnement de test et de validation de solutions

Les tests et la validation de cette solution ont été effectués dans un environnement AWS FSx et EC2 qui pourrait ne pas correspondre à l'environnement de déploiement final. Pour plus d'informations, consultez la section Facteurs clés à prendre en compte lors du déploiement .

Architecture

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

Composants matériels et logiciels

Matériel

Stockage FSx ONTAP

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/4vCPU/16G

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

Logiciel

RedHat Linux

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

Abonnement RedHat déployé 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

Oracle OPatch

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 base de données Oracle. NetApp recommande d’utiliser une instance EC2 de type M5 comme instance de calcul pour Oracle dans le déploiement de production, car elle est optimisée pour les charges de travail de 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 de la charge de travail.

  • Déploiement de clusters de stockage HA FSx sur une ou plusieurs zones. Dans ces tests et validations, nous avons déployé un cluster FSx HA dans une seule zone de disponibilité AWS. Pour le déploiement en production, NetApp recommande de déployer une paire FSx HA dans deux zones de disponibilité différentes. Un cluster FSx HA est toujours provisionné dans une paire HA synchronisée dans une paire de systèmes de fichiers actifs-passifs pour fournir une redondance au niveau du stockage. Le déploiement multizone améliore encore la haute disponibilité en cas de panne dans une seule zone AWS.

  • Dimensionnement du cluster de stockage FSx. Un système de fichiers de stockage Amazon FSx ONTAP fournit jusqu'à 160 000 IOPS SSD brutes, jusqu'à 4 Gbit/s de débit et une capacité maximale de 192 TiB. Cependant, vous pouvez dimensionner le cluster en termes d'IOPS provisionnés, de débit et de limite de stockage (minimum 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é de l'application.

  • 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. Dans le groupe de disques asm +DATA, nous avons provisionné quatre LUN dans un volume de données. Dans le groupe de disques asm +LOGS, nous avons provisionné deux LUN dans un volume de journaux. En général, plusieurs LUN disposés dans un volume Amazon FSx ONTAP offrent de meilleures performances.

  • Configuration iSCSI. Le serveur de base de données d'instance EC2 se connecte au stockage FSx avec le protocole iSCSI. Les instances EC2 se déploient généralement avec une seule interface réseau ou ENI. L'interface NIC unique transporte à la fois le trafic iSCSI et le trafic d'application. Il est important d'évaluer les exigences de débit d'E/S de pointe de la base de données Oracle en analysant soigneusement le rapport Oracle AWR afin de choisir une instance de calcul EC2 appropriée qui répond à la fois aux exigences de débit de trafic d'application et iSCSI. NetApp recommande également d'allouer quatre connexions iSCSI aux deux points de terminaison iSCSI FSx avec le multichemin correctement configuré.

  • Niveau de redondance Oracle ASM à utiliser pour chaque groupe de disques Oracle ASM que vous créez. Étant donné que FSx reflète déjà le stockage au niveau du cluster FSx, vous devez utiliser la redondance externe, ce qui signifie que l'option ne permet pas à Oracle ASM de refléter le contenu du groupe de disques.

  • Sauvegarde de la base de données. NetApp fournit une version SaaS du service SnapCenter software 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 un tel service pour réaliser une sauvegarde SnapShot rapide (moins d'une minute), une restauration rapide (quelques minutes) de la base de données et un clonage de la base de données.

Déploiement de la solution

La section suivante fournit des procédures de déploiement étape par étape.

Prérequis pour le déploiement

Details

Le déploiement nécessite les prérequis suivants.

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

  2. À partir de la console AWS EC2, vous devez déployer deux instances EC2 Linux, une comme serveur de base de données Oracle principal et un serveur de base de données cible de clonage alternatif facultatif. Consultez le diagramme d’architecture dans la section précédente pour plus de détails sur la configuration de l’environnement. Consultez également le"Guide de l'utilisateur pour les instances Linux" pour plus d'informations.

  3. À partir de la console AWS EC2, déployez des clusters de stockage HA Amazon FSx ONTAP pour héberger les volumes de base de données Oracle. Si vous n'êtes pas familier avec le déploiement du stockage FSx, consultez la documentation"Création de systèmes de fichiers FSx ONTAP" pour des instructions étape par étape.

  4. Les étapes 2 et 3 peuvent être effectuées à l'aide de la boîte à outils d'automatisation Terraform suivante, 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 l’exécution.

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

Configuration du noyau de l'instance EC2

Details

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

  1. Créer un répertoire de préparation /tmp/archive dossier et définissez le 777 autorisation.

    mkdir /tmp/archive
    
    chmod 777 /tmp/archive
  2. Téléchargez et installez les fichiers d'installation binaires Oracle et les autres fichiers rpm requis sur le /tmp/archive annuaire.

    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 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 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. Installer les utilitaires d’initiateur iSCSI.

    yum install iscsi-initiator-utils
  9. Installer sg3_utils .

    yum install sg3_utils
  10. Installer device-mapper-multipath .

    yum install device-mapper-multipath
  11. Désactiver les énormes pages 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 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
  12. Désactiver selinux en modifiant SELINUX=enforcing à SELINUX=disabled . Vous devez redémarrer l'hôte pour que la modification soit effective.

    vi /etc/sysconfig/selinux
  13. 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"
  14. Ajoutez de l’espace d’échange à l’instance EC2 en suivant ces instructions :"Comment allouer de la mémoire pour fonctionner comme espace d'échange dans une instance Amazon EC2 à l'aide d'un fichier d'échange ?" La quantité exacte d'espace à ajouter dépend de la taille de la RAM jusqu'à 16 Go.

  15. Changement node.session.timeo.replacement_timeout dans le iscsi.conf fichier de configuration de 120 à 5 secondes.

    vi /etc/iscsi/iscsid.conf
  16. Activez et démarrez le service iSCSI sur l’instance EC2.

    systemctl enable iscsid
    systemctl start iscsid
  17. Récupérez l'adresse de l'initiateur iSCSI à utiliser pour le mappage LUN de la base de données.

    cat /etc/iscsi/initiatorname.iscsi
  18. Ajoutez le groupe ASM à utiliser pour le groupe asm sysasm.

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

    usermod -a -G asm oracle
  20. Arrêtez et désactivez le pare-feu Linux s'il est actif.

    systemctl stop firewalld
    systemctl disable firewalld
  21. Redémarrez l’instance EC2.

Provisionner et mapper les volumes de base de données et les LUN 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'adresse IP de gestion du 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 -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 -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 -snapshot-policy none -tiering-policy snapshot-only
  5. Créez un LUN binaire dans le volume binaire de la base de données.

    lun create -path /vol/ora_01_biny/ora_01_biny_01 -size 40G -ostype linux
  6. Créez des LUN de données dans le volume de données de la base de données.

    lun create -path /vol/ora_01_data/ora_01_data_01 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_02 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_03 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_04 -size 20G -ostype linux
  7. Créez des LUN de journaux dans le volume des journaux de la base de données.

    lun create -path /vol/ora_01_logs/ora_01_logs_01 -size 40G -ostype linux
    
    lun create -path /vol/ora_01_logs/ora_01_logs_02 -size 40G -ostype linux
  8. Créez un igroup pour l’instance EC2 avec l’initiateur récupéré à l’étape 14 de la configuration du noyau EC2 ci-dessus.

    igroup create -igroup ora_01 -protocol iscsi -ostype linux -initiator iqn.1994-05.com.redhat:f65fed7641c2
  9. Mappez les LUN au groupe i créé ci-dessus. Incrémentez l'ID LUN de manière séquentielle pour chaque LUN supplémentaire dans un volume.

    lun map -path /vol/ora_01_biny/ora_01_biny_01 -igroup ora_01 -vserver svm_ora -lun-id 0
    lun map -path /vol/ora_01_data/ora_01_data_01 -igroup ora_01 -vserver svm_ora -lun-id 1
    lun map -path /vol/ora_01_data/ora_01_data_02 -igroup ora_01 -vserver svm_ora -lun-id 2
    lun map -path /vol/ora_01_data/ora_01_data_03 -igroup ora_01 -vserver svm_ora -lun-id 3
    lun map -path /vol/ora_01_data/ora_01_data_04 -igroup ora_01 -vserver svm_ora -lun-id 4
    lun map -path /vol/ora_01_logs/ora_01_logs_01 -igroup ora_01 -vserver svm_ora -lun-id 5
    lun map -path /vol/ora_01_logs/ora_01_logs_02 -igroup ora_01 -vserver svm_ora -lun-id 6
  10. Valider le mappage LUN.

    mapping show

    On s'attend à ce que cela revienne :

    FsxId02ad7bf3476b741df::> mapping show
      (lun mapping show)
    Vserver    Path                                      Igroup   LUN ID  Protocol
    ---------- ----------------------------------------  -------  ------  --------
    svm_ora    /vol/ora_01_biny/ora_01_biny_01           ora_01        0  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_01           ora_01        1  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_02           ora_01        2  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_03           ora_01        3  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_04           ora_01        4  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_01           ora_01        5  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_02           ora_01        6  iscsi

Configuration du stockage de la base de données

Details

Maintenant, importez et configurez le stockage FSx pour l’infrastructure de grille 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 l'adresse IP de l'instance EC2.

    ssh -i ora_01.pem ec2-user@172.30.15.58
  2. Découvrez les points de terminaison iSCSI FSx à l'aide de l'adresse IP iSCSI SVM. Passez ensuite à l’adresse du portail spécifique à votre environnement.

    sudo iscsiadm iscsiadm --mode discovery --op update --type sendtargets --portal 172.30.15.51
  3. Établissez des sessions iSCSI en vous connectant à chaque cible.

    sudo iscsiadm --mode node -l all

    Le résultat attendu de la commande est :

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode node -l all
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260]
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260]
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260] successful.
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260] successful.
  4. Afficher et valider une liste de sessions iSCSI actives.

    sudo iscsiadm --mode session

    Renvoyer les sessions iSCSI.

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode session
    tcp: [1] 172.30.15.51:3260,1028 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
    tcp: [2] 172.30.15.13:3260,1029 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
  5. Vérifiez que les LUN ont été importés dans l’hôte.

    sudo sanlun lun show

    Cela renverra une liste des LUN Oracle de FSx.

    [ec2-user@ip-172-30-15-58 ~]$ sudo sanlun lun show
    controller(7mode/E-Series)/                                   device          host                  lun
    vserver(cDOT/FlashRay)        lun-pathname                    filename        adapter    protocol   size    product
    
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdn        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdm        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdk        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sdl        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdi        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdj        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sdh        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdg        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdf        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sde        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdc        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdd        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdb        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sda        host2      iSCSI      40g     cDOT
  6. Configurer le multipath.conf fichier avec les entrées par défaut et de liste noire suivantes.

    sudo vi /etc/multipath.conf
    
    defaults {
        find_multipaths yes
        user_friendly_names yes
    }
    
    blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
    }
  7. Démarrez le service multi-chemins.

    sudo systemctl start multipathd

    Les périphériques multi-trajets apparaissent désormais dans le /dev/mapper annuaire.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e68512d -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685141 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685142 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685143 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685144 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685145 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685146 -> ../dm-6
    crw------- 1 root root 10, 236 Mar 21 18:19 control
  8. Connectez-vous au cluster FSx en tant qu'utilisateur fsxadmin via SSH pour récupérer le numéro de série hexadécimal de chaque LUN commençant par 6c574xxx…​, le numéro HEX commençant par 3600a0980, qui est l'ID du fournisseur AWS.

    lun show -fields serial-hex

    et revenez comme suit :

    FsxId02ad7bf3476b741df::> lun show -fields serial-hex
    vserver path                            serial-hex
    ------- ------------------------------- ------------------------
    svm_ora /vol/ora_01_biny/ora_01_biny_01 6c574235472455534e68512d
    svm_ora /vol/ora_01_data/ora_01_data_01 6c574235472455534e685141
    svm_ora /vol/ora_01_data/ora_01_data_02 6c574235472455534e685142
    svm_ora /vol/ora_01_data/ora_01_data_03 6c574235472455534e685143
    svm_ora /vol/ora_01_data/ora_01_data_04 6c574235472455534e685144
    svm_ora /vol/ora_01_logs/ora_01_logs_01 6c574235472455534e685145
    svm_ora /vol/ora_01_logs/ora_01_logs_02 6c574235472455534e685146
    7 entries were displayed.
  9. Mettre à jour le /dev/multipath.conf fichier pour ajouter un nom convivial pour le périphérique multi-chemins.

    sudo vi /etc/multipath.conf

    avec les entrées suivantes :

    multipaths {
            multipath {
                    wwid            3600a09806c574235472455534e68512d
                    alias           ora_01_biny_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685141
                    alias           ora_01_data_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685142
                    alias           ora_01_data_02
            }
            multipath {
                    wwid            3600a09806c574235472455534e685143
                    alias           ora_01_data_03
            }
            multipath {
                    wwid            3600a09806c574235472455534e685144
                    alias           ora_01_data_04
            }
            multipath {
                    wwid            3600a09806c574235472455534e685145
                    alias           ora_01_logs_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685146
                    alias           ora_01_logs_02
            }
    }
  10. Redémarrez le service multipath pour vérifier que les périphériques sous /dev/mapper ont changé pour les noms LUN au lieu des ID série-hexadécimaux.

    sudo systemctl restart multipathd

    Vérifier /dev/mapper pour revenir comme suit :

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    crw------- 1 root root 10, 236 Mar 21 18:19 control
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_biny_01 -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_01 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_02 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_03 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_04 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_01 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_02 -> ../dm-6
  11. Partitionnez le LUN binaire avec une seule partition principale.

    sudo fdisk /dev/mapper/ora_01_biny_01
  12. Formatez le LUN binaire partitionné avec un système de fichiers XFS.

    sudo mkfs.xfs /dev/mapper/ora_01_biny_01p1
  13. Montez le LUN binaire sur /u01 .

    sudo mount -t xfs /dev/mapper/ora_01_biny_01p1 /u01
  14. Changement /u01 propriété du point de montage à l'utilisateur Oracle et à son groupe principal associé.

    sudo chown oracle:oinstall /u01
  15. Trouvez l'UUI du LUN binaire.

    sudo blkid /dev/mapper/ora_01_biny_01p1
  16. Ajouter un point de montage à /etc/fstab .

    sudo vi /etc/fstab

    Ajoutez la ligne suivante.

    UUID=d89fb1c9-4f89-4de4-b4d9-17754036d11d       /u01    xfs     defaults,nofail 0       2
    Remarque Il est important de monter le binaire avec uniquement l'UUID et avec l'option nofail pour éviter d'éventuels problèmes de verrouillage root lors du redémarrage de l'instance EC2.
  17. En tant qu'utilisateur root, ajoutez la règle udev pour les périphériques Oracle.

    vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    Inclure les entrées suivantes :

    ENV{DM_NAME}=="ora*", GROUP:="oinstall", OWNER:="oracle", MODE:="660"
  18. En tant qu'utilisateur root, rechargez les règles udev.

    udevadm control --reload-rules
  19. En tant qu'utilisateur root, déclenchez les règles udev.

    udevadm trigger
  20. En tant qu'utilisateur root, rechargez multipathd.

    systemctl restart multipathd
  21. Redémarrez l’hôte de l’instance EC2.

Installation de l'infrastructure de grille Oracle

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

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

    sudo systemctl restart sshd
  3. Réinitialiser le mot de passe 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 du répertoire.

    chmod -R 775 /u01/app
  6. Créez un répertoire de base de grille et accédez-y.

    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. Depuis la page d'accueil de la grille, supprimez le OPatch annuaire.

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

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  10. Depuis la grille d'accueil, révisez cv/admin/cvu_config , décommentez et remplacez CV_ASSUME_DISTID=OEL5 avec CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  11. Mettre à jour un gridsetup.rsp fichier pour une installation silencieuse et placez le fichier rsp dans le /tmp/archive annuaire. 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=/dev/mapper/ora_01_data_01,/dev/mapper/ora_01_data_02,/dev/mapper/ora_01_data_03,/dev/mapper/ora_01_data_04
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/mapper/*
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=true
  12. Connectez-vous à l'instance EC2 en tant qu'utilisateur root et définissez ORACLE_HOME et ORACLE_BASE .

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    export ORACLE_BASE=/tmp
    cd /u01/app/oracle/product/19.0.0/grid/bin
  13. Provisionnez des périphériques de disque à utiliser avec le pilote de filtre Oracle ASM.

     ./asmcmd afd_label DATA01 /dev/mapper/ora_01_data_01 --init
    
     ./asmcmd afd_label DATA02 /dev/mapper/ora_01_data_02 --init
    
     ./asmcmd afd_label DATA03 /dev/mapper/ora_01_data_03 --init
    
     ./asmcmd afd_label DATA04 /dev/mapper/ora_01_data_04 --init
    
     ./asmcmd afd_label LOGS01 /dev/mapper/ora_01_logs_01 --init
    
     ./asmcmd afd_label LOGS02 /dev/mapper/ora_01_logs_02 --init
  14. 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
  15. Non défini $ORACLE_BASE .

    unset ORACLE_BASE
  16. Connectez-vous à l'instance EC2 en tant qu'utilisateur Oracle et extrayez le correctif dans le /tmp/archive dossier.

    unzip /tmp/archive/p34762026_190000_Linux-x86-64.zip -d /tmp/archive
  17. Depuis la page d'accueil de la grille /u01/app/oracle/product/19.0.0/grid et en tant qu'utilisateur Oracle, lancez gridSetup.sh pour l'installation d'infrastructures de réseau.

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

    Ignorez les avertissements concernant les mauvais groupes pour l’infrastructure du réseau. Nous utilisons un seul utilisateur Oracle pour gérer Oracle Restart, ce qui est donc attendu.

  18. 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
  19. En tant qu'utilisateur root, rechargez le multipathd.

    systemctl restart multipathd
  20. 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
  21. En tant qu'utilisateur Oracle, à partir de $GRID_HOME, créez le groupe de disques LOGS.

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

    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
  23. Validez l’état du pilote de filtre ASM.

    [oracle@ip-172-30-15-58 grid]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    [oracle@ip-172-30-15-58 grid]$ export ORACLE_SID=+ASM
    [oracle@ip-172-30-15-58 grid]$ export PATH=$PATH:$ORACLE_HOME/bin
    [oracle@ip-172-30-15-58 grid]$ 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  1048576     81920    81847                0           81847              0             N  DATA/
    MOUNTED  EXTERN  N         512             512   4096  1048576     81920    81853                0           81853              0             N  LOGS/
    ASMCMD> afd_state
    ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'ip-172-30-15-58.ec2.internal'

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 si c'est réglé.

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Créez le répertoire de base de données Oracle et accédez-y.

    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 d’Oracle DB.

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. Depuis la base de données, supprimez le OPatch annuaire.

    rm -rf OPatch
  5. Depuis la base de données, décompressez p6880880_190000_Linux-x86-64.zip .

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  6. Depuis la maison DB, réviser cv/admin/cvu_config , et décommentez et remplacez CV_ASSUME_DISTID=OEL5 avec CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  7. De la /tmp/archive répertoire, décompressez le patch DB 19.18 RU.

    unzip p34765931_190000_Linux-x86-64.zip
  8. Mettre à jour le fichier rsp standard d'installation silencieuse de la base de données dans /tmp/archive/dbinstall.rsp répertoire avec les valeurs suivantes dans les sections correspondantes :

    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 une 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, mettez à jour la norme dbca.rsp fichier avec les entrées suivantes dans les sections concernées :

    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"
    datafileDestination=+DATA
    recoveryAreaDestination=+LOGS
    storageType=ASM
    diskGroupName=DATA
    characterSet=AL32UTF8
    nationalCharacterSet=AL16UTF16
    listeners=LISTENER
    databaseType=MULTIPURPOSE
    automaticMemoryManagement=false
    totalMemory=8192
  12. En tant qu'utilisateur Oracle, à partir du répertoire $ORACLE_HOME, lancez 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, validez 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        	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.db1.db		ONLINE  ONLINE       ip-172-30-15-58          Open,HOME=/u01/app/oracle/product/19.0.0/db1,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
  14. Définir 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éé.

    source /home/oracle/.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. Définissez la taille de destination de récupération de la base de données sur la taille du groupe de disques +LOGS.

    alter system set db_recovery_file_dest_size = 80G scope=both;
  18. Connectez-vous à la base de données avec sqlplus et activez le mode journal d'archivage.

    sqlplus /as sysdba.
    
    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;

Ceci termine le déploiement du redémarrage d'Oracle 19c version 19.18 sur une instance de calcul Amazon FSx ONTAP et EC2. Si vous le souhaitez, NetApp recommande de déplacer le fichier de contrôle Oracle et les fichiers journaux en ligne vers le groupe de disques +LOGS.

Option de déploiement automatisé

Sauvegarde, restauration et clonage de bases de données Oracle avec SnapCenter Service

Voir"Services SnapCenter pour Oracle" pour plus de détails sur la sauvegarde, la restauration et le clonage de la base de données Oracle avec la console NetApp BlueXP .