一、
规划
数据库版本: Oracle 11.2.0.4
单实例
操作系统: Redhat 6.5 64-bit
PSU: p28204707_112040_Linux-x86-64.zip
OPatch:
p6880880_112000_Linux-x86-64.zip
step1:
打
PSU
前环境检查
step2:
打
PSU
前全库备份
step3:
上传
PSU
包
step4:
阅读
README.html
step5:
如果有必要,更新
Opatch
step6:
软件打
PSU
step7: database
打
PSU
step8:
打
PSU
后检查
step1:
卸载软件
PSU
step2:
卸载
database PSU
step3:
卸载
PSU
后检查
每个CPU/PSU
都有一个
Readme
文档,关于该
CPU/PSU
的信息都在
Readme
文档中,再打
CPU/PSU
之前一定要仔细阅读。
打PSU
需要用到
Opatch
工具。
Opatch
的版本必须符合补丁包
readme
文档中版本要求,否则需要升级
Opatch
版本。
查看opatch
版本
$ cd $ORACLE_HOME/OPatch
$ ./opatch version
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
—————- ————
orcl OPEN
SQL> select * from v$version;
BANNER
—————————————————————–Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
PL/SQL Release 11.2.0.4.0 – Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 – Production
NLSRTL Version 11.2.0.4.0 – Production
SQL> set linesize 200
SQL> col comments for a30
SQL> select ACTION_TIME, ACTION, COMMENTS from sys.DBA_REGISTRY_HISTORY;
ACTION_TIME ACTION COMMENTS
——————————-
—————
—————–
24-AUG-13 12.03.45.119862 PM APPLY Patchset 11.2.0.2.0
30-JUL-18 10.04.26.133727 AM APPLY Patchset 11.2.0.2.0
SQL> select count(*) from dba_objects where status’VALID’;
SQL>
select object_name,object_type,owner,status from dba_objects where status’VALID’;
$ unzip p28204707_112040_Linux-x86-64.zip
$ cd 28204707
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
建议在打补丁之前对数据库进行RMAN
全库备份,避免打补丁出现意外,可以从备份中进行恢复。
$ unzip p28204707_112040_Linux-x86-64.zip
$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch/
$ ./opatch version
OPatch Version: 11.2.0.3.4
如果发现Opatch
版本低,下载最新的
Opatch
,覆盖原来的
Opatch
$ ls
p6880880_112000_Linux-x86-64.zip
$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak20200804
$ cp -r OPatch $ORACLE_HOME/
$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch
$ ./opatch version
OPatch Version: 11.2.0.3.18
1)
关闭Instance
和
listener
SQL> shutdown immediate;
SQL> exit
$ lsnrctl stop
2)
查看当前PSU
版本
$ $ORACLE_HOME/OPatch/opatch lsinv
3)
安装PSU
(软件
PSU
)
$ pwd
/home/oracle/28204707
$ $ORACLE_HOME/OPatch/opatch apply
最后可能会有warnings
,可以忽略。如果是
error
就不能忽略。
4)
安装PSU
(
database PSU
)
$
cd $ORACLE_HOME/rdbms/admin
$
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
5)
如果在之前的PSU
中有
OJVM PSU
,那么我们在执行完
catbundle.sql
后
可以看到一些无效的JAVA
类,在这种情况下,运行以下命令
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
6)
检查补丁日志看看有没有报错
$cd
/u01/app/oracle/cfgtoollogs/catbundle
catbundle_PSU_
_APPLY_
.log
catbundle_PSU_
_GENERATE_
TIMESTAMP>
.log
7)
检查
$ cd /u01/app/oracle/product/11.2.0/db_1/OPatch
$ ./opatch lsinv
Patch 28204707: applied on Tue Aug 04 13:15:43 EDT 2020
Unique Patch ID: 22491169
Patch description: “Database Patch Set Update :
11.2.0.4.181016 (28204707)
“
Created on 19 Sep 2018, 03:24:06 hrs PST8PDT
SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;
SQL> select ACTION_TIME, ACTION, COMMENTS from DBA_REGISTRY_HISTORY;
SQL>免费云主机域名 select owner,object_name,object_type,status from dba_objects where status’VALID’;
SQL> select count(*) from dba_objects where status’VALID’;
1)
检查文件是否存在
$ORACLE_HOME/rdbms/admin/catbundle_PSU_
2)
关闭instance
和监听
SQL> shutdown immediate;
SQL> exit
$ lsnrctl stop
3)
执行卸载命令
$ cd $ORACLE_HOME/OPatch
$ ./
opatch rollback -id 28204707
最后可能会有warnings
,可以忽略。如果是
error
就不能忽略。
$
cd $ORACLE_HOME/rdbms/admin
$
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU_
_ROLLBACK.sql
SQL> QUIT
如果在之前的PSU
中有
OJVM PSU
,那么我们在执行完
catbundle.sql
后
可以看到一些无效的JAVA
类,在这种情况下,运行以下命令
$
cd $ORACLE_HOME/rdbms/admin
$
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
$ cd /u01/app/oracle/cfgtoollogs/catbundle
catbundle_PSU_
—- end —-
相关推荐: oracle参数open_cursors和session_cached_cursor详解!
1、open_cursors与session_cached_cursor的作用? open_cursors设定每个session(会话)最多能同时打开多少个cursor(游标)。session_cached_cursor 设定每个session(会话)最多可以…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。