Skip to main content
NetApp 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 puesta en marcha paso a paso

Colaboradores

Esta página describe el método automatizado para poner en marcha Oracle19c en el almacenamiento ONTAP de NetApp.

Implementación de AWX/Tower base de datos de Oracle 19c

1. Cree el inventario, el grupo, los hosts y las credenciales para su entorno

En esta sección se describe la configuración del inventario, los grupos, los hosts y las credenciales de acceso en AWX/Ansible Tower, que preparan el entorno para consumir soluciones automatizadas de NetApp.

  1. Configure el inventario.

    1. Desplácese hasta Recursos → inventarios → Agregar y haga clic en Agregar inventario.

    2. Escriba el nombre y los detalles de la organización y haga clic en Guardar.

    3. En la página inventarios, haga clic en el inventario creado.

    4. Si hay alguna variable de inventario, péguela en el campo variables.

    5. Acceda al submenú grupos y haga clic en Agregar.

    6. Introduzca el nombre del grupo para ONTAP, pegue las variables de grupo (si las hubiera) y haga clic en Guardar.

    7. Repita el proceso para otro grupo para Oracle.

    8. Seleccione el grupo ONTAP creado, vaya al submenú hosts y haga clic en Add New Host.

    9. Proporcione la dirección IP de la IP de gestión del clúster de ONTAP, pegue las variables de host (si las hubiera) y haga clic en Guardar.

    10. Este proceso debe repetirse para el nombre de host/IP de gestión del grupo Oracle y hosts Oracle.

  2. Crear tipos de credenciales. En el caso de las soluciones que implican ONTAP, debe configurar el tipo de credencial de modo que coincida con las entradas de nombre de usuario y contraseña.

    1. Desplácese hasta Administration → Credential Types y haga clic en Add.

    2. Escriba el nombre y la descripción.

    3. Pegue el siguiente contenido en Configuración de entrada:

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. Pegue el siguiente contenido en Configuración del inyector:

extra_vars:
  password: '{{ password }}'
  username: '{{ username }}'
  vsadmin_password: '{{ vsadmin_password }}'
  1. Configure las credenciales.

    1. Desplácese hasta Resources → Credentials y haga clic en Add.

    2. Introduzca el nombre y los detalles de la organización de ONTAP.

    3. Seleccione el tipo de credencial personalizada que ha creado para ONTAP.

    4. En Type Details, introduzca el nombre de usuario, la contraseña y vsadmin_Password.

    5. Haga clic en Back to Credential y haga clic en Add.

    6. Introduzca el nombre y los detalles de la organización de Oracle.

    7. Seleccione el tipo de credencial máquina.

    8. En Type Details, introduzca el nombre de usuario y la contraseña para los hosts de Oracle.

    9. Seleccione el método de escalamiento de privilegios correcto e introduzca el nombre de usuario y la contraseña.

2. Cree un proyecto

  1. Vaya a Recursos → proyectos y haga clic en Agregar.

    1. Introduzca el nombre y los detalles de la organización.

    2. Seleccione Git en el campo Source Control Credential Type.

    3. introduzca <https://github.com/NetApp-Automation/na_oracle19c_deploy.git> Como URL de control de origen.

    4. Haga clic en Guardar.

    5. Es posible que el proyecto tenga que sincronizarse ocasionalmente cuando cambia el código fuente.

3. Configurar Oracle host_var

Las variables definidas en esta sección se aplican a cada servidor y base de datos Oracle individuales.

  1. Introduzca los parámetros específicos del entorno en las siguientes variables de host de Oracle integradas o de host_var.

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

Host VARS Config

######################################################################
##############      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. Rellene todas las variables de los campos azules.

  2. Después de completar la entrada de variables, haga clic en el botón Copiar del formulario para copiar todas las variables que se van a transferir a AWX o Tower.

  3. Vuelva a AWX o Tower y vaya a Resources → hosts, y seleccione y abra la página de configuración del servidor Oracle.

  4. En la ficha Detalles, haga clic en editar y pegue las variables copiadas del paso 1 al campo variables bajo la ficha AYLMA.

  5. Haga clic en Guardar.

  6. Repita este proceso con todos los servidores Oracle adicionales del sistema.

4. Configurar variables globales

Las variables definidas en esta sección se aplican a todos los hosts de Oracle, las bases de datos y el clúster de ONTAP.

  1. Introduzca los parámetros específicos de su entorno en las siguientes variables globales integradas o formas var.

Nota Los elementos en azul deben cambiarse para que coincidan con su entorno.
#######################################################################
###### 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. Rellene todas las variables en campos azules.

  2. Después de completar la entrada de variables, haga clic en el botón Copiar del formulario para copiar todas las variables que se van a transferir a AWX o Tower en la siguiente plantilla de trabajo.

5. Configure e inicie la plantilla de trabajo.

  1. Cree la plantilla de trabajo.

    1. Desplácese hasta Recursos → Plantillas → Agregar y haga clic en Agregar plantilla de trabajo.

    2. Introduzca el nombre y la descripción

    3. Seleccione el tipo de trabajo; Run configura el sistema en función de una tableta playbook y Check realiza una ejecución en seco de una tableta playbook sin configurar realmente el sistema.

    4. Seleccione el inventario, el proyecto, el libro de estrategia y las credenciales correspondientes.

    5. Seleccione all_playbook.yml como la tableta PlayBook predeterminada que se va a ejecutar.

    6. Pegue las variables globales copiadas del paso 4 en el campo variables de plantilla en la pestaña AYLMA.

    7. Active la casilla solicitar al iniciar en el campo Etiquetas de trabajo.

    8. Haga clic en Guardar.

  2. Inicie la plantilla de trabajo.

    1. Desplácese hasta Recursos → Plantillas.

    2. Haga clic en la plantilla deseada y, a continuación, en Iniciar.

    3. Cuando se le solicite al iniciar las etiquetas de trabajo, escriba requerimientos_config. Puede que tenga que hacer clic en la línea Create Job Tag situada debajo de requisitos_config para introducir la etiqueta de trabajo.

Nota requerimientos_config asegura que tiene las bibliotecas correctas para ejecutar las otras funciones.
  1. Haga clic en Siguiente y luego en Iniciar para iniciar el trabajo.

  2. Haga clic en Ver → trabajos para supervisar la salida y el progreso del trabajo.

  3. Cuando se le solicite en el inicio de Job Tags, escriba ontap_config. Es posible que deba hacer clic en la línea Create "Job Tag" justo debajo de ontap_config para introducir la etiqueta del trabajo.

  4. Haga clic en Siguiente y luego en Iniciar para iniciar el trabajo.

  5. Haga clic en Ver → trabajos para supervisar la salida y el progreso del trabajo

  6. Una vez completado el rol ontap_config, vuelva a ejecutar el proceso para linux_config.

  7. Desplácese hasta Recursos → Plantillas.

  8. Seleccione la plantilla deseada y haga clic en Iniciar.

  9. Cuando se le solicite al iniciar el tipo de etiquetas de trabajo en linux_config, es posible que deba seleccionar la línea Crear "etiqueta de trabajo" situada justo debajo de linux_config para introducir la etiqueta de trabajo.

  10. Haga clic en Siguiente y luego en Iniciar para iniciar el trabajo.

  11. Seleccione Ver → trabajos para supervisar la salida y el progreso del trabajo.

  12. Una vez completado el rol linux_config, vuelva a ejecutar el proceso para oracle_config.

  13. Vaya a Recursos → Plantillas.

  14. Seleccione la plantilla deseada y haga clic en Iniciar.

  15. Cuando se le solicite al iniciar las etiquetas de trabajo, escriba oracle_config. Es posible que deba seleccionar la línea Crear "Job Tag" situada justo debajo de oracle_config para introducir la etiqueta de trabajo.

  16. Haga clic en Siguiente y luego en Iniciar para iniciar el trabajo.

  17. Seleccione Ver → trabajos para supervisar la salida y el progreso del trabajo.

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

La parte Oracle del playbook crea una única base de datos de contenedor Oracle en un servidor Oracle por ejecución. Para crear bases de datos de contenedores adicionales en el mismo servidor, lleve a cabo los siguientes pasos.

  1. Revisar las variables host_var.

    1. Vuelva al paso 2: Configure Oracle host_var.

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

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

    4. Si está instalando EM Express, cambie el puerto de EM Express a un número diferente.

    5. Copie y pegue las variables de host revisadas en el campo variables de host de Oracle de la pestaña Detalles de configuración de host.

  2. Inicie la plantilla de trabajo de implementación con sólo la etiqueta oracle_config.

  3. Conéctese a Oracle Server como usuario oracle y ejecute los siguientes comandos:

    ps -ef | grep ora
    Nota Se enumerarán los procesos de oracle si la instalación se ha completado como se esperaba y oracle DB ha iniciado
  4. Inicie sesión en la base de datos para comprobar los valores de configuración de la base de datos y las PDB creadas 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 funciona correctamente.

  5. Conéctese a la base de datos a través del listener para comprobar la configuración del listener de Oracle con el siguiente comando. Cambie al puerto de listener y el nombre de 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 listener de Oracle funciona correctamente.

¿Dónde obtener ayuda?

Si necesita ayuda con el kit de herramientas, por favor únase al "La comunidad de automatización de soluciones de NetApp admite el canal de Slack" y busque el canal de automatización de soluciones para publicar sus preguntas o preguntas.