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

Il presente documento descrive in dettaglio l'implementazione di Oracle 19c utilizzando l'interfaccia a riga di comando (cli) di automazione.

Implementazione CLI Database Oracle 19c

Questa sezione descrive i passaggi necessari per preparare e implementare il database Oracle19c con la CLI. Assicurarsi di aver esaminato il "Guida introduttiva e sezione sui requisiti" e preparò il tuo ambiente di conseguenza.

Scarica Oracle19c repo

  1. Dal controller ansible, esegui il seguente comando:

    git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git
  2. Dopo aver scaricato il repository, modificare le directory in na_oracle19c_deploy <cd na_oracle19c_deploy>.

Modificare il file hosts

Prima dell'implementazione, completare le seguenti operazioni:

  1. Modificare la directory na_oracle19c_deploy del file hosts.

  2. In [ONTAP] (indirizzo IP), modificare l'indirizzo IP in base all'IP di gestione del cluster.

  3. Nel gruppo [oracle], aggiungere i nomi degli host oracle. Il nome host deve essere risolto nel relativo indirizzo IP tramite DNS o il file hosts, oppure deve essere specificato nell'host.

  4. Una volta completata questa procedura, salvare le modifiche.

Il seguente esempio illustra un file host:

#ONTAP Host

[ontap]

"10.61.184.183"

#Oracle hosts

[oracle]

"rtpora01"

"rtpora02"

Questo esempio esegue il playbook e implementa oracle 19c su due server oracle DB contemporaneamente. È inoltre possibile eseguire il test con un solo server DB. In tal caso, è necessario configurare un solo file di variabili host.

Nota Il playbook viene eseguito allo stesso modo, indipendentemente dal numero di host e database Oracle implementati.

Modificare il file host_name.yml in host_vars

Ciascun host Oracle dispone di un file di variabili host identificato dal nome host che contiene variabili specifiche dell'host. È possibile specificare qualsiasi nome per l'host. Modificare e copiare host_vars Dalla sezione host VARS Config (Configurazione VAR host) e incollarla nel file desiderato host_name.yml file.

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"}

Modificare il file vars.yml

Il vars.yml File consolida tutte le variabili specifiche dell'ambiente (ONTAP, Linux o Oracle) per l'implementazione Oracle.

  1. Modificare e copiare le variabili dalla sezione VAR e incollarle nel vars.yml file.

#######################################################################
###### 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"

Eseguire il manuale

Dopo aver completato i prerequisiti di ambiente richiesti e aver copiato le variabili in vars.yml e. your_host.yml, ora sei pronto per implementare i playbook.

Nota <username> deve essere modificato in base all'ambiente in uso.
  1. Avvia la guida ONTAP inserendo i tag corretti e il nome utente del cluster ONTAP. Immettere la password per il cluster ONTAP e vsadmin quando richiesto.

    ansible-playbook -i hosts all_playbook.yml -u username -k -K -t ontap_config -e @vars/vars.yml
  2. Eseguire il playbook Linux per eseguire la parte di distribuzione di Linux. Immettere la password admin ssh e sudo.

    ansible-playbook -i hosts all_playbook.yml -u username -k -K -t linux_config -e @vars/vars.yml
  3. Esegui il manuale Oracle per eseguire la parte relativa all'implementazione di Oracle. Immettere la password admin ssh e sudo.

    ansible-playbook -i hosts all_playbook.yml -u username -k -K -t oracle_config -e @vars/vars.yml

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 un database container aggiuntivo sullo stesso server, attenersi alla seguente procedura:

  1. Rivedere le variabili host_vars.

    1. Tornare al passaggio 3 - modificare host_name.yml file sotto 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 è stato installato EM Express.

    5. Copiare e incollare le variabili host riviste nel file delle variabili host Oracle in host_vars.

  2. Eseguire il manuale con oracle_config contrassegnare come illustrato nella Eseguire il manuale.

Convalidare l'installazione di Oracle

  1. 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
  2. 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.

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