检查ORACLE opatch版本,数据库版本,备份情况。
升级原因:通过使用scnhealthcheck_10.2.sql脚本查看到当前数据库SCN生成率过高,官方建议打补丁解决
升级库:当前版本是10.2.0.4.0,需要先升级到10.2.0.4.4,然后再升级到10.2.0.4.12.
操作系统:HP UNIX
升级步骤:
1.关闭数据库及监听,【ps -ef |grep
ora保证没有ora相关的进程,否则后面会报错,切记】,
用metalink下载所需要的升级包
2.检查ORACLE
opatch版本,数据库版本,备份情况。实施前做全备,最好也对软件进行备份
3.解压下载后的补丁包,检查readme.html文件,查看对opatch版本的要求,查看opatch版本的命令是
$ORACLE_HOME/OPatch/opatch
version
如果不满足,下载对应的OPath进行更新,更新时需要注
意,先将OPatch包复制到$ORACLE_HOME目录下,直接解压实现更新!【解压时选ALL全部覆盖更新】
4.设置环境
export
PATH=$PATH:/usr/ccs/bin
5.解压对应的补丁包:p9352164_10204_HPUX-IA64
unzip
p9352164_10204_HPUX-IA64 -->生成 9352164
文件夹
6.进入解压后的文件夹,然后检查是否有补丁包冲突
cd 9352164
opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir
./9352164
7.开始应用补丁
$ORACLE_HOME/OPatch/opatch
apply
此时需要注意的是,查看/var/opt/oracle/oraInst.loc是否存在,如果不存在执行命令
$ORACLE_HOME/OPatch/opatch
apply -invPtrLoc
$ORACLE_HOME/oraInst.loc
如果此时报:OPatch failed with error code
73
基本上可以确定是你有ORA相关进程或由
还有SQLPLUS进程没有全部关闭,导致libcIntsh库文件补占用,导到应用补丁失败,关掉后重
重新应用,一直Y下去即可应用成功
8.查看已经安装过的PSU
$ORACLE_HOME/OPatch/opatch
isinventory
9.执行相应的脚本:
sqlplus
/ as sysdba
startup
SQL> @?$ORACLE_HOME/rdbms/admin/@catbundle.sql psu
apply
SQL>
@?$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL>
@?$ORACLE_HOME/cpu/view_recompile/recompile_precheck_jan2008cpu.sql
SQL> shutdwon immediate
SQL> startup upgrade
SQL>
@?$ORACLE_HOME/cpu/view_recompile/viw_recompile_jan2008.sql
SQL> shutdown
SQL> startup
10.
检查升级是否成功
col action format
a20
col namespace format
a10
col version format
a10
col comments format
a40
col action_time format
a30
col bundle_series
format a15
alter session set
nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss.ff';
select
* from dba_registry_history;
11.由10.2.0.4.4,再升级到10.2.0.4.12跟前面步骤差不多,按照文档升级即可,不再详细描述!
加载中,请稍候......