补丁的过程大概如下
cat /etc/issue
uname -a
两个zip文件,传到/tmp下面opatch_p6880880_122010_Linux-x86-64.zip,p28822515_122010_Linux-x86-64.zip
打补丁的目录:/opt/oracle/product/12.2.0/dbhome/OPatch
先shutdown immediate; lsnrctl stop,并用ps -ef | grep oracle检查进程,如果有sqlplus,也要杀掉
24676 1 0 April pts/0 00:00:00 /usr/local/bin/rlwrap sqlplus / as sysdba
24677 24676 0 April pts/1 00:00:00 sqlplus / as sysdba
直接杀父进程即可,kill -9 24676
进入/tmp,解压这2个文件,以下命令均在oracle用户下执行:
unzip opatch_p6880880_122010_Linux-x86-64.zip
unzip p28822515_122010_Linux-x86-64.zip
cd /opt/oracle/product/12.2.0/dbhome,即cd $ORACLE_HOME
mv OPatch/ OPatch_bk
cp -R /tmp/OPatch/ ./
cd OPatch
./opatch prereq CheckConflictAgainstOHWithDetail -ph /tmp/28822515/
提示:OPatch succeeded.
ps -ef | grep oracle
./opatch apply /tmp/28822515/
如果没有关闭,或停止监听,或者关闭sqlplus,会出现:OPatch failed with error code 73
如果正常,会提示OPatch succeeded.
./opatch lsinventory
开库,跑一下:
sqlplus / as sysdba
@?/rdbms/admin/dbmsrman.sql
@?/rdbms/admin/prvtrmns.plb
./datapatch -verbose
显示:Installing Patches.... 最后显示Batch installation complete.
进入sql,执行:@?/rdbms/admin/utlrp.sql (林工说这句的作用是:编译失效对象)
我问:是不是在打补丁的过程中,有些对象失败了,重新编译下就好了,他说是的。
相关文章
- 07-08Oracle 安装过程中 File not found "WFMLRSVCApp.ear" 的原因
- 07-08Oracle 11g简体中文版的安装过程及图解
- 07-08完整记录一则Oracle 11.2.0.4单实例打PSU补丁的过程
- 07-08深入了解oracle存储过程的优缺点
- 07-08C# 获取 oracle 存储过程的 返回值
- 07-08oracle存储过程(返回列表的存储结合游标使用)总结 以及在java中的调用
- 07-08oracle存储过程中%type的含义
- 07-08ORACLE 存储过程中保存用户自定义异常信息的一种方式
- 07-08oracle存储过程中使用execute immediate执行sql报ora-01031权限不足的问题
- 07-08Oracle存储过程中异步调用的实际操作步骤