文章目录
一、打补丁前备份检查
1、补丁包获取
补丁包:
百度网盘链接:https://pan.baidu.com/s/1vibWR6dQac807z1ovZvfSw?pwd=k7i2
提取码:k7i2
2、备份数据包以及数据库软件
bash
select name from v$datafile;
archive log list;
我们可以看到数据库还处于非归档模式
非归档模式变成归档模式:
bash
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list
bash
shutdown immediate;
关闭数据库,对开始时查询到的数据文件进行物理备份。
bash
sqlplus -version
顺便可以查看一下当前sqlplus版本是多少。
3、检查OPatch版本
- 盘符和家目录根据自己的环境更改
bash
F:\app\database\OPatch\opatch version
可以看到我当前的OPatch版本,我需要更新一下OPatch
二、补丁升级
1、更新OPatch
更新方法:
将原来的OPatch改名备份为OPatch_old
解压p6880880_122010_MSWIN-x86-64.zip 将 OPatch 解压至Oracle家目录下
重新检查版本:
bash
F:\app\database\OPatch\opatch version
更新成功,此时OPatch已经被更新为12.2.0.1.41版本
2、关闭监听以及服务
bash
lsnrctl stop
lsnrctl status
这里直接通过cmd方式进入控制面板会显示权限不足
我们找到C:\Windows\System32
这根个位置下的cmd,选择以管理员身份运行
3、补丁升级过程
将下载的补丁p35962832_190000_MSWIN-x86-64.zip进行解压,并在补丁根目录下执行 opatch apply命令进行补丁安装
解压完成,然后我们配置Oracle环境变量
接下来开始打补丁
- 注意,这里也要用管理员启动cmd,否则会出现无法锁定主产品清单问题。
bash
F:
cd F:\p35962832_190000_MSWIN-x86-64\35962832
set ORACLE_HOME=F:\app\database
%ORACLE_HOME%\OPatch\opatch apply
安装过程
安装完成
查看补丁安装结果:
bash
%ORACLE_HOME%\OPatch\opatch lsinventory
再次查看sqlplus版本
bash
sqlplus -version
sqlplus升级成功
4、启动监听以及服务
打开服务:
启动最终结果:
启动监听:
bash
lsnrctl start
lsnrctl status
三、数据库补丁应用
- 如果没有启动的话需要先启动一下数据库
bash
sqlplus / as sysdba
startup
quit
bash
cd %ORACLE_HOME%/OPatch
datapatch -verbose
到这里很慢会卡一会,耐心等待
- 查看数据库版本
bash
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升级成功。