1.首先需要确定Oracle数据库路径-查看数据库补丁情况

针对检测机构发布的数据库漏洞修复报告书,对oracle数据库进行漏洞升级。

确定Oracle数据库安装路径,路径不同,操作步骤中的对应路径需要调整成自己的oracle数据库路径。例如如下路径:

/home/db/oracle/product/11.2.0/

使用opatch lsinventory命令查看数据库相关漏洞修复情况

ss.png

2.进入升级器安装目录

cd /home/db/oracle/product/11.2.0

3.备份原有的升级器【后续会使用补丁包中的】

mv OPatch OPatch.bak

1.png

4.将上传的升级器copy到 /home/db/oracle/product/11.2.0目录下【确定自己上上传的目录】

mv OPatch /home/db/oracle/product/11.2.0

5.修改上传的升级器权限

chmod -R 777 /home/db/oracle/product/11.2.0/OPatch

2.png

6.进入补丁文件夹-补丁版本31537677

解压补丁包

unzip 31537677.zip 解压工具包

unzip OPatch.zip 进入补丁包文件夹

cd /31537677

7.检查补丁兼容性

/home/db/oracle/product/11.2.0/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

3.png

8.关闭数据库

sqlplus / as sysdba

shutdown immediate;

exit;

9.关闭监听器

lsnrctl stop

4.png

10.补丁预演示

/home/db/oracle/product/11.2.0/OPatch/opatch apply -report

如果报错:Missing command :fuser,执行如下命令

yum install -y psmisc

5.png

11.正式打补丁

/home/db/oracle/product/11.2.0/OPatch/opatch apply

如果报错:

Verifying environment and performing prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:


Following active executables are not used by opatch process :
/home/db/oracle/product/11.2.0/lib/libclntsh.so.11.1

Following active executables are used by opatch process :

执行如下命令查找相关进程:

fuser /home/db/oracle/product/11.2.0/lib/libclntsh.so.11.1

使用kill -9 xxx命令结束掉进程,注意不要加m字符

6.png

6_2.png

12.启动监听器

lsnrctl start

13.访问数据库升级数据字典

进入如下目录

cd /home/db/oracle/product/11.2.0/rdbms/admin

依次执行如下命令

sqlplus / as sysdba

startup

@catbundle.sql psu apply

7.png

14.查看补丁记录

select * from dba_registry_history;

8_1.png

8.png

15.查看已经修复漏洞

opatch lsinventory

9.png

原文链接: https://marshucheng1.github.io/2022/06/24/oracle/