Aplicación de parches y actualización manuales de un sistema Exadata Cloud at Customer

En este tema se describen los procedimientos para la aplicación de parches y la actualización de diversos componentes de Exadata Cloud at Customer al margen de la automatización en la nube. Para obtener información relacionada con la aplicación de parches y la actualización con dbaascli, consulte "Aplicación de parches en Oracle Database y Oracle Grid Infrastructure mediante dbaascli".

Nota

Para obtener más información sobre cómo lograr un servicio continuo durante las operaciones de aplicación de parches, consulte el documento técnico Application Checklist for Continuous Service for MAA Solutions.

Actualización manual del software

En el caso de los parches de Oracle Java VM, el horario de verano y algunos otros parches rutinarios o puntuales, puede que sea necesario aplicar estos parches en el software de forma manual.

Para aplicar los parches rutinarios del software de Oracle Database y Oracle Grid Infrastructure, Oracle recomienda utilizar las funciones que proporciona Oracle Exadata Cloud at Customer. Sin embargo, en algunas circunstancias, puede que sea necesario aplicar los parches en el software de Oracle Database o Oracle Grid Infrastructure de forma manual:
  • Aplicación de parches de Oracle Java Virtual Machine (OJVM): como no se pueden aplicar de manera sucesiva, los parches del componente OJVM de Oracle Database no se incluyen en los juegos de parches rutinarios de Exadata Cloud at Customer. Si necesita aplicar parches en el componente OJVM de Oracle Database, deberá hacerlo manualmente. Consulte My Oracle Support (ID de documento 1929745.1).
  • Aplicación de parches del horario de verano (DST): como no se pueden aplicar de manera sucesiva, los parches de las definiciones del DST de Oracle Database no se incluyen en los juegos de parches rutinarios de Exadata Cloud at Customer. Si necesita aplicar parches en las definiciones del DST de Oracle Database, deberá hacerlo manualmente. Consulte My Oracle Support (ID de documento 412160.1).
  • Parches no rutinarios o puntuales: si experimenta un problema que requiere un parche que no está incluido en ningún juego de parches rutinarios, trabaje con los Servicios de Soporte Oracle para identificar y aplicar el parche adecuado.

Para obtener información general sobre la aplicación de parches en Oracle Database, consulte la información relativa a su versión sobre las actualizaciones y los requisitos de los juegos de parches en la Guía de cambio de versión de Oracle Database.

Actualización manual del sistema operativo de la VM de invitado

Obtenga información sobre las herramientas y las técnicas estándar de Exadata que puede utilizar para actualizar los componentes del sistema operativo en las VM de invitado de Exadata Cloud at Customer.

Usted es responsable de gestionar los parches y las actualizaciones del entorno del sistema operativo en las máquinas virtuales (VM) del servidor de base de datos. Para obtener más información, consulte la sección sobre cómo actualizar los servidores de Exadata Database Machine en Oracle Exadata Database Machine Maintenance Guide.

Preparación para una actualización del sistema operativo

Para prepararse para una actualización del sistema operativo de Oracle Exadata Cloud at Customer, revise esta lista de comprobación de tareas.

Antes de actualizar el sistema operativo, lleve a cabo las siguientes tareas de preparación:

Determine la actualización de software más reciente. Antes de comenzar una actualización, para determinar el software más reciente que se debe utilizar, revise las versiones de software de Exadata Cloud Service en la nota 2333222.1 de My Oracle Support.

Actualización del sistema operativo en todas las máquinas virtuales de un sistema Oracle Exadata Cloud at Customer

Para actualizar el sistema operativo en las máquinas virtuales (VM) del servidor de base de datos, utilice la herramienta patchmgr.

Nota

Los clientes que no tengan el privilegio de descarga de parches de My Oracle Support pueden obtener la utilidad de actualización de patchmgr de Exadata y las versiones recientes del software del sistema de Exadata mediante la utilidad exadata_updates.sh de Exadata Cloud at Customer Gen 2. Para obtener más información, consulte el documento 2730739.1 de My Oracle Support.

La utilidad patchmgr gestiona la actualización completa de una o más máquinas virtuales de forma remota, incluidos los pasos previos de reinicio previo, reinicio y reinicio posterior de un sistema Oracle Exadata Cloud at Customer.

Puede ejecutar la utilidad desde una de sus máquinas virtuales de Oracle Exadata Cloud at Customer o desde otro servidor que ejecute Oracle Linux. El servidor en el que se ejecuta la utilidad se conoce como el sistema de control. No se puede usar el sistema de control para actualizarse a sí mismo. Por lo tanto, si el sistema de control es una de las máquinas virtuales de un cluster de VM que va a actualizar, deberá ejecutar la utilidad patchmgr más de una vez. En los siguientes escenarios, se describen formas habituales de realizar las actualizaciones:

  • Sistema de control que no es de Exadata

    La forma más sencilla de ejecutar la actualización del sistema es utilizar un servidor de Oracle Linux independiente para actualizar todas las máquinas virtuales en una sola operación.

  • Sistema de control de máquina virtual de Exadata

    Puede utilizar una máquina virtual para controlar las actualizaciones del resto de las máquinas virtuales del cluster de VM. A continuación, puede utilizar uno de los nodos actualizados para controlar la actualización en el sistema de control original. Por ejemplo, supongamos que desea actualizar un sistema de medio rack con cuatro máquinas virtuales: node1, node2, node3 y node4. Primero, podría utilizar node1 para controlar las actualizaciones de node2, node3 y node4. A continuación, podría utilizar node2 para controlar la actualización de node1.

El sistema de control requiere acceso SSH de usuario root a cada máquina virtual que se va a actualizar.

El siguiente procedimiento se basa en un ejemplo que asume lo siguiente:

  • El sistema tiene dos máquinas virtuales, node1 y node2.
  • La versión del software de Exadata de destino es 18.1.4.0.0.180125.3.
  • Cada uno de los nodos se utiliza como sistema de control para actualizar el otro nodo.
  1. Recopile los detalles del entorno.
    1. Mediante SSH, conéctese a node1 como usuario opc.

      Para obtener instrucciones detalladas, consulte Conexión a un nodo de recursos informáticos mediante SSH.

    2. Inicie un shell de comandos de usuario root.
      sudo su -
    3. Ejecute el siguiente comando para determinar la versión actual del software de Exadata.
      imageinfo -ver
      Por ejemplo:
      # imageinfo -ver 
      19.2.13.0.0.200428
    4. Cambie al usuario grid e identifique todos los nodos del cluster.
      su - grid
      olsnodes
      Por ejemplo:
      olsnodes
      node1
      node2
  2. Configure el sistema de control.
    1. Vuelva al usuario root en node1 y compruebe si existe un par de claves SSH (id_rsa y id_rsa.pub). De no ser así, genérelo.
      ls /root/.ssh/id_rsa*
      ls: cannot access /root/.ssh/id_rsa*: No such file or directory
      
      ssh-keygen -t rsa
      Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa):
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:
      Your identification has been saved in /root/.ssh/id_rsa.
      Your public key has been saved in /root/.ssh/id_rsa.pub.
      The key fingerprint is:
      93:47:b0:83:75:f2:3e:e6:23:b3:0a:06:ed:00:20:a5 root@node1.example.com
      The key's randomart image is:
      +--[ RSA 2048]----+
      |o..     + .      |
      |o.     o *       |
      |E     . o o      |
      | . .     =       |
      |  o .   S =      |
      |   +     = .     |
      |    +   o o      |
      |   . .   + .     |
      |      ...        |
      +-----------------+
    2. Distribuya la clave pública en los nodos de destino y verifique este paso. En el ejemplo, el único nodo de destino es node2.
      scp -i ~root/.ssh/id_rsa.pub opc@node2:/tmp/id_rsa.node1.pub
      ls -al /tmp/id_rsa.node1.pub
      -rw-r--r-- 1 opc opc 442 Feb 28 03:33 /tmp/id_rsa.node1.pub
      date
      Wed Feb 28 03:33:45 UTC 2018
    3. En el nodo de destino (node2 en el ejemplo), agregue la clave pública raíz de node1 al archivo raíz authorized_keys.
      cat /tmp/id_rsa.node1.pub >> ~root/.ssh/authorized_keys
    4. Descargue patchmgr en /root/patch en el sistema de control (node1 en este ejemplo).

      Puede descargar el paquete de patchmgr de los Servicios de Soporte Oracle mediante el ID de parche 216346333 de My Oracle Support. Obtenga siempre la utilidad de actualización patchmgr de Exadata más reciente que esté disponible para instalar cualquier versión de software del sistema Exadata.

      Para obtener más información, consulte también el documento con ID 1553103.1 de My Oracle Support dbnodeupdate.sh and dbserver.patch.zip: Updating Exadata Database Server Software using the DBNodeUpdate Utility and patchmgr (dbnodeupdate.sh y dbserver.patch.zip: actualización del software del servidor de base de datos de Exadata con la utilidad DBNodeUpdate y patchmgr).

    5. Descomprima el paquete de patchmgr.

      Según la versión que descargue, el nombre del archivo ZIP puede diferir.

      cd /root/patch/18.1.4.0.0.180125.3
      unzip dbserver.patch.zip
      Archive:  p21634633_181400_Linux-x86-64.zip   creating: dbserver_patch_5.180228.2/
      creating: dbserver_patch_5.180228.2/ibdiagtools/
      inflating: dbserver_patch_5.180228.2/ibdiagtools/cable_check.pl
      inflating: dbserver_patch_5.180228.2/ibdiagtools/setup-ssh
      inflating: dbserver_patch_5.180228.2/ibdiagtools/VERSION_FILE
      extracting: dbserver_patch_5.180228.2/ibdiagtools/xmonib.sh
      inflating: dbserver_patch_5.180228.2/ibdiagtools/monitord
      inflating: dbserver_patch_5.180228.2/ibdiagtools/checkbadlinks.pl
      creating: dbserver_patch_5.180228.2/ibdiagtools/topologies/
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/VerifyTopologyUtility.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/verifylib.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/Node.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/Rack.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/Group.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topologies/Switch.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/topology-zfs
      inflating: dbserver_patch_5.180228.2/ibdiagtools/dcli
      creating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/remoteScriptGenerator.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/CommonUtils.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/SolarisAdapter.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/LinuxAdapter.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/remoteLauncher.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/remoteConfig.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/spawnProc.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/runDiagnostics.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/netcheck/OSAdapter.pm
      inflating: dbserver_patch_5.180228.2/ibdiagtools/SampleOutputs.txt
      inflating: dbserver_patch_5.180228.2/ibdiagtools/infinicheck
      inflating: dbserver_patch_5.180228.2/ibdiagtools/ibping_test
      inflating: dbserver_patch_5.180228.2/ibdiagtools/tar_ibdiagtools
      inflating: dbserver_patch_5.180228.2/ibdiagtools/verify-topology
      inflating: dbserver_patch_5.180228.2/installfw_exadata_ssh
      creating: dbserver_patch_5.180228.2/linux.db.rpms/
      inflating: dbserver_patch_5.180228.2/md5sum_files.lst
      inflating: dbserver_patch_5.180228.2/patchmgr
      inflating: dbserver_patch_5.180228.2/xcp
      inflating: dbserver_patch_5.180228.2/ExadataSendNotification.pm
      inflating: dbserver_patch_5.180228.2/ExadataImageNotification.pl
      inflating: dbserver_patch_5.180228.2/kernelupgrade_oldbios.sh
      inflating: dbserver_patch_5.180228.2/cellboot_usb_pci_path
      inflating: dbserver_patch_5.180228.2/exadata.img.env
      inflating: dbserver_patch_5.180228.2/README.txt
      inflating: dbserver_patch_5.180228.2/exadataLogger.pm
      inflating: dbserver_patch_5.180228.2/patch_bug_26678971
      inflating: dbserver_patch_5.180228.2/dcli
      inflating: dbserver_patch_5.180228.2/patchReport.py
      extracting: dbserver_patch_5.180228.2/dbnodeupdate.zip
      creating: dbserver_patch_5.180228.2/plugins/
      inflating: dbserver_patch_5.180228.2/plugins/010-check_17854520.sh
      inflating: dbserver_patch_5.180228.2/plugins/020-check_22468216.sh
      inflating: dbserver_patch_5.180228.2/plugins/040-check_22896791.sh
      inflating: dbserver_patch_5.180228.2/plugins/000-check_dummy_bash
      inflating: dbserver_patch_5.180228.2/plugins/050-check_22651315.sh
      inflating: dbserver_patch_5.180228.2/plugins/005-check_22909764.sh
      inflating: dbserver_patch_5.180228.2/plugins/000-check_dummy_perl
      inflating: dbserver_patch_5.180228.2/plugins/030-check_24625612.sh
      inflating: dbserver_patch_5.180228.2/patchmgr_functions
      inflating: dbserver_patch_5.180228.2/exadata.img.hw
      inflating: dbserver_patch_5.180228.2/libxcp.so.1
      inflating: dbserver_patch_5.180228.2/imageLogger
      inflating: dbserver_patch_5.180228.2/ExaXMLNode.pm
      inflating: dbserver_patch_5.180228.2/fwverify
    6. En el directorio que contiene la utilidad patchmgr, cree el archivo dbs_group, que contiene la lista de las máquinas virtuales que se van a actualizar. Incluya los nodos enumerados después de ejecutar el comando olsnodes en el paso 1, a excepción del sistema de control. En este ejemplo, dbs_group solo contiene node2.
      cd /root/patch/18.1.4.0.0.180125.3/dbserver_patch_5.180228
      cat dbs_group
      node2
  3. Ejecute una operación de comprobación previa de parches.
    ./patchmgr -dbnodes dbs_group -precheck -iso_repo zipped_iso_file -target_version target-version -nomodify_at_prereq
    Nota

    Ejecute la operación de comprobación previa con la opción -nomodify_at_prereq para evitar cambios en el sistema que podrían afectar a la copia de seguridad que se realiza en el siguiente paso. De lo contrario, es posible que la copia de seguridad no pueda revertir el sistema a su estado original, en caso de que sea necesario.

    La salida debe ser parecida al siguiente ejemplo:

    ./patchmgr -dbnodes dbs_group -precheck -iso_repo /root/patch/18.1.4.0.0.180125.3/exadata_ol6_18.1.4.0.0.180125.3_Linux-x86-64.zip -target_version 18.1.4.0.0.180125.3 -nomodify_at_prereq
     
    ************************************************************************************************************
    NOTE    patchmgr release: 5.180228 (always check MOS 1553103.1 for the latest release of dbserver.patch.zip)
    NOTE
    WARNING Do not interrupt the patchmgr session.
    WARNING Do not resize the screen. It may disturb the screen layout.
    WARNING Do not reboot database nodes during update or rollback.
    WARNING Do not open logfiles in write mode and do not try to alter them.
    ************************************************************************************************************
    2018-02-28 21:22:45 +0000        :Working: DO: Initiate precheck on 1 node(s)
    2018-02-28 21:24:57 +0000        :Working: DO: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:26:15 +0000        :SUCCESS: DONE: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:26:47 +0000        :Working: DO: dbnodeupdate.sh running a precheck on node(s).
    2018-02-28 21:28:23 +0000        :SUCCESS: DONE: Initiate precheck on node(s).
  4. Realice una copia de seguridad del sistema actual.
    ./patchmgr -dbnodes dbs_group -backup -iso_repo zipped_iso_file -target_version target-version -allow_active_network_mounts
    Nota

    Asegúrese de realizar la copia de seguridad en este punto, antes de realizar modificaciones en el sistema.

    La salida debe ser parecida al siguiente ejemplo:

    ./patchmgr -dbnodes dbs_group -backup -iso_repo /root/patch/18.1.4.0.0.180125.3/exadata_ol6_18.1.4.0.0.180125.3_Linux-x86-64.zip -target_version 18.1.4.0.0.180125.3 -allow_active_network_mounts
     
    ************************************************************************************************************
    NOTE    patchmgr release: 5.180228 (always check MOS 1553103.1 for the latest release of dbserver.patch.zip)
    NOTE
    WARNING Do not interrupt the patchmgr session.
    WARNING Do not resize the screen. It may disturb the screen layout.
    WARNING Do not reboot database nodes during update or rollback.
    WARNING Do not open logfiles in write mode and do not try to alter them.
    ************************************************************************************************************
    2018-02-28 21:29:00 +0000        :Working: DO: Initiate backup on 1 node(s).
    2018-02-28 21:29:00 +0000        :Working: DO: Initiate backup on node(s)
    2018-02-28 21:29:01 +0000        :Working: DO: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:30:18 +0000        :SUCCESS: DONE: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:30:51 +0000        :Working: DO: dbnodeupdate.sh running a backup on node(s).
    2018-02-28 21:35:50 +0000        :SUCCESS: DONE: Initiate backup on node(s).
    2018-02-28 21:35:50 +0000        :SUCCESS: DONE: Initiate backup on 1 node(s).
  5. Elimine todos los RPM personalizados de las máquinas virtuales de destino. Los RPM personalizados se notifican en los resultados de la comprobación previa. Se incluyen los RPM que se instalaron manualmente después de aprovisionar el sistema.
    • Si está actualizando el sistema desde la versión 12.1.2.3.4.17011 y los resultados de la comprobación previa incluyen krb5-workstation-1.10.3-57.el6.x86_64, elimínelo. Este elemento se considera un RPM personalizado para esta versión.
    • No elimine exadata-sun-vm-computenode-exact ni oracle-ofed-release-guest. Estos dos RPM se gestionan automáticamente durante el proceso de actualización.
  6. Realice la actualización. Para asegurarse de que el proceso de actualización no se interrumpe, utilice el comando nohup. Por ejemplo:
    nohup ./patchmgr -dbnodes dbs_group -upgrade -nobackup -iso_repo zipped_iso_file -target_version target-version -allow_active_network_mounts &

    La salida debe ser parecida al siguiente ejemplo:

    nohup ./patchmgr -dbnodes dbs_group -upgrade -nobackup -iso_repo /root/patch/18.1.4.0.0.180125.3/exadata_ol6_18.1.4.0.0.180125.3_Linux-x86-64.zip -target_version 18.1.4.0.0.180125.3 -allow_active_network_mounts &
     
    ************************************************************************************************************
    NOTE    patchmgr release: 5.180228 (always check MOS 1553103.1 for the latest release of dbserver.patch.zip)
    NOTE
    NOTE    Database nodes will reboot during the update process.
    NOTE
    WARNING Do not interrupt the patchmgr session.
    WARNING Do not resize the screen. It may disturb the screen layout.
    WARNING Do not reboot database nodes during update or rollback.
    WARNING Do not open logfiles in write mode and do not try to alter them.
    *********************************************************************************************************
    2018-02-28 21:36:26 +0000        :Working: DO: Initiate prepare steps on node(s).
    2018-02-28 21:36:26 +0000        :Working: DO: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:37:44 +0000        :SUCCESS: DONE: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:38:43 +0000        :SUCCESS: DONE: Initiate prepare steps on node(s).
    2018-02-28 21:38:43 +0000        :Working: DO: Initiate update on 1 node(s).
    2018-02-28 21:38:43 +0000        :Working: DO: Initiate update on node(s)
    2018-02-28 21:38:49 +0000        :Working: DO: Get information about any required OS upgrades from node(s).
    2018-02-28 21:38:59 +0000        :SUCCESS: DONE: Get information about any required OS upgrades from node(s).
    2018-02-28 21:38:59 +0000        :Working: DO: dbnodeupdate.sh running an update step on all nodes.
    2018-02-28 21:48:41 +0000        :INFO   : node2 is ready to reboot.
    2018-02-28 21:48:41 +0000        :SUCCESS: DONE: dbnodeupdate.sh running an update step on all nodes.
    2018-02-28 21:48:41 +0000        :Working: DO: Initiate reboot on node(s)
    2018-02-28 21:48:57 +0000        :SUCCESS: DONE: Initiate reboot on node(s)
    2018-02-28 21:48:57 +0000        :Working: DO: Waiting to ensure node2 is down before reboot.
    2018-02-28 21:56:18 +0000        :Working: DO: Initiate prepare steps on node(s).
    2018-02-28 21:56:19 +0000        :Working: DO: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:57:37 +0000        :SUCCESS: DONE: Check free space and verify SSH equivalence for the root user to node2
    2018-02-28 21:57:42 +0000        :SEEMS ALREADY UP TO DATE: node2
    2018-02-28 21:57:43 +0000        :SUCCESS: DONE: Initiate update on node(s)
  7. Una vez completada la operación de actualización, verifique la versión del software de Exadata en la máquina virtual que se ha actualizado.
    imageinfo -ver
    18.1.4.0.0.180125.3
  8. Repita los pasos 2 a 7 de este procedimiento utilizando la máquina virtual actualizada como sistema de control para actualizar la máquina virtual restante. En este ejemplo de actualización, ahora utilizaría node2 para actualizar node1.
  9. Como usuario root, en cada máquina virtual, ejecute el comando uptrack-install para instalar las actualizaciones de ksplice disponibles.
    uptrack-install --all -y
    uptrack-install --all -y

Instalación de paquetes adicionales del sistema operativo

Revise estas directrices antes de instalar paquetes adicionales del sistema operativo para Oracle Exadata Cloud at Customer.

Tiene permitido instalar y actualizar paquetes del sistema operativo en Oracle Exadata Cloud at Customer siempre que no modifique los paquetes específicos de InfiniBand o el núcleo. Sin embargo, el soporte técnico de Oracle, incluida la instalación, las pruebas, la certificación y la resolución de errores, no se aplica a ningún software que instale que no sea de Oracle.

Tenga en cuenta también que, si agrega o actualiza paquetes por separado de una actualización de software de Oracle Exadata, estas adiciones o actualizaciones de paquetes pueden generar problemas al aplicar una actualización de software de Oracle Exadata. Estos problemas se pueden producir porque los paquetes de software adicionales agregan nuevas dependencias que pueden interrumpir una actualización de Oracle Exadata. Por este motivo, Oracle recomienda minimizar la personalización.

Si instala paquetes adicionales, Oracle recomienda automatizar la eliminación y reinstalación de dichos paquetes mediante scripts. Después de una actualización de Oracle Exadata, si instala paquetes adicionales, verifique que los paquetes adicionales siguen siendo compatibles y que todavía necesita estos paquetes.

Para obtener más información, consulte la Guía de mantenimiento de Oracle Exadata Database Machine.