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.

Procédure de déploiement étape par étape

Contributeurs

Déploiement AWX/Tower Oracle 19c Database

1. Créez l'inventaire, le groupe, les hôtes et les informations d'identification de votre environnement

Cette section décrit la configuration des inventaires, des groupes, des hôtes et des identifiants d'accès dans AWX/Ansible Tower qui préparent l'environnement à l'utilisation des solutions automatisées NetApp.

  1. Configurer l'inventaire.

    1. Accédez à Ressources → inventaires → Ajouter, puis cliquez sur Ajouter un inventaire.

    2. Indiquez le nom et les détails de l'organisation, puis cliquez sur Enregistrer.

    3. Sur la page inventaires, cliquez sur l'inventaire créé.

    4. S'il existe des variables d'inventaire, collez-les dans le champ variables.

    5. Accédez au sous-menu groupes et cliquez sur Ajouter.

    6. Indiquez le nom du groupe pour ONTAP, collez les variables du groupe (le cas échéant) et cliquez sur Enregistrer.

    7. Répétez le processus pour un autre groupe pour Oracle.

    8. Sélectionnez le groupe ONTAP créé, accédez au sous-menu hôtes et cliquez sur Ajouter un nouvel hôte.

    9. Indiquez l'adresse IP de gestion de cluster ONTAP, collez les variables hôte (le cas échéant), puis cliquez sur Enregistrer.

    10. Ce processus doit être répété pour le groupe Oracle et l'adresse IP/nom d'hôte(s) de gestion du ou des hôtes Oracle.

  2. Créer des types d'informations d'identification. Pour les solutions impliquant ONTAP, vous devez configurer le type d'informations d'identification pour qu'il corresponde aux entrées de nom d'utilisateur et de mot de passe.

    1. Accédez à Administration → types d'informations d'identification, puis cliquez sur Ajouter.

    2. Indiquez le nom et la description.

    3. Collez le contenu suivant dans la configuration d'entrée :

fields:
  - id: username
    type: string
    label: Username
  - id: password
    type: string
    label: Password
    secret: true
  - id: vsadmin_password
    type: string
    label: vsadmin_password
    secret: true
  1. Collez le contenu suivant dans la configuration d'injecteur :

extra_vars:
  password: '{{ password }}'
  username: '{{ username }}'
  vsadmin_password: '{{ vsadmin_password }}'
  1. Configurer les informations d'identification.

    1. Accédez à Ressources → informations d'identification, puis cliquez sur Ajouter.

    2. Entrez le nom et les détails de l'organisation de ONTAP.

    3. Sélectionnez le type d'informations d'identification personnalisé que vous avez créé pour ONTAP.

    4. Sous Type Details, entrez le nom d'utilisateur, le mot de passe et le mot de passe vsadmin_password.

    5. Cliquez sur Retour aux informations d'identification et cliquez sur Ajouter.

    6. Entrez le nom et les détails de l'organisation pour Oracle.

    7. Sélectionnez le type d'informations d'identification de la machine.

    8. Sous Détails du type, entrez le nom d'utilisateur et le mot de passe des hôtes Oracle.

    9. Sélectionnez la méthode d'escalade des privilèges appropriée et saisissez le nom d'utilisateur et le mot de passe.

2. Créez un projet

  1. Accédez à Ressources → projets, puis cliquez sur Ajouter.

    1. Entrez le nom et les détails de l'organisation.

    2. Sélectionnez Git dans le champ Type d'informations d'identification du contrôle source.

    3. entrez <https://github.com/NetApp-Automation/na_oracle19c_deploy.git> Comme URL de contrôle de source.

    4. Cliquez sur Enregistrer.

    5. Il peut être nécessaire de synchroniser le projet de temps en temps lorsque le code source change.

3. Configurer Oracle Host_var

Les variables définies dans cette section sont appliquées à chaque serveur et base de données Oracle.

  1. Entrez les paramètres spécifiques à votre environnement dans le formulaire variables ou host_var intégrés suivant.

Remarque Les éléments en bleu doivent être modifiés pour correspondre à votre environnement.

Config VARS hôte

######################################################################
##############      Host Variables Configuration        ##############
######################################################################

# Add your Oracle Host
ansible_host: "10.61.180.15"

# Oracle db log archive mode: true - ARCHIVELOG or false - NOARCHIVELOG
log_archive_mode: "true"

# Number of pluggable databases per container instance identified by sid. Pdb_name specifies the prefix for container database naming in this case cdb2_pdb1, cdb2_pdb2, cdb2_pdb3
oracle_sid: "cdb2"
pdb_num: "3"
pdb_name: "{{ oracle_sid }}_pdb"

# CDB listener port, use different listener port for additional CDB on same host
listener_port: "1523"

# CDB is created with SGA at 75% of memory_limit, MB. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB. The grand total SGA should not exceed 75% available RAM on node.
memory_limit: "5464"

# Set "em_configuration: DBEXPRESS" to install enterprise manager express and choose a unique port from 5500 to 5599 for each sid on the host.
# Leave them black if em express is not installed.
em_configuration: "DBEXPRESS"
em_express_port: "5501"

# {{groups.oracle[0]}} represents first Oracle DB server as defined in Oracle hosts group [oracle]. For concurrent multiple Oracle DB servers deployment, [0] will be incremented for each additional DB server. For example,  {{groups.oracle[1]}}" represents DB server 2, "{{groups.oracle[2]}}" represents DB server 3 ... As a good practice and the default, minimum three volumes is allocated to a DB server with corresponding /u01, /u02, /u03 mount points, which store oracle binary, oracle data, and oracle recovery files respectively. Additional volumes can be added by click on "More NFS volumes" but the number of volumes allocated to a DB server must match with what is defined in global vars file by volumes_nfs parameter, which dictates how many volumes are to be created for each DB server.
host_datastores_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  1. Remplissez toutes les variables dans les champs bleus.

  2. Une fois les variables entrées, cliquez sur le bouton Copier du formulaire pour copier toutes les variables à transférer vers AWX ou Tour.

  3. Revenez à AWX ou Tower et accédez à Ressources → hosts, puis sélectionnez et ouvrez la page de configuration du serveur Oracle.

  4. Sous l'onglet Détails, cliquez sur Modifier et collez les variables copiées de l'étape 1 dans le champ variables de l'onglet YAML.

  5. Cliquez sur Enregistrer.

  6. Répétez ce processus pour tous les serveurs Oracle supplémentaires du système.

4. Configurer les variables globales

Les variables définies dans cette section s'appliquent à tous les hôtes Oracle, bases de données et cluster ONTAP.

  1. Saisissez les paramètres spécifiques à votre environnement dans le formulaire intégré Global variables ou var.

Remarque Les éléments en bleu doivent être modifiés pour correspondre à votre environnement.
#######################################################################
###### Oracle 19c deployment global user configuration variables ######
######  Consolidate all variables from ontap, linux and oracle   ######
#######################################################################

###########################################
### Ontap env specific config variables ###
###########################################

#Inventory group name
#Default inventory group name - 'ontap'
#Change only if you are changing the group name either in inventory/hosts file or in inventory groups in case of AWX/Tower
hosts_group: "ontap"

#CA_signed_certificates (ONLY CHANGE to 'true' IF YOU ARE USING CA SIGNED CERTIFICATES)
ca_signed_certs: "false"

#Names of the Nodes in the ONTAP Cluster
nodes:
 - "AFF-01"
 - "AFF-02"

#Storage VLANs
#Add additional rows for vlans as necessary
storage_vlans:
   - {vlan_id: "203", name: "infra_NFS", protocol: "NFS"}
More Storage VLANsEnter Storage VLANs details

#Details of the Data Aggregates that need to be created
#If Aggregate creation takes longer, subsequent tasks of creating volumes may fail.
#There should be enough disks already zeroed in the cluster, otherwise aggregate create will zero the disks and will take long time
data_aggregates:
  - {aggr_name: "aggr01_node01"}
  - {aggr_name: "aggr01_node02"}

#SVM name
svm_name: "ora_svm"

# SVM Management LIF Details
svm_mgmt_details:
  - {address: "172.21.91.100", netmask: "255.255.255.0", home_port: "e0M"}

# NFS storage parameters when data_protocol set to NFS. Volume named after Oracle hosts name identified by mount point as follow for oracle DB server 1. Each mount point dedicates to a particular Oracle files: u01 - Oracle binary, u02 - Oracle data, u03 - Oracle redo. Add additional volumes by click on "More NFS volumes" and also add the volumes list to corresponding host_vars as host_datastores_nfs variable. For multiple DB server deployment, additional volumes sets needs to be added for additional DB server. Input variable "{{groups.oracle[1]}}_u01", "{{groups.oracle[1]}}_u02", and "{{groups.oracle[1]}}_u03" as vol_name for second DB server. Place volumes for multiple DB servers alternatingly between controllers for balanced IO performance, e.g. DB server 1 on controller node1, DB server 2 on controller node2 etc. Make sure match lif address with controller node.

volumes_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}

#NFS LIFs IP address and netmask

nfs_lifs_details:
  - address: "172.21.94.200" #for node-1
    netmask: "255.255.255.0"
  - address: "172.21.94.201" #for node-2
    netmask: "255.255.255.0"

#NFS client match

client_match: "172.21.94.0/24"

###########################################
### Linux env specific config variables ###
###########################################

#NFS Mount points for Oracle DB volumes

mount_points:
  - "/u01"
  - "/u02"
  - "/u03"

# Up to 75% of node memory size divided by 2mb. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB.
# Leave it blank if hugepage is not configured on the host.

hugepages_nr: "1234"

# RedHat subscription username and password

redhat_sub_username: "xxx"
redhat_sub_password: "xxx"

####################################################
### DB env specific install and config variables ###
####################################################

db_domain: "your.domain.com"

# Set initial password for all required Oracle passwords. Change them after installation.

initial_pwd_all: "netapp123"
  1. Remplissez toutes les variables dans les champs bleus.

  2. Une fois les variables entrées, cliquez sur le bouton Copier du formulaire pour copier toutes les variables à transférer vers AWX ou Tour dans le modèle de travail suivant.

5. Configurez et lancez le modèle de travail.

  1. Créez le modèle de travail.

    1. Accédez à Ressources → modèles → Ajouter, puis cliquez sur Ajouter un modèle de travail.

    2. Entrez le nom et la description

    3. Sélectionnez le type de travail ; Exécuter configure le système en fonction d'un manuel de vente et vérifier effectue une exécution sèche d'un manuel de vente sans configurer réellement le système.

    4. Sélectionnez l'inventaire, le projet, le PlayBook et les identifiants correspondant au PlayBook.

    5. Sélectionnez All_PlayBook.yml comme PlayBook par défaut à exécuter.

    6. Collez les variables globales copiées à partir de l'étape 4 dans le champ variables du modèle sous l'onglet YAML.

    7. Cochez la case demander au lancement dans le champ balises de travail.

    8. Cliquez sur Enregistrer.

  2. Lancez le modèle de travail.

    1. Accédez à Ressources → modèles.

    2. Cliquez sur le modèle souhaité, puis cliquez sur lancer.

    3. Lorsque vous y êtes invité lors du lancement pour les balises de travail, saisissez configuration_requise. Vous devrez peut-être cliquer sur la ligne Créer une balise de travail sous configuration_exigences pour entrer la balise de travail.

Remarque configuration_exigences vous garantit que vous disposez des bibliothèques appropriées pour exécuter les autres rôles.
  1. Cliquez sur Suivant, puis sur lancer pour lancer le travail.

  2. Cliquez sur Affichage → travaux pour contrôler la sortie et la progression du travail.

  3. Lorsque vous y êtes invité au lancement pour les balises de tâche, saisissez ontap_config. Vous devrez peut-être cliquer sur la ligne Create Job Tag située juste en dessous d'ontap_config pour entrer la balise de travail.

  4. Cliquez sur Suivant, puis sur lancer pour lancer le travail.

  5. Cliquez sur Affichage → travaux pour contrôler la sortie et la progression du travail

  6. Une fois le rôle ontap_config terminé, exécutez de nouveau le processus pour linux_config.

  7. Accédez à Ressources → modèles.

  8. Sélectionnez le modèle souhaité, puis cliquez sur lancer.

  9. Lorsque vous êtes invité à lancer le type de balises de travail dans linux_config, vous devrez peut-être sélectionner la ligne Créer une « balise de travail » juste en dessous de linux_config pour entrer la balise de travail.

  10. Cliquez sur Suivant, puis sur lancer pour lancer le travail.

  11. Sélectionnez Affichage → travaux pour contrôler la sortie et la progression du travail.

  12. Une fois le rôle linux_config terminé, relancez le processus pour oracle_config.

  13. Accédez à Ressources → modèles.

  14. Sélectionnez le modèle souhaité, puis cliquez sur lancer.

  15. Lorsque vous êtes invité à lancer pour les balises de travail, tapez oracle_config. Vous devrez peut-être sélectionner la ligne Créer une balise de travail juste en dessous d'oracle_config pour entrer la balise de travail.

  16. Cliquez sur Suivant, puis sur lancer pour lancer le travail.

  17. Sélectionnez Affichage → travaux pour contrôler la sortie et la progression du travail.

6. Déployer des bases de données supplémentaires sur le même hôte Oracle

La partie Oracle du PlayBook crée une base de données de conteneur Oracle unique sur un serveur Oracle par exécution. Pour créer des bases de données de conteneurs supplémentaires sur le même serveur, procédez comme suit.

  1. Réviser les variables Host_var.

    1. Retournez à l'étape 2 - configurer Oracle Host_var.

    2. Remplacez le SID Oracle par une chaîne de nom différente.

    3. Définissez le port d'écoute sur un numéro différent.

    4. Remplacez le port EM Express par un autre numéro si vous installez EM Express.

    5. Copiez et collez les variables hôte révisées dans le champ variables hôte Oracle de l'onglet Détails de la configuration hôte.

  2. Lancez le modèle de travail de déploiement avec uniquement la balise oracle_config.

  3. Connectez-vous au serveur Oracle en tant qu'utilisateur oracle et exécutez les commandes suivantes :

    ps -ef | grep ora
    Remarque Cela répertoriera les processus oracle si l'installation est terminée comme prévu et si la base de données oracle a démarré
  4. Connectez-vous à la base de données pour vérifier les paramètres de configuration de la base de données et les PDB créés avec les jeux de commandes suivants.

    [oracle@localhost ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 12:52:51 2021
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL>
    
    SQL> select name, log_mode from v$database;
    NAME      LOG_MODE
    --------- ------------
    CDB2      ARCHIVELOG
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB2_PDB1                      READ WRITE NO
             4 CDB2_PDB2                      READ WRITE NO
             5 CDB2_PDB3                      READ WRITE NO
    
    col svrname form a30
    col dirname form a30
    select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SQL> col svrname form a30
    SQL> col dirname form a30
    SQL> select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SVRNAME                        DIRNAME                        NFSVERSION
    ------------------------------ ------------------------------ ----------------
    172.21.126.200                 /rhelora03_u02                 NFSv3.0
    172.21.126.200                 /rhelora03_u03                 NFSv3.0
    172.21.126.200                 /rhelora03_u01                 NFSv3.0

    Cela permet de vérifier que dNFS fonctionne correctement.

  5. Connectez-vous à la base de données via l'écouteur pour vérifier la configuration de l'écouteur Oracle à l'aide de la commande suivante. Modifiez le port d'écoute et le nom du service de base de données appropriés.

    [oracle@localhost ~]$ sqlplus system@//localhost:1523/cdb2_pdb1.cie.netapp.com
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 13:19:57 2021
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Enter password:
    Last Successful login time: Wed May 05 2021 17:11:11 -04:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL> show user
    USER is "SYSTEM"
    SQL> show con_name
    CON_NAME
    CDB2_PDB1

    Cela confirme que l'écouteur Oracle fonctionne correctement.

Où obtenir de l'aide ?

Si vous avez besoin d'aide avec la boîte à outils, veuillez vous joindre à la "La communauté NetApp solution Automation prend en charge le Channel Slack" et recherchez le canal solution-automation pour poser vos questions ou vos questions.