文章

Oracle 19c 单机打补丁包

Oracle19c 单机打补丁包

什么是PSU/CPU?

  • PSU(Patch Set Update): PSU 是一个累积性的补丁包,包含最新的安全补丁和非安全修复。除了安全补丁外,它还包括解决产品功能问题和性能问题的修复。 PSU通常每季度发布一次(与CPU同时发布),可以帮助用户保持数据库系统的最新状态,并减少可能遇到的问题。 安装PSU后,系统的补丁版本号会有所提升,通常格式为<base_version>.<PSU_version>,例如11.2.0.4.5。
  • CPU(Critical Patch Update): CPU 是一个安全补丁包,专注于修复数据库系统中的安全漏洞。它不会包含非安全相关的修复。 CPU 也通常每季度发布一次,并与PSU在同一时间发布。 CPU 适用于那些希望仅应用安全修复而不更改功能或性能的用户。

1.上传补丁包到服务器

2.查看当前版本

数据库版本

sqlplus / as sysdba
select * from product_component_version;

OPatch版本

cd $ORACLE_HOME/OPatch
./opatch version

3.备份Oracle home

-- 关闭数据库
sqlplus / as sysdba
shutdown immediate
exit
-- root下
tar -zcvf /opt/oracle.tar.gz /u01/app/oracle/product/19.0.0/dbhome_1

4.升级Opatch

-- root用户
mkdir /opt/Opatch
-- 将补丁文件上传到文件夹下
chown -R oracle:oinstall /opt/Opatch
-- oracle用户
unzip -o /opt/Opatch/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
-- 查看版本
-- 验证Oracle Inventory
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

5.升级补丁

cd /opt/Opatch
unzip p35943157_190000_Linux-x86-64.zip
cd 35943157/
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
-- 编辑文件
echo /opt/Opatch/35943157 > /tmp/patch_list_dbhome.txt
-- 进行空间检测
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

-- 关闭监听
lsnrctl stop
-- ,升级,一直y
$ORACLE_HOME/OPatch/opatch apply

-- 启动数据库和监听
sqlplus / as sysdba
startup

lsnrctl start

-- 应用更改
cd $ORACLE_HOME/OPatch
./datapatch -verbose
-- 编译无效PL/SQL模块
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
@utlrp.sql
-- 再次检查数据库版本

问题

Prerequisite check "CheckSystemCommandAvailable" failed.

yum install -y psmisc
License:  CC BY 4.0