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

Procedura di implementazione passo-passo

Collaboratori

Implementazione AWX/Tower Database Oracle 19c

1. Creare l'inventario, il gruppo, gli host e le credenziali per il proprio ambiente

Questa sezione descrive la configurazione di inventario, gruppi, host e credenziali di accesso in AWX/Ansible Tower che preparano l'ambiente per l'utilizzo delle soluzioni automatizzate di NetApp.

  1. Configurare l'inventario.

    1. Accedere a Resources → Inventories → Add e fare clic su Add Inventory (Aggiungi inventario).

    2. Fornire il nome e i dettagli dell'organizzazione, quindi fare clic su Save (Salva).

    3. Nella pagina Inventories (inventari), fare clic sull'inventario creato.

    4. Se sono presenti variabili di inventario, incollarle nel campo variabili.

    5. Accedere al sottomenu Groups (gruppi) e fare clic su Add (Aggiungi).

    6. Fornire il nome del gruppo per ONTAP, incollare le variabili di gruppo (se presenti) e fare clic su Salva.

    7. Ripetere la procedura per un altro gruppo per Oracle.

    8. Selezionare il gruppo ONTAP creato, accedere al sottomenu hosts e fare clic su Aggiungi nuovo host.

    9. Fornire l'indirizzo IP dell'IP di gestione del cluster ONTAP, incollare le variabili host (se presenti) e fare clic su Salva.

    10. Questo processo deve essere ripetuto per l'IP/nome host di gestione del gruppo Oracle e degli host Oracle.

  2. Creare tipi di credenziale. Per le soluzioni che utilizzano ONTAP, è necessario configurare il tipo di credenziale in modo che corrisponda alle voci di nome utente e password.

    1. Accedere a Administration → Credential Types (Amministrazione tipi di credenziali) e fare clic su Add (Aggiungi).

    2. Fornire il nome e la descrizione.

    3. Incollare il seguente contenuto in Input Configuration (Configurazione input):

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. Incollare il seguente contenuto nella configurazione dell'iniettore:

extra_vars:
  password: '{{ password }}'
  username: '{{ username }}'
  vsadmin_password: '{{ vsadmin_password }}'
  1. Configurare le credenziali.

    1. Accedere a Resources → Credentials (risorse credenziali) e fare clic su Add (Aggiungi).

    2. Immettere il nome e i dettagli dell'organizzazione per ONTAP.

    3. Selezionare il tipo di credenziale personalizzato creato per ONTAP.

    4. In Dettagli tipo, immettere il nome utente, la password e la password vsadmin_password.

    5. Fare clic su Torna alla credenziale e fare clic su Aggiungi.

    6. Immettere il nome e i dettagli dell'organizzazione per Oracle.

    7. Selezionare il tipo di credenziale Machine.

    8. In Dettagli tipo, immettere il nome utente e la password per gli host Oracle.

    9. Selezionare il metodo corretto di escalation dei privilegi e immettere il nome utente e la password.

2. Creare un progetto

  1. Accedere a risorse → progetti e fare clic su Aggiungi.

    1. Inserire il nome e i dettagli dell'organizzazione.

    2. Selezionare Git nel campo Source Control Credential Type (tipo credenziale controllo origine).

    3. invio <https://github.com/NetApp-Automation/na_oracle19c_deploy.git> Come URL del controllo di origine.

    4. Fare clic su Salva.

    5. Potrebbe essere necessario sincronizzare il progetto occasionalmente quando il codice sorgente cambia.

3. Configurare Oracle host_vars

Le variabili definite in questa sezione vengono applicate a ogni singolo server e database Oracle.

  1. Inserire i parametri specifici dell'ambiente nel seguente modulo host Oracle incorporato o host_vars.

Nota Gli elementi in blu devono essere modificati in base all'ambiente in uso.

Config. VAR host

######################################################################
##############      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. Inserire tutte le variabili nei campi blu.

  2. Una volta completata l'immissione delle variabili, fare clic sul pulsante Copy (Copia) del modulo per copiare tutte le variabili da trasferire su AWX o Tower.

  3. Tornare a AWX o Tower e andare a Resources → hosts, quindi selezionare e aprire la pagina di configurazione del server Oracle.

  4. Nella scheda Dettagli, fare clic su Modifica e incollare le variabili copiate dal punto 1 nel campo variabili sotto la scheda YAML.

  5. Fare clic su Salva.

  6. Ripetere questa procedura per tutti i server Oracle aggiuntivi nel sistema.

4. Configurare le variabili globali

Le variabili definite in questa sezione si applicano a tutti gli host Oracle, ai database e al cluster ONTAP.

  1. Inserire i parametri specifici dell'ambiente nel seguente formato vars o variabili globali incorporate.

Nota Gli elementi in blu devono essere modificati in base all'ambiente in uso.
#######################################################################
###### 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. Inserire tutte le variabili nei campi blu.

  2. Una volta completata l'immissione delle variabili, fare clic sul pulsante Copy (Copia) del modulo per copiare tutte le variabili da trasferire a AWX o Tower nel seguente modello di lavoro.

5. Configurare e avviare il modello di lavoro.

  1. Creare il modello di lavoro.

    1. Accedere a risorse → modelli → Aggiungi e fare clic su Aggiungi modello di processo.

    2. Immettere il nome e la descrizione

    3. Selezionare il tipo di lavoro; Esegui consente di configurare il sistema in base a un playbook e Check esegue un'esecuzione a secco di un playbook senza configurare effettivamente il sistema.

    4. Seleziona l'inventario, il progetto, il playbook e le credenziali corrispondenti per il playbook.

    5. Selezionare all_playbook.yml come playbook predefinito da eseguire.

    6. Incollare le variabili globali copiate dal passaggio 4 nel campo Template Variables (variabili modello) nella scheda YAML.

    7. Selezionare la casella prompt all'avvio nel campo Job Tags.

    8. Fare clic su Salva.

  2. Avviare il modello di lavoro.

    1. Accedere a risorse → modelli.

    2. Fare clic sul modello desiderato, quindi fare clic su Launch (Avvia).

    3. Quando richiesto all'avvio per Job Tags, digitare requirements_config. Potrebbe essere necessario fare clic sulla riga Create Job Tag sotto requirements_config per inserire il tag del processo.

Nota requirements_config garantisce di disporre delle librerie corrette per eseguire gli altri ruoli.
  1. Fare clic su Avanti, quindi su Avvia per avviare il processo.

  2. Fare clic su View → Jobs (Visualizza lavori) per monitorare l'output e l'avanzamento del lavoro.

  3. Quando richiesto all'avvio per Job Tags, digitare ontap_config. Potrebbe essere necessario fare clic sulla riga Create "Job Tag" (Crea tag lavoro) sotto ontap_config per inserire il tag del lavoro.

  4. Fare clic su Avanti, quindi su Avvia per avviare il processo.

  5. Fare clic su View → Jobs (Visualizza lavori) per monitorare l'output e l'avanzamento del lavoro

  6. Una volta completato il ruolo ontap_CONFIG, eseguire nuovamente il processo per linux_CONFIG.

  7. Accedere a risorse → modelli.

  8. Selezionare il modello desiderato, quindi fare clic su Launch (Avvia).

  9. Quando richiesto all'avvio per il tipo di tag del processo in linux_config, potrebbe essere necessario selezionare la riga Create "job tag" (Crea tag del processo) sotto linux_config per inserire il tag del processo.

  10. Fare clic su Avanti, quindi su Avvia per avviare il processo.

  11. Selezionare Visualizza → lavori per monitorare l'output e l'avanzamento del lavoro.

  12. Una volta completato il ruolo linux_config, eseguire nuovamente il processo per oracle_config.

  13. Accedere a risorse → modelli.

  14. Selezionare il modello desiderato, quindi fare clic su Launch (Avvia).

  15. Quando richiesto all'avvio per Job Tags, digitare oracle_config. Potrebbe essere necessario selezionare la riga Create "Job Tag" (Crea tag lavoro) sotto oracle_config per inserire il tag lavoro.

  16. Fare clic su Avanti, quindi su Avvia per avviare il processo.

  17. Selezionare Visualizza → lavori per monitorare l'output e l'avanzamento del lavoro.

6. Implementare database aggiuntivi sullo stesso host Oracle

La parte Oracle del playbook crea un singolo database container Oracle su un server Oracle per ogni esecuzione. Per creare ulteriori database container sullo stesso server, attenersi alla seguente procedura.

  1. Rivedere le variabili host_vars.

    1. Tornare al passaggio 2 - Configurazione di Oracle host_vars.

    2. Modificare il SID Oracle con una stringa di denominazione diversa.

    3. Modificare la porta del listener con un numero diverso.

    4. Modificare la porta EM Express con un numero diverso se si installa EM Express.

    5. Copiare e incollare le variabili host riviste nel campo Oracle host Variables (variabili host Oracle) nella scheda host Configuration Detail (Dettagli configurazione host).

  2. Avviare il modello di processo di implementazione con solo il tag oracle_config.

  3. Accedere al server Oracle come utente oracle ed eseguire i seguenti comandi:

    ps -ef | grep ora
    Nota In questo modo verranno elencati i processi oracle se l'installazione è stata completata come previsto e oracle DB è stato avviato
  4. Accedere al database per controllare le impostazioni di configurazione del db e i PDB creati con i seguenti set di comandi.

    [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

    Ciò conferma che DNFS funziona correttamente.

  5. Connettersi al database tramite listener per controllare la configurazione del listener Oracle con il seguente comando. Passare alla porta del listener e al nome del servizio database appropriati.

    [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

    Ciò conferma che Oracle listener funziona correttamente.

Dove cercare aiuto?

Se hai bisogno di aiuto con il toolkit, iscriviti a. "La community di NetApp Solution Automation supporta il canale slack" e cerca il canale di automazione della soluzione per inviare domande o domande.