Skip to main content
NetApp database solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Procedimiento de implementación paso a paso

Colaboradores kevin-hoke

Este documento detalla la implementación de Oracle 19c mediante la interfaz de línea de comandos de automatización (cli).

Implementación de CLI de la base de datos Oracle 19c

Esta sección cubre los pasos necesarios para preparar e implementar la base de datos Oracle19c con la CLI. Asegúrese de haber revisado el"Sección de Primeros Pasos y Requisitos" y preparó su entorno en consecuencia.

Descargar el repositorio Oracle19c

  1. Desde su controlador ansible, ejecute el siguiente comando:

    git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git
  2. Después de descargar el repositorio, cambie los directorios a na_oracle19c_deploy <cd na_oracle19c_deploy>.

Editar el archivo de hosts

Complete lo siguiente antes de la implementación:

  1. Edite el archivo de hosts en el directorio na_oracle19c_deploy.

  2. En [ontap], cambie la dirección IP a su IP de administración del clúster.

  3. En el grupo [oracle], agregue los nombres de los hosts de Oracle. El nombre del host debe resolverse a su dirección IP ya sea a través de DNS o del archivo de hosts, o debe especificarse en el host.

  4. Después de completar estos pasos, guarde los cambios.

El siguiente ejemplo representa un archivo host:

#ONTAP Host

[ontap]

"10.61.184.183"

#Oracle hosts

[oracle]

"rtpora01"

"rtpora02"

Este ejemplo ejecuta el libro de estrategias e implementa Oracle 19c en dos servidores Oracle DB simultáneamente. También puedes probar con un solo servidor de base de datos. En ese caso, solo es necesario configurar un archivo de variable de host.

Nota El libro de jugadas se ejecuta de la misma manera independientemente de cuántos hosts y bases de datos de Oracle implemente.

Edite el archivo host_name.yml en host_vars

Cada host de Oracle tiene su propio archivo de variables de host identificado por su nombre de host que contiene variables específicas del host. Puede especificar cualquier nombre para su host. Editar y copiar el host_vars desde la sección Host VARS Config y péguelo en su lugar deseado host_name.yml archivo.

Nota Los elementos en azul deben cambiarse para que coincidan con su entorno.

Configuración de VARS del 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"}

Editar el archivo vars.yml

El vars.yml El archivo consolida todas las variables específicas del entorno (ONTAP, Linux u Oracle) para la implementación de Oracle.

  1. Edite y copie las variables de la sección VARS y péguelas en su vars.yml archivo.

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

Ejecutar el libro de jugadas

Después de completar los requisitos previos del entorno requeridos y copiar las variables en vars.yml y your_host.yml Ahora estás listo para implementar los playbooks.

Nota <nombre de usuario> debe cambiarse para que coincida con su entorno.
  1. Ejecute el libro de jugadas de ONTAP pasando las etiquetas correctas y el nombre de usuario del clúster de ONTAP . Complete la contraseña para el clúster ONTAP y vsadmin cuando se le solicite.

    ansible-playbook -i hosts all_playbook.yml -u username -k -K -t ontap_config -e @vars/vars.yml
  2. Ejecute el playbook de Linux para ejecutar la parte de Linux de la implementación. Entrada para la contraseña ssh de administrador así como la contraseña sudo.

    ansible-playbook -i hosts all_playbook.yml -u username -k -K -t linux_config -e @vars/vars.yml
  3. Ejecute el playbook de Oracle para ejecutar la parte de Oracle de la implementación. Entrada para la contraseña ssh de administrador así como la contraseña sudo.

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

Implementar una base de datos adicional en el mismo host de Oracle

La parte de Oracle del libro de estrategias crea una única base de datos de contenedor de Oracle en un servidor Oracle por cada ejecución. Para crear una base de datos de contenedores adicional en el mismo servidor, complete los siguientes pasos:

  1. Revise las variables host_vars.

    1. Regrese al paso 3 - Edite el host_name.yml archivar bajo host_vars .

    2. Cambie el SID de Oracle a una cadena de nombre diferente.

    3. Cambie el puerto de escucha a un número diferente.

    4. Cambie el puerto EM Express a un número diferente si ha instalado EM Express.

    5. Copie y pegue las variables de host revisadas en el archivo de variables de host de Oracle en host_vars .

  2. Ejecutar el libro de jugadas con el oracle_config etiqueta como se muestra arriba enEjecutar el libro de jugadas .

Validar la instalación de Oracle

  1. Inicie sesión en el servidor Oracle como usuario Oracle y ejecute los siguientes comandos:

    ps -ef | grep ora
    Nota Esto enumerará los procesos de Oracle si la instalación se completó como se esperaba y se inició Oracle DB
  2. Inicie sesión en la base de datos para verificar la configuración de la base de datos y los PDB creados con los siguientes conjuntos de comandos.

    [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

    Esto confirma que dNFS está funcionando correctamente.

  3. Conéctese a la base de datos a través del escucha para verificar la configuración del escucha de Oracle con el siguiente comando. Cambie al puerto de escucha y al nombre del servicio de base de datos adecuados.

    [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

    Esto confirma que el escucha de Oracle está funcionando correctamente.

¿A dónde acudir para obtener ayuda?

Si necesita ayuda con el kit de herramientas, únase a la"Canal de Slack de soporte de la comunidad de automatización de soluciones de NetApp" y busca el canal de automatización de soluciones para publicar tus dudas o consultas.