Блог Oracle на испанском языке

Как применить патч 19.20.0.0 в базе данных Oracle

En esta entrada vamos a describir cómo aplicar un parche a nuestra base de datos. En este ejemplo, nuestra base de datos se encuentra en la versión 19.3.0.0 y vamos a aplicar el parche 19.20.0.0 (Patch 35320081: DATABASE RELEASE UPDATE 19.20.0.0.0), aunque el procedimiento suele ser similar recomiendo siempre leer el README de los parches para tener claro los pasos del mismo si se siguiera esta guía para aplicar un parche diferente. En nuestro caso parchearemos una base de datos en local, sin ASM y en modo «No Rolling», es decir con parada de la base de datos.

En primer lugar, cómo es lógico es conocer la versión de parcheo actual de nuestra base de datos, lo podemos hacer de varias maneras, una de ellas es la siguiente.
Con las variables de entorno de la base de datos a parchear cargadas, lanzamos el siguiente comando (opatch lspatches).

[oracle@localhost OPatch]$ ./opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
OPatch succeeded.

В нашем случае база данных находится в версии 19.3.0.0.
Мы загружаем патч 19.20.0.0 с официального сайта Oracle, в нашем случае для Linux x86-64.

Antes de poder aplicar el parche, y cómo indica el README de los prerrequisitos del parche, es necesario disponer de la versión de Opatch 12.2.0.1.37 o superior. Yo siempre aconsejo bajar la última versión de OPatch disponible.

1) Bajamos el OPatch de la siguiente dirección de Oracle.
https://updates.oracle.com/download/6880880.html

Actualmente la versión disponible es la versión 12.2.0.1.40

Para aplicar esta versión, dirígete al ORACLE_HOME de tu base de datos, renombra el directorio actual «OPatch» y descomprime el parche recién bajado.

[oracle@localhost sw]$ cd $ORACLE_HOME
[oracle@localhost sw]$ mv OPatch/ OPatch_old
[oracle@localhost sw]$ unzip p6880880_190000_Linux-x86-64.zip
Archive: p6880880_190000_Linux-x86-64.zip
creating: OPatch/
creating: OPatch/docs/
inflating: OPatch/docs/cversion.txt
inflating: OPatch/docs/Users_Guide.txt
inflating: OPatch/docs/Prereq_Users_Guide.txt
inflating: OPatch/docs/FAQ
.
.
.
.

Comprobamos que la versión del OPatch es la correcta.

[oracle@localhost OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.40
OPatch succeeded.

2) Распаковываем патч
cd /tmp/parche1920/35320081
unizp p35320081_190000_Linux-x86-64.zip

ls -lrt /tmp/parche1920/35320081
drwxr-xr-x. 5 oracle oracle 4096 15 июля 21:54 35320081
-rw-rw-r–. 1 oracle oracle 1749054 18 июля 15:03 PatchSearch.xml
-rw-rw-r–. 1 oracle oracle 1769419773 15 ноября 17:54 p35320081_190000_Linux-x86-64.zip

3) Выполняем предварительную проверку, чтобы убедиться в отсутствии расхождений.
Внутри каталога, созданного при распаковке (/tmp/parche1920/35320081/35320081), запускаем следующую команду:

opatch prereq CheckConflictAgainstOHWithDetail -ph ./

opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Installer de Parche Temporal de Oracle versión 12.2.0.1.40
Copyright (c) 2023, Oracle Corporation. Todos los Derechos Reservados.
PREREQ session
Directorio raíz de Oracle : /u01/sw
Inventario central: /u01/oraInventory
de : /u01/sw/oraInst.loc
Versión de OPatch : 12.2.0.1.40
Versión de OUI : 12.2.0.7.0
Ubicación del archivo log : /u01/sw/cfgtoollogs/opatch/opatch2023-11-15_18-17-30PM_1.log
Invoking prereq «checkconflictagainstohwithdetail»
Prereq «checkConflictAgainstOHWithDetail» passed.
OPatch succeeded.

В средах RAC патч будет установлен в режиме rolling (без простоев). Если мы не находимся в средах RAC, как в нашем примере, необходимо выполнить выключение всех баз данных, принадлежащих ORACLE_HOME, которые необходимо исправить, а также прослушивателей, связанных с этими базами данных, прежде чем можно будет применить патч.

[oracle@localhost 35320081]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Wed Nov 15 23:39:23 2023
Version 19.3.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.3.0.0.0
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

[oracle@localhost 35320081]$ lsnrctl stop
LSNRCTL для Linux: версия 19.0.0.0.0 – Производство 15 ноября 2023 г. 23:40:10
Copyright (c) 1991, 2019, Oracle. Все права защищены.
Подключение к (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Команда выполнена успешно

En este momento es posible aplicar el parcheo.
La forma más sencilla es ir al directorio donde está localizado el parche que hemos descomprimido y ejecutar la utilidad OPatch de la siguiente manera:

unzip -d <PATCH_TOP_DIR> p35320081_<version>_<platform>.zip
cd <PATCH_TOP_DIR> 35320081
opatch apply

Здесь мы показываем вывод:

[oracle@localhost 35320081]$ opatch apply
Installer de Parche Temporal de Oracle versión 12.2.0.1.40
Copyright (c) 2023, Oracle Corporation. Todos los Derechos Reservados.
Directorio raíz de Oracle : /u01/sw
Inventario central: /u01/oraInventory
de : /u01/sw/oraInst.loc
Versión de OPatch : 12.2.0.1.40
Versión de OUI : 12.2.0.7.0
Ubicación del archivo log : /u01/sw/cfgtoollogs/opatch/opatch2023-11-15_23-48-57PM_1.log
Verifying environment and performing prerequisite checks…
OPatch continues with these patches: 35320081
¿Desea continuar? [y|n]
y
User Responded with: Y
All checks passed.
Cierre las instancias Oracle que se estén ejecutando fuera de este ORACLE_HOME en el sistema local.
(Directorio Raíz de Oracle = ‘/u01/sw’)
¿Está el sistema local listo para aplicarle un parche? [y|n]
y
User Responded with: Y
Backing up files…

Aplicando parche a componente oracle.xdk.rsf, 19.0.0.0.0…
Aplicando parche a componente oracle.ldap.client, 19.0.0.0.0…
Aplicando parche a componente oracle.mgw.common, 19.0.0.0.0…
Aplicando parche a componente oracle.odbc, 19.0.0.0.0…
.
.
Patch 35320081 successfully applied.

На этом этапе мы можем открыть исправленную базу данных ORACLE_HOME.

[oracle@localhost 35320081]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Wed Nov 15 23:39:23 2023
Version 19.20.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.20.0.0.0
SQL> startup
Database started.

4) Послеустановочные действия.

После установки патча необходимо выполнить следующее действие (не требуется для Oracle Database client).

% cd $ORACLE_HOME/OPatch
% ./datapatch -verbose

Мы поднимаем слушателя.

[oracle@localhost 35320081]$ lsnrctl start

Проверяем, что патч базы данных был успешно применен.

[oracle@localhost 35320081]$ opatch lspatches
35320081;Database Release Update : 19.20.0.0.230718 (35320081)

Теги:
Oracle ACE Associate