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.

TR-4965: Implementación y protección de bases de datos Oracle en AWS FSx/EC2 con iSCSI/ASM

Colaboradores kevin-hoke

Allen Cao, Niyaz Mohamed, NetApp

Esta solución proporciona una descripción general y detalles para la implementación y protección de la base de datos Oracle en el almacenamiento AWS FSx ONTAP y la instancia de cómputo EC2 con protocolo iSCSI y la base de datos Oracle configurada en ReStart independiente usando asm como administrador de volumen.

Objetivo

ASM (Automatic Storage Management) es un popular administrador de volúmenes de almacenamiento de Oracle que se emplea en muchas instalaciones de Oracle. También es la solución de gestión de almacenamiento recomendada por Oracle. Proporciona una alternativa a los administradores de volúmenes y sistemas de archivos convencionales. Desde la versión 11g de Oracle, ASM viene empaquetado con una infraestructura de red en lugar de una base de datos. Como resultado, para utilizar Oracle ASM para la gestión de almacenamiento sin RAC, debe instalar la infraestructura de red de Oracle en un servidor independiente, también conocido como Oracle Restart. Hacerlo sin duda agrega más complejidad a la implementación de la base de datos Oracle. Sin embargo, como su nombre lo indica, cuando Oracle se implementa en modo de reinicio, los servicios de Oracle fallidos se reinician automáticamente mediante la infraestructura de la red o después de un reinicio del host sin intervención del usuario, lo que proporciona un cierto grado de alta disponibilidad o funcionalidad de alta disponibilidad.

En esta documentación, demostramos cómo implementar una base de datos Oracle con el protocolo iSCSI y Oracle ASM en un entorno de almacenamiento de Amazon FSx ONTAP con instancias de cómputo EC2. También demostramos cómo utilizar el servicio NetApp SnapCenter a través de la consola NetApp BlueXP para realizar copias de seguridad, restaurar y clonar su base de datos Oracle para desarrollo/prueba u otros casos de uso para la operación de base de datos con uso eficiente del almacenamiento en la nube pública de AWS.

Esta solución aborda los siguientes casos de uso:

  • Implementación de bases de datos de Oracle en el almacenamiento Amazon FSx ONTAP e instancias de cómputo EC2 con iSCSI/ASM

  • Prueba y validación de una carga de trabajo de Oracle en la nube pública de AWS con iSCSI/ASM

  • Prueba y validación de las funcionalidades de reinicio de la base de datos Oracle implementadas en AWS

Audiencia

Esta solución está destinada a las siguientes personas:

  • Un administrador de bases de datos que desee implementar Oracle en una nube pública de AWS con iSCSI/ASM.

  • Un arquitecto de soluciones de bases de datos que desea probar las cargas de trabajo de Oracle en la nube pública de AWS.

  • El administrador de almacenamiento que desee implementar y administrar una base de datos Oracle implementada en el almacenamiento de AWS FSx.

  • El propietario de la aplicación que desea crear una base de datos Oracle en AWS FSx/EC2.

Entorno de prueba y validación de soluciones

La prueba y validación de esta solución se realizó en un entorno AWS FSx y EC2 que podría no coincidir con el entorno de implementación final. Para más información, consulte la sección Factores clave a considerar en la implementación .

Arquitectura

Esta imagen proporciona una imagen detallada de la configuración de implementación de Oracle en la nube pública de AWS con iSCSI y ASM.

Componentes de hardware y software

Hardware

Almacenamiento de FSx ONTAP

Versión actual ofrecida por AWS

Un clúster FSx HA en la misma VPC y zona de disponibilidad

Instancia EC2 para computación

t2.xlarge/4vCPU/16G

Dos instancias EC2 T2 xlarge, una como servidor de base de datos principal y la otra como servidor de base de datos clonado

Software

Red Hat Linux

RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2

Se implementó una suscripción a RedHat para realizar pruebas

Infraestructura de red de Oracle

Versión 19.18

Parche RU aplicado p34762026_190000_Linux-x86-64.zip

Base de datos Oracle

Versión 19.18

Parche RU aplicado p34765931_190000_Linux-x86-64.zip

Oracle OPatch

Versión 12.2.0.1.36

Último parche p6880880_190000_Linux-x86-64.zip

Servicio SnapCenter

Versión

v2.3.1.2324

Factores clave a considerar en la implementación

  • Instancias de cómputo EC2. En estas pruebas y validaciones, utilizamos un tipo de instancia AWS EC2 t2.xlarge para la instancia de cómputo de la base de datos Oracle. NetApp recomienda utilizar una instancia EC2 de tipo M5 como instancia de cómputo para Oracle en una implementación de producción porque está optimizada para cargas de trabajo de bases de datos. Debe dimensionar la instancia EC2 adecuadamente para la cantidad de vCPU y la cantidad de RAM en función de los requisitos de carga de trabajo reales.

  • Implementación de clústeres de alta disponibilidad de almacenamiento FSx en una o varias zonas. En estas pruebas y validaciones, implementamos un clúster FSx HA en una única zona de disponibilidad de AWS. Para la implementación de producción, NetApp recomienda implementar un par FSx HA en dos zonas de disponibilidad diferentes. Un clúster FSx HA siempre se aprovisiona en un par de HA que se refleja sincronizado en un par de sistemas de archivos activos-pasivos para proporcionar redundancia a nivel de almacenamiento. La implementación de múltiples zonas mejora aún más la alta disponibilidad en caso de falla en una sola zona de AWS.

  • Tamaño del clúster de almacenamiento FSx. Un sistema de archivos de almacenamiento Amazon FSx ONTAP proporciona hasta 160 000 IOPS SSD sin procesar, un rendimiento de hasta 4 GBps y una capacidad máxima de 192 TiB. Sin embargo, puede dimensionar el clúster en términos de IOPS aprovisionados, rendimiento y límite de almacenamiento (mínimo 1024 GiB) según sus requisitos reales al momento de la implementación. La capacidad se puede ajustar dinámicamente sobre la marcha sin afectar la disponibilidad de la aplicación.

  • Diseño de datos y registros de Oracle. En nuestras pruebas y validaciones, implementamos dos grupos de discos ASM para datos y registros respectivamente. Dentro del grupo de discos asm +DATA, aprovisionamos cuatro LUN en un volumen de datos. Dentro del grupo de discos asm +LOGS, aprovisionamos dos LUN en un volumen de registros. En general, varios LUN distribuidos dentro de un volumen de Amazon FSx ONTAP proporcionan un mejor rendimiento.

  • Configuración iSCSI. El servidor de base de datos de la instancia EC2 se conecta al almacenamiento FSx con el protocolo iSCSI. Las instancias EC2 generalmente se implementan con una única interfaz de red o ENI. La única interfaz NIC transporta tráfico iSCSI y de aplicaciones. Es importante evaluar el requisito de rendimiento máximo de E/S de la base de datos Oracle analizando cuidadosamente el informe Oracle AWR para elegir una instancia de cómputo EC2 adecuada que cumpla con los requisitos de rendimiento de tráfico de la aplicación y iSCSI. NetApp también recomienda asignar cuatro conexiones iSCSI a ambos puntos finales iSCSI FSx con rutas múltiples configuradas correctamente.

  • Nivel de redundancia de Oracle ASM que se utilizará para cada grupo de discos de Oracle ASM que cree. Debido a que FSx ya refleja el almacenamiento en el nivel de clúster FSx, debe usar redundancia externa, lo que significa que la opción no permite que Oracle ASM refleje el contenido del grupo de discos.

  • Copia de seguridad de la base de datos. NetApp ofrece una versión SaaS del servicio de SnapCenter software para realizar copias de seguridad, restaurar y clonar bases de datos en la nube que está disponible a través de la interfaz de usuario de la consola NetApp BlueXP . NetApp recomienda implementar un servicio de este tipo para lograr una copia de seguridad rápida (menos de un minuto), una restauración rápida (en pocos minutos) de la base de datos y una clonación de la base de datos.

Implementación de la solución

La siguiente sección proporciona procedimientos de implementación paso a paso.

Requisitos previos para la implementación

Details

La implementación requiere los siguientes requisitos previos.

  1. Se ha configurado una cuenta de AWS y se han creado los segmentos de red y VPC necesarios dentro de su cuenta de AWS.

  2. Desde la consola de AWS EC2, debe implementar dos instancias de EC2 Linux: una como servidor de base de datos Oracle principal y un servidor de base de datos de destino de clonación alternativo opcional. Consulte el diagrama de arquitectura en la sección anterior para obtener más detalles sobre la configuración del entorno. Revise también el"Guía del usuario para instancias de Linux" Para más información.

  3. Desde la consola de AWS EC2, implemente clústeres de alta disponibilidad de almacenamiento de Amazon FSx ONTAP para alojar los volúmenes de base de datos de Oracle. Si no está familiarizado con la implementación del almacenamiento de FSx, consulte la documentación"Creación de sistemas de archivos FSx ONTAP" para obtener instrucciones paso a paso.

  4. Los pasos 2 y 3 se pueden realizar utilizando el siguiente kit de herramientas de automatización de Terraform, que crea una instancia EC2 denominada ora_01 y un sistema de archivos FSx llamado fsx_01 . Revise las instrucciones cuidadosamente y cambie las variables para adaptarlas a su entorno antes de la ejecución.

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
Nota Asegúrese de haber asignado al menos 50G en el volumen raíz de la instancia EC2 para tener suficiente espacio para almacenar los archivos de instalación de Oracle.

Configuración del kernel de la instancia EC2

Details

Con los requisitos previos aprovisionados, inicie sesión en la instancia EC2 como ec2-user y use sudo como usuario root para configurar el kernel de Linux para la instalación de Oracle.

  1. Crear un directorio de ensayo /tmp/archive carpeta y configurar el 777 permiso.

    mkdir /tmp/archive
    
    chmod 777 /tmp/archive
  2. Descargue y prepare los archivos de instalación binaria de Oracle y otros archivos rpm necesarios en /tmp/archive directorio.

    Consulte la siguiente lista de archivos de instalación que se indicarán en /tmp/archive en la instancia EC2.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /tmp/archive
    total 10537316
    -rw-rw-r--. 1 ec2-user ec2-user      19112 Mar 21 15:57 compat-libcap1-1.10-7.el7.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 3059705302 Mar 21 22:01 LINUX.X64_193000_db_home.zip
    -rw-rw-r--  1 ec2-user ec2-user 2889184573 Mar 21 21:09 LINUX.X64_193000_grid_home.zip
    -rw-rw-r--. 1 ec2-user ec2-user     589145 Mar 21 15:56 netapp_linux_unified_host_utilities-7-1.x86_64.rpm
    -rw-rw-r--. 1 ec2-user ec2-user      31828 Mar 21 15:55 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
    -rw-rw-r--  1 ec2-user ec2-user 2872741741 Mar 21 22:31 p34762026_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user 1843577895 Mar 21 22:32 p34765931_190000_Linux-x86-64.zip
    -rw-rw-r--  1 ec2-user ec2-user  124347218 Mar 21 22:33 p6880880_190000_Linux-x86-64.zip
    -rw-r--r--  1 ec2-user ec2-user     257136 Mar 22 16:25 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  3. Instale el RPM de preinstalación de Oracle 19c, que satisface la mayoría de los requisitos de configuración del kernel.

    yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
  4. Descargue e instale el programa faltante compat-libcap1 en Linux 8.

    yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
  5. Desde NetApp, descargue e instale las utilidades de host de NetApp .

    yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
  6. Instalar policycoreutils-python-utils , que no está disponible en la instancia EC2.

    yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  7. Instalar Open JDK versión 1.8.

    yum install java-1.8.0-openjdk.x86_64
  8. Instalar utilidades de iniciador iSCSI.

    yum install iscsi-initiator-utils
  9. Instalar sg3_utils .

    yum install sg3_utils
  10. Instalar device-mapper-multipath .

    yum install device-mapper-multipath
  11. Deshabilitar páginas enormes transparentes en el sistema actual.

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag

    Añade las siguientes líneas en /etc/rc.local para deshabilitar transparent_hugepage después de reiniciar:

      # Disable transparent hugepages
              if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
                echo never > /sys/kernel/mm/transparent_hugepage/enabled
              fi
              if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
                echo never > /sys/kernel/mm/transparent_hugepage/defrag
              fi
  12. Deshabilite selinux cambiando SELINUX=enforcing a SELINUX=disabled . Debe reiniciar el host para que el cambio sea efectivo.

    vi /etc/sysconfig/selinux
  13. Añade las siguientes líneas a limit.conf Para establecer el límite del descriptor de archivo y el tamaño de la pila sin comillas " " .

    vi /etc/security/limits.conf
      "*               hard    nofile          65536"
      "*               soft    stack           10240"
  14. Agregue espacio de intercambio a la instancia EC2 siguiendo esta instrucción:"¿Cómo asigno memoria para que funcione como espacio de intercambio en una instancia de Amazon EC2 mediante un archivo de intercambio?" La cantidad exacta de espacio a agregar depende del tamaño de la RAM hasta 16G.

  15. Cambiar node.session.timeo.replacement_timeout en el iscsi.conf archivo de configuración de 120 a 5 segundos.

    vi /etc/iscsi/iscsid.conf
  16. Habilite e inicie el servicio iSCSI en la instancia EC2.

    systemctl enable iscsid
    systemctl start iscsid
  17. Recupere la dirección del iniciador iSCSI que se utilizará para la asignación de LUN de la base de datos.

    cat /etc/iscsi/initiatorname.iscsi
  18. Agregue el grupo ASM que se utilizará para el grupo asm sysasm.

    groupadd asm
  19. Modifique el usuario de Oracle para agregar ASM como un grupo secundario (el usuario de Oracle debería haberse creado después de la instalación de RPM de preinstalación de Oracle).

    usermod -a -G asm oracle
  20. Detenga y deshabilite el firewall de Linux si está activo.

    systemctl stop firewalld
    systemctl disable firewalld
  21. Reinicie la instancia EC2.

Aprovisionar y asignar volúmenes de base de datos y LUN al host de instancia EC2

Details

Aprovisione tres volúmenes desde la línea de comandos iniciando sesión en el clúster FSx a través de ssh como usuario fsxadmin con la IP de administración del clúster FSx para alojar los archivos binarios, de datos y de registros de la base de datos Oracle.

  1. Inicie sesión en el clúster FSx a través de SSH como el usuario fsxadmin.

    ssh fsxadmin@172.30.15.53
  2. Ejecute el siguiente comando para crear un volumen para el binario de Oracle.

    vol create -volume ora_01_biny -aggregate aggr1 -size 50G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  3. Ejecute el siguiente comando para crear un volumen para datos de Oracle.

    vol create -volume ora_01_data -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  4. Ejecute el siguiente comando para crear un volumen para los registros de Oracle.

    vol create -volume ora_01_logs -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  5. Cree un LUN binario dentro del volumen binario de la base de datos.

    lun create -path /vol/ora_01_biny/ora_01_biny_01 -size 40G -ostype linux
  6. Crear LUN de datos dentro del volumen de datos de la base de datos.

    lun create -path /vol/ora_01_data/ora_01_data_01 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_02 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_03 -size 20G -ostype linux
    
    lun create -path /vol/ora_01_data/ora_01_data_04 -size 20G -ostype linux
  7. Cree LUN de registro dentro del volumen de registros de la base de datos.

    lun create -path /vol/ora_01_logs/ora_01_logs_01 -size 40G -ostype linux
    
    lun create -path /vol/ora_01_logs/ora_01_logs_02 -size 40G -ostype linux
  8. Cree un igroup para la instancia EC2 con el iniciador recuperado del paso 14 de la configuración del kernel EC2 anterior.

    igroup create -igroup ora_01 -protocol iscsi -ostype linux -initiator iqn.1994-05.com.redhat:f65fed7641c2
  9. Asigne los LUN al igroup creado anteriormente. Incremente el ID de LUN secuencialmente para cada LUN adicional dentro de un volumen.

    lun map -path /vol/ora_01_biny/ora_01_biny_01 -igroup ora_01 -vserver svm_ora -lun-id 0
    lun map -path /vol/ora_01_data/ora_01_data_01 -igroup ora_01 -vserver svm_ora -lun-id 1
    lun map -path /vol/ora_01_data/ora_01_data_02 -igroup ora_01 -vserver svm_ora -lun-id 2
    lun map -path /vol/ora_01_data/ora_01_data_03 -igroup ora_01 -vserver svm_ora -lun-id 3
    lun map -path /vol/ora_01_data/ora_01_data_04 -igroup ora_01 -vserver svm_ora -lun-id 4
    lun map -path /vol/ora_01_logs/ora_01_logs_01 -igroup ora_01 -vserver svm_ora -lun-id 5
    lun map -path /vol/ora_01_logs/ora_01_logs_02 -igroup ora_01 -vserver svm_ora -lun-id 6
  10. Validar la asignación de LUN.

    mapping show

    Se espera que esto regrese:

    FsxId02ad7bf3476b741df::> mapping show
      (lun mapping show)
    Vserver    Path                                      Igroup   LUN ID  Protocol
    ---------- ----------------------------------------  -------  ------  --------
    svm_ora    /vol/ora_01_biny/ora_01_biny_01           ora_01        0  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_01           ora_01        1  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_02           ora_01        2  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_03           ora_01        3  iscsi
    svm_ora    /vol/ora_01_data/ora_01_data_04           ora_01        4  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_01           ora_01        5  iscsi
    svm_ora    /vol/ora_01_logs/ora_01_logs_02           ora_01        6  iscsi

Configuración de almacenamiento de la base de datos

Details

Ahora, importe y configure el almacenamiento FSx para la infraestructura de la red Oracle y la instalación de la base de datos en el host de la instancia EC2.

  1. Inicie sesión en la instancia EC2 a través de SSH como ec2-user con su clave SSH y la dirección IP de la instancia EC2.

    ssh -i ora_01.pem ec2-user@172.30.15.58
  2. Descubra los puntos finales iSCSI de FSx utilizando cualquier dirección IP iSCSI de SVM. A continuación, cambie a la dirección del portal específico de su entorno.

    sudo iscsiadm iscsiadm --mode discovery --op update --type sendtargets --portal 172.30.15.51
  3. Establezca sesiones iSCSI iniciando sesión en cada destino.

    sudo iscsiadm --mode node -l all

    El resultado esperado del comando es:

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode node -l all
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260]
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260]
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.51,3260] successful.
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 172.30.15.13,3260] successful.
  4. Ver y validar una lista de sesiones iSCSI activas.

    sudo iscsiadm --mode session

    Devolver las sesiones iSCSI.

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode session
    tcp: [1] 172.30.15.51:3260,1028 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
    tcp: [2] 172.30.15.13:3260,1029 iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3 (non-flash)
  5. Verifique que los LUN se hayan importado al host.

    sudo sanlun lun show

    Esto devolverá una lista de LUN de Oracle de FSx.

    [ec2-user@ip-172-30-15-58 ~]$ sudo sanlun lun show
    controller(7mode/E-Series)/                                   device          host                  lun
    vserver(cDOT/FlashRay)        lun-pathname                    filename        adapter    protocol   size    product
    
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdn        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdm        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdk        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sdl        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdi        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdj        host3      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sdh        host3      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_02 /dev/sdg        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_logs/ora_01_logs_01 /dev/sdf        host2      iSCSI      40g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_04 /dev/sde        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_02 /dev/sdc        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_03 /dev/sdd        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_data/ora_01_data_01 /dev/sdb        host2      iSCSI      20g     cDOT
    svm_ora                       /vol/ora_01_biny/ora_01_biny_01 /dev/sda        host2      iSCSI      40g     cDOT
  6. Configurar el multipath.conf archivo con las siguientes entradas predeterminadas y de lista negra.

    sudo vi /etc/multipath.conf
    
    defaults {
        find_multipaths yes
        user_friendly_names yes
    }
    
    blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
    }
  7. Inicie el servicio multiruta.

    sudo systemctl start multipathd

    Ahora aparecen dispositivos multitrayecto en el /dev/mapper directorio.

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e68512d -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685141 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685142 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685143 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685144 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685145 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685146 -> ../dm-6
    crw------- 1 root root 10, 236 Mar 21 18:19 control
  8. Inicie sesión en el clúster FSx como usuario fsxadmin a través de SSH para recuperar el número de serie hexadecimal de cada LUN que comienza con 6c574xxx…​, el número HEX comienza con 3600a0980, que es el ID del proveedor de AWS.

    lun show -fields serial-hex

    y regresar de la siguiente manera:

    FsxId02ad7bf3476b741df::> lun show -fields serial-hex
    vserver path                            serial-hex
    ------- ------------------------------- ------------------------
    svm_ora /vol/ora_01_biny/ora_01_biny_01 6c574235472455534e68512d
    svm_ora /vol/ora_01_data/ora_01_data_01 6c574235472455534e685141
    svm_ora /vol/ora_01_data/ora_01_data_02 6c574235472455534e685142
    svm_ora /vol/ora_01_data/ora_01_data_03 6c574235472455534e685143
    svm_ora /vol/ora_01_data/ora_01_data_04 6c574235472455534e685144
    svm_ora /vol/ora_01_logs/ora_01_logs_01 6c574235472455534e685145
    svm_ora /vol/ora_01_logs/ora_01_logs_02 6c574235472455534e685146
    7 entries were displayed.
  9. Actualizar el /dev/multipath.conf archivo para agregar un nombre fácil de usar para el dispositivo multirruta.

    sudo vi /etc/multipath.conf

    con las siguientes entradas:

    multipaths {
            multipath {
                    wwid            3600a09806c574235472455534e68512d
                    alias           ora_01_biny_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685141
                    alias           ora_01_data_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685142
                    alias           ora_01_data_02
            }
            multipath {
                    wwid            3600a09806c574235472455534e685143
                    alias           ora_01_data_03
            }
            multipath {
                    wwid            3600a09806c574235472455534e685144
                    alias           ora_01_data_04
            }
            multipath {
                    wwid            3600a09806c574235472455534e685145
                    alias           ora_01_logs_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685146
                    alias           ora_01_logs_02
            }
    }
  10. Reinicie el servicio multiruta para verificar que los dispositivos bajo /dev/mapper Han cambiado a nombres LUN en lugar de identificadores hexadecimales en serie.

    sudo systemctl restart multipathd

    Controlar /dev/mapper Para volver de la siguiente manera:

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    crw------- 1 root root 10, 236 Mar 21 18:19 control
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_biny_01 -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_01 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_02 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_03 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_data_04 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_01 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_01_logs_02 -> ../dm-6
  11. Particionar el LUN binario con una única partición primaria.

    sudo fdisk /dev/mapper/ora_01_biny_01
  12. Formatee el LUN binario particionado con un sistema de archivos XFS.

    sudo mkfs.xfs /dev/mapper/ora_01_biny_01p1
  13. Montar el LUN binario en /u01 .

    sudo mount -t xfs /dev/mapper/ora_01_biny_01p1 /u01
  14. Cambiar /u01 propiedad del punto de montaje al usuario de Oracle y su grupo primario asociado.

    sudo chown oracle:oinstall /u01
  15. Encuentre la UUI del LUN binario.

    sudo blkid /dev/mapper/ora_01_biny_01p1
  16. Agregar un punto de montaje a /etc/fstab .

    sudo vi /etc/fstab

    Añade la siguiente línea.

    UUID=d89fb1c9-4f89-4de4-b4d9-17754036d11d       /u01    xfs     defaults,nofail 0       2
    Nota Es importante montar el binario solo con el UUID y con la opción nofail para evitar posibles problemas de bloqueo de raíz durante el reinicio de la instancia EC2.
  17. Como usuario root, agregue la regla udev para los dispositivos Oracle.

    vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    Incluya las siguientes entradas:

    ENV{DM_NAME}=="ora*", GROUP:="oinstall", OWNER:="oracle", MODE:="660"
  18. Como usuario root, vuelva a cargar las reglas udev.

    udevadm control --reload-rules
  19. Como usuario root, active las reglas udev.

    udevadm trigger
  20. Como usuario root, recargue multipathd.

    systemctl restart multipathd
  21. Reinicie el host de la instancia EC2.

Instalación de infraestructura de red de Oracle

Details
  1. Inicie sesión en la instancia EC2 como usuario ec2 a través de SSH y habilite la autenticación de contraseña descomentando PasswordAuthentication yes y luego comentar PasswordAuthentication no .

    sudo vi /etc/ssh/sshd_config
  2. Reinicie el servicio sshd.

    sudo systemctl restart sshd
  3. Restablecer la contraseña del usuario de Oracle.

    sudo passwd oracle
  4. Inicie sesión como usuario propietario del software Oracle Restart (oracle). Cree un directorio de Oracle de la siguiente manera:

    mkdir -p /u01/app/oracle
    mkdir -p /u01/app/oraInventory
  5. Cambiar la configuración de permisos del directorio.

    chmod -R 775 /u01/app
  6. Cree un directorio de inicio de cuadrícula y cámbiese a él.

    mkdir -p /u01/app/oracle/product/19.0.0/grid
    cd /u01/app/oracle/product/19.0.0/grid
  7. Descomprima los archivos de instalación de la cuadrícula.

    unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
  8. Desde la página de inicio de la red, elimine el OPatch directorio.

    rm -rf OPatch
  9. Desde la red de inicio, descomprima p6880880_190000_Linux-x86-64.zip .

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  10. Desde la red de casa, revise cv/admin/cvu_config , descomentar y reemplazar CV_ASSUME_DISTID=OEL5 con CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  11. Actualizar una gridsetup.rsp Archivo para instalación silenciosa y coloque el archivo rsp en el /tmp/archive directorio. El archivo rsp debe cubrir las secciones A, B y G con la siguiente información:

    INVENTORY_LOCATION=/u01/app/oraInventory
    oracle.install.option=HA_CONFIG
    ORACLE_BASE=/u01/app/oracle
    oracle.install.asm.OSDBA=dba
    oracle.install.asm.OSOPER=oper
    oracle.install.asm.OSASM=asm
    oracle.install.asm.SYSASMPassword="SetPWD"
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=EXTERNAL
    oracle.install.asm.diskGroup.AUSize=4
    oracle.install.asm.diskGroup.disks=/dev/mapper/ora_01_data_01,/dev/mapper/ora_01_data_02,/dev/mapper/ora_01_data_03,/dev/mapper/ora_01_data_04
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/mapper/*
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=true
  12. Inicie sesión en la instancia EC2 como usuario raíz y configure ORACLE_HOME y ORACLE_BASE .

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    export ORACLE_BASE=/tmp
    cd /u01/app/oracle/product/19.0.0/grid/bin
  13. Aprovisione dispositivos de disco para su uso con el controlador de filtro Oracle ASM.

     ./asmcmd afd_label DATA01 /dev/mapper/ora_01_data_01 --init
    
     ./asmcmd afd_label DATA02 /dev/mapper/ora_01_data_02 --init
    
     ./asmcmd afd_label DATA03 /dev/mapper/ora_01_data_03 --init
    
     ./asmcmd afd_label DATA04 /dev/mapper/ora_01_data_04 --init
    
     ./asmcmd afd_label LOGS01 /dev/mapper/ora_01_logs_01 --init
    
     ./asmcmd afd_label LOGS02 /dev/mapper/ora_01_logs_02 --init
  14. Instalar cvuqdisk-1.0.10-1.rpm .

    rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
  15. Desactivado $ORACLE_BASE .

    unset ORACLE_BASE
  16. Inicie sesión en la instancia EC2 como usuario de Oracle y extraiga el parche en el /tmp/archive carpeta.

    unzip /tmp/archive/p34762026_190000_Linux-x86-64.zip -d /tmp/archive
  17. Desde la página de inicio de la red /u01/app/oracle/product/19.0.0/grid y como usuario de Oracle, inicie gridSetup.sh para la instalación de infraestructura de red.

     ./gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp

    Ignore las advertencias sobre grupos incorrectos para la infraestructura de la red. Estamos utilizando un único usuario de Oracle para administrar Oracle Restart, por lo que esto es lo esperado.

  18. Como usuario root, ejecute los siguientes scripts:

    /u01/app/oraInventory/orainstRoot.sh
    
    /u01/app/oracle/product/19.0.0/grid/root.sh
  19. Como usuario root, recargue multipathd.

    systemctl restart multipathd
  20. Como usuario de Oracle, ejecute el siguiente comando para completar la configuración:

    /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
  21. Como usuario de Oracle, desde $GRID_HOME, cree el grupo de discos LOGS.

    bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk 'AFD:LOGS*' -redundancy EXTERNAL -au_size 4
  22. Como usuario de Oracle, valide los servicios de la red después de la configuración de la instalación.

    bin/crsctl stat res -t
    +
    Name                Target  State        Server                   State details
    Local Resources
    ora.DATA.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr   ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg         ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm             ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons             OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    Cluster Resources
    ora.cssd            ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.diskmon         OFFLINE OFFLINE                               STABLE
    ora.driver.afd      ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.evmd            ONLINE  ONLINE       ip-172-30-15-58          STABLE
  23. Valiar el estado del controlador del filtro ASM.

    [oracle@ip-172-30-15-58 grid]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    [oracle@ip-172-30-15-58 grid]$ export ORACLE_SID=+ASM
    [oracle@ip-172-30-15-58 grid]$ export PATH=$PATH:$ORACLE_HOME/bin
    [oracle@ip-172-30-15-58 grid]$ asmcmd
    ASMCMD> lsdg
    State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  EXTERN  N         512             512   4096  1048576     81920    81847                0           81847              0             N  DATA/
    MOUNTED  EXTERN  N         512             512   4096  1048576     81920    81853                0           81853              0             N  LOGS/
    ASMCMD> afd_state
    ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'ip-172-30-15-58.ec2.internal'

Instalación de la base de datos Oracle

Details
  1. Inicie sesión como usuario de Oracle y desactive la configuración. $ORACLE_HOME y $ORACLE_SID Si está configurado.

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Cree el directorio de inicio de Oracle DB y cámbiese a él.

    mkdir /u01/app/oracle/product/19.0.0/db1
    cd /u01/app/oracle/product/19.0.0/db1
  3. Descomprima los archivos de instalación de Oracle DB.

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. Desde la página de inicio de la base de datos, elimine el OPatch directorio.

    rm -rf OPatch
  5. Desde la página de inicio de la base de datos, descomprima p6880880_190000_Linux-x86-64.zip .

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  6. Desde la base de datos de inicio, revise cv/admin/cvu_config , y descomentar y reemplazar CV_ASSUME_DISTID=OEL5 con CV_ASSUME_DISTID=OL7 .

    vi cv/admin/cvu_config
  7. Desde /tmp/archive directorio, descomprima el parche DB 19.18 RU.

    unzip p34765931_190000_Linux-x86-64.zip
  8. Actualice el archivo rsp estándar de instalación silenciosa de la base de datos en /tmp/archive/dbinstall.rsp directorio con los siguientes valores en las secciones relevantes:

    oracle.install.option=INSTALL_DB_SWONLY
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.OSDBA_GROUP=dba
    oracle.install.db.OSOPER_GROUP=oper
    oracle.install.db.OSBACKUPDBA_GROUP=oper
    oracle.install.db.OSDGDBA_GROUP=dba
    oracle.install.db.OSKMDBA_GROUP=dba
    oracle.install.db.OSRACDBA_GROUP=dba
    oracle.install.db.rootconfig.executeRootScript=false
  9. Desde db1 home /u01/app/oracle/product/19.0.0/db1, ejecute una instalación de base de datos silenciosa (solo software).

     ./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
  10. Como usuario root, ejecute el root.sh Script después de la instalación únicamente del software.

    /u01/app/oracle/product/19.0.0/db1/root.sh
  11. Como usuario de Oracle, actualice el estándar dbca.rsp archivo con las siguientes entradas en las secciones correspondientes:

    gdbName=db1.demo.netapp.com
    sid=db1
    createAsContainerDatabase=true
    numberOfPDBs=3
    pdbName=db1_pdb
    useLocalUndoForPDBs=true
    pdbAdminPassword="yourPWD"
    templateName=General_Purpose.dbc
    sysPassword="yourPWD"
    systemPassword="yourPWD"
    dbsnmpPassword="yourPWD"
    datafileDestination=+DATA
    recoveryAreaDestination=+LOGS
    storageType=ASM
    diskGroupName=DATA
    characterSet=AL32UTF8
    nationalCharacterSet=AL16UTF16
    listeners=LISTENER
    databaseType=MULTIPURPOSE
    automaticMemoryManagement=false
    totalMemory=8192
  12. Como usuario de Oracle, desde el directorio $ORACLE_HOME, inicie la creación de la base de datos con dbca.

    bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp
    
    output:
    Prepare for db operation
    7% complete
    Registering database with Oracle Restart
    11% complete
    Copying database files
    33% complete
    Creating and starting Oracle instance
    35% complete
    38% complete
    42% complete
    45% complete
    48% complete
    Completing Database Creation
    53% complete
    55% complete
    56% complete
    Creating Pluggable Databases
    60% complete
    64% complete
    69% complete
    78% complete
    Executing Post Configuration Actions
    100% complete
    Database creation complete. For details check the logfiles at:
     /u01/app/oracle/cfgtoollogs/dbca/db1.
    Database Information:
    Global Database Name:db1.demo.netapp.com
    System Identifier(SID):db1
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1/db1.log" for further details.
  13. Como usuario de Oracle, valide los servicios de reinicio de Oracle HA después de la creación de la base de datos.

    [oracle@ip-172-30-15-58 db1]$ ../grid/bin/crsctl stat res -t
    
    Name           	Target  State        Server                   State details
    
    Local Resources
    
    ora.DATA.dg		ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LISTENER.lsnr	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.LOGS.dg		ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.asm		ONLINE  ONLINE       ip-172-30-15-58          Started,STABLE
    ora.ons		OFFLINE OFFLINE      ip-172-30-15-58          STABLE
    
    Cluster Resources
    
    ora.cssd        	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.db1.db		ONLINE  ONLINE       ip-172-30-15-58          Open,HOME=/u01/app/oracle/product/19.0.0/db1,STABLE
    ora.diskmon		OFFLINE OFFLINE                               STABLE
    ora.driver.afd	ONLINE  ONLINE       ip-172-30-15-58          STABLE
    ora.evmd		ONLINE  ONLINE       ip-172-30-15-58          STABLE
  14. Establecer el usuario de Oracle .bash_profile .

    vi ~/.bash_profile
  15. Añade las siguientes entradas:

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    export ORACLE_SID=db1
    export PATH=$PATH:$ORACLE_HOME/bin
    alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
  16. Validar la CDB/PDB creada.

    source /home/oracle/.bash_profile
    
    sqlplus / as sysdba
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    
    DB1       READ WRITE
    
    SQL> select name from v$datafile;
    
    NAME
    
    +DATA/DB1/DATAFILE/system.256.1132176177
    +DATA/DB1/DATAFILE/sysaux.257.1132176221
    +DATA/DB1/DATAFILE/undotbs1.258.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1132177009
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1132177009
    +DATA/DB1/DATAFILE/users.259.1132176247
    +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1132177009
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/system.271.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/sysaux.272.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/undotbs1.270.1132177853
    +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/users.274.1132177871
    
    NAME
    
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/system.276.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/sysaux.277.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/undotbs1.275.1132177871
    +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/users.279.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/system.281.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/sysaux.282.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/undotbs1.280.1132177889
    +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/users.284.1132177907
    
    19 rows selected.
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    
             2 PDB$SEED                       READ ONLY  NO
             3 DB1_PDB1                       READ WRITE NO
             4 DB1_PDB2                       READ WRITE NO
             5 DB1_PDB3                       READ WRITE NO
    SQL>
  17. Establezca el tamaño del destino de recuperación de la base de datos en el tamaño del grupo de discos +LOGS.

    alter system set db_recovery_file_dest_size = 80G scope=both;
  18. Inicie sesión en la base de datos con sqlplus y habilite el modo de registro de archivo.

    sqlplus /as sysdba.
    
    shutdown immediate;
    
    startup mount;
    
    alter database archivelog;
    
    alter database open;

Esto completa la implementación de reinicio de Oracle 19c versión 19.18 en una instancia de cómputo de Amazon FSx ONTAP y EC2. Si lo desea, NetApp recomienda reubicar el archivo de control de Oracle y los archivos de registro en línea en el grupo de discos +LOGS.

Opción de implementación automatizada

Copia de seguridad, restauración y clonación de bases de datos de Oracle con el servicio SnapCenter

Ver"Servicios de SnapCenter para Oracle" para obtener detalles sobre la copia de seguridad, restauración y clonación de bases de datos Oracle con la consola NetApp BlueXP .