Centos7 Oracle 11g 单实例数据库补丁安装

434 阅读1分钟
1、export opatch环境变量
export PATH=$ORACLE_HOME/OPatch:$PATH
2、查看opatch版本是否满足要求
opatch version
3、解压安装新版本opatch
(1)备份原补丁文件
cd $ORACLE_HOME
mv OPatch OPatch_bak
unzip p6880880_112000_Linux-x86-64.zip
4、查看已打过的补丁
opatch lspatches
opatch lsinv
5、查看PSU的版本
col ACTION format a6
col VERSION format a8
col BUNDLE_SERIES format a13
col COMMENTS format a19
select ACTION,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;
6、备份数据库所有数据
expdp system directory=dump_dir dumpfile=ods_full_expdp_20190726.dmp logfile=ods_full_expdp_20190726.log full=y exclude=statistics filesize=30G compression=ALL
7、关闭数据库和监听
sqlplus / as sysdba;
shutdown immediate;
lsnrctl stop
8、解压PSU补丁
unzip p31537677_112040_Linux-x86-64.zip
9、检查补丁是否有冲突
(1)切到已解压的补丁集文件夹
cd 31537677
(2)执行冲突检测
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
10、查看是否还有连接数据库的进程
ps -ef|grep smon
ps -ef|grep ora
如果有,kill -9 进程ID
11、打补丁
opatch apply
12、验证补丁包
opatch lsinv
opatch lspatches
13、查看oracle无效对象是否为0个
SELECT owner, object_name, object_type,status 
FROM dba_objects 
WHERE status = 'INVALID';
14、升级数据字典
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba;
@utlrp.sql
STARTUP
@catbundle.sql psu apply
QUIT
15、安装OJVM补丁
SQL>@dbmsjdev.sql 
SQL>exec dbms_java_dev.disable