Saludos,
Para tener presente a la hora de aplicar un PSU o un parche a la Base de Datos de Oracle en Sistema Operativo Windows.
SET ORACLE_HOME=D:\oracle\DB\12.1.0.2\dbhome_1
SET PATH=D:\oracle\DB\12.1.0.2\dbhome_1\bin;D:\oracle\DB\12.1.0.2\dbhome_1\opatch;%PATH%
SET ORACLE_SID=ORCL
SET PATH=%ORACLE_HOME%\perl\bin;%PATH%
Validamos la version del opatch instalado:# opatch version
NOTA: Se recomienda tener la ultima versión instalada.
Validamos el ultimo parche aplicado:
# opatch lsinventory
Creamos un pfile as current Spfile.
Validamos objectos invalidos antes y después de aplicar el parche de seguridad.
NOTA: Si es una maquina virtual debemos realizar en Services.msc
Bajar servicios de Oracle , Distributed Transaction Coordinator, Windows Management Instrumentation, COM+ System Application, VMware Tools, VMware-provided.
Realizamos un backup Full de la Base de Datos y de los Binarios de Oracle.
run {
allocate channel ch00 type disk;
allocate channel ch01 type disk;
allocate channel ch02 type disk;
backup format 'F:\rman\full_db_%t_%sp%p' filesperset 10 database plus archivelog;
release channel ch00;
release channel ch01;
release channel ch02;
allocate channel ch00 type disk;
backup format 'F:\rman\cntrl_%s_%p_%t' CURRENT CONTROLFILE;
backup format 'F:\rman\spfile_%s_%p_%t' spfile;
release channel ch00;
}
# create pfile='E:\oracle\initpfile.ora' from spfile;
Validamos objectos invalidos antes y después de aplicar el parche de seguridad.
select 'alter '||object_type|| ' ' || owner ||'.'||object_name || ' compile;' from dba_objects where status='INVALID';
Bajar servicios de Oracle , Distributed Transaction Coordinator, Windows Management Instrumentation, COM+ System Application, VMware Tools, VMware-provided.
Para proceder a aplicar el Parche de seguridad vamos al archivo que descargamos de oracle support, lo descomprimimos y vamos a la ruta de la carpeta que descomprimio.
#cd C:\parche_oracle\p27162953_121020_MSWIN-x86-64\27162953
C:\parche_oracle\p27162953_121020_MSWIN-x86-64\27162953> opatch apply
Cuando termina de aplicar el parche de seguridad genera el mensaje:
Validamos la versión del parche aplicado:
# opatch lsinventory
Ya confirmamos que quedo aplicado el ultimo parche de seguridad.
Subimos los servicios de la Base de Datos y confirmamos que nos podemos conectar por sysdba.
Ahora debemos registrarlo en la Base de Datos Oracle:
# cd D:\oracle\DB\12.1.0.2\opatch
# D:\oracle\DB\12.1.0.2\opatch> datapatch -verbose
NOTA: Tener presente que para versión de 11g se realiza un Post diferente.
Validamos que en la Base de Datos registre el PSU aplicado.
select patch_id,version,flags,action,status,action_time,description,bundle_series from dba_registry_sqlpatch;
Validamos los objectos inválidos después de aplicar el parche de seguridad:
cd %ORACLE_HOME%\rdbms\admin
sqlplus /nolog
CONNECT / AS SYSDBA
@utlrp.sql
select count(*) from dba_objects where status='INVALID';