文章目录
- 一、打补丁前备份检查
- 1、补丁包获取
- 2、备份数据包以及数据库软件
- 3、检查OPatch版本
- 二、补丁升级
- 1、更新OPatch
- 2、关闭监听以及服务
- 3、补丁升级过程
- 4、启动监听以及服务
- 三、数据库补丁应用
一、打补丁前备份检查
1、补丁包获取
补丁包:
百度网盘链接:https://pan.baidu.com/s/1vibWR6dQac807z1ovZvfSw?pwd=k7i2
提取码:k7i2
2、备份数据包以及数据库软件
select name from v$datafile;
archive log list;

我们可以看到数据库还处于非归档模式
非归档模式变成归档模式:
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list

shutdown immediate;
关闭数据库,对开始时查询到的数据文件进行物理备份。
sqlplus -version

顺便可以查看一下当前数据库版本是多少。
3、检查OPatch版本
- 盘符和家目录根据自己的环境更改
F:\app\database\OPatch\opatch version

可以看到我当前的OPatch版本,我需要更新一下OPatch
二、补丁升级
1、更新OPatch
更新方法:
将原来的OPatch改名备份为OPatch_old

解压p6880880_122010_MSWIN-x86-64.zip 将 OPatch 解压至Oracle家目录下


重新检查版本:
F:\app\database\OPatch\opatch version

更新成功,此时OPatch已经被更新为12.2.0.1.41版本
2、关闭监听以及服务
lsnrctl stop
lsnrctl status
这里直接通过cmd方式进入控制面板会显示权限不足
我们找到C:\Windows\System32这根个位置下的cmd,选择以管理员身份运行




3、补丁升级过程
将下载的补丁p35962832_190000_MSWIN-x86-64.zip进行解压,并在补丁根目录下执行 opatch apply命令进行补丁安装


解压完成,然后我们配置Oracle环境变量

接下来开始打补丁
- 注意,这里也要用管理员启动cmd,否则会出现无法锁定主产品清单问题。
F:
cd F:\p35962832_190000_MSWIN-x86-64\35962832
set ORACLE_HOME=F:\app\database
%ORACLE_HOME%\OPatch\opatch apply

安装过程



安装完成

查看补丁安装结果:
%ORACLE_HOME%\OPatch\opatch lsinventory

再次查看sqlplus版本
sqlplus -version

sqlplus升级成功
4、启动监听以及服务
打开服务:

启动最终结果:

启动监听:
lsnrctl start
lsnrctl status


三、数据库补丁应用

- 如果没有启动的话需要先启动一下数据库
sqlplus / as sysdba
startup
quit
cd %ORACLE_HOME%/OPatch
datapatch -verbose

到这里很慢会卡一会,耐心等待

- 查看数据库版本
sqlplus / as sysdba
column product format A30
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;

OK升级成功。



















