设为首页 收藏本站
查看: 557|回复: 0

[经验分享] 10.2.0.4 to 10.2.0.5 Installation of Patch Set Release (Windows)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-9 09:52:55 | 显示全部楼层 |阅读模式
环境:10.2.0.4集群数据库zlm10g(双节点,zlm10g1,zlm10g2)
系统:Windows 2003 Server 64Bit
内存:2G RAM
存储:ASM
目标:把集群数据库从10.2.0.4升级到10.2.0.5,包括集群软件和OEM的Patch安装

一、升级前准备:


1. 查看是否存在无效对象
SQL> select object_name,status from dba_objects where
status='INVALID';
目的是为了可以判断这些无效对象是由升级过程产生的,还是升级前就已经存在的

2. 检查数据库中的时区 (Time Zone) 信息
SQL> select version from v$timezone_file;


2.1 返回值为4
此时数据库中如果含有TZ信息,在升级中无需额外的操作

2.2 返回值大于4
请查阅[ID 553812.1]文档

2.3 如果返回值小于4
执行以下步骤
@?/rdbms/admin/utltzpv4.sql;
select * from sys.sys_tzuv2_temptab;
如果没有返回行,那么在升级过程无需额外操作
如果返回包含TZ的具体列信息,那么升级操作会影响到该TZ信息

如果SYS用户有拥有SCHEDULER对象,那么在升级过程中可以忽略,但是如果有用户数据或用户创建的job,则需要在升级前对这些数据进行备份,升级后删除全部用户创建的job,然后再重建

两种升级的方式:
滚动升级(无停机时间)
非滚动升级(有停机时间)

二、升级集群数据库软件

1. 首先,准备好10.2.0.5的Patch介质:
p8202632_10205_MSWIN-x86-64

2. 停止所有节点的Oracle相关服务和进程


2.1 停止crs资源
emctlstop dbconsole
isqlplusctlstop
lsnrctlstop
srvctlstop service -d zlm10g
srvctlstop databse -d zlm10g
srvctlstop asm -n rac1
srvctlstop asm -n rac2
srvctlstop listener -n rac1
srvctlstop listener -n rac2
srvctlstop nodeapps -n rac1
srvctlstop nodeapps -n rac2
crs_stat-t检查集群资源是否已经全部关闭
srvctlstop crs

2.2 停止服务
运行services.msc,查看Oracle相关服务是否全部已经关闭,另外有
一个Distributed TransactionCoordinator服务也要停止

2.3 停止进程
查看任务管理器中是否有oracle相关的进程在运行,全部关闭之,如:one.exe

3. 备份以下目录(copy至其他路径):
%ORACLE_CRS_HOME%
%ORACLE_HOME%
%ORACLE_INVENTORY%
注意:推荐先对数据库进行RMAN备份

4. 安装集群软件Patch
安装时,路径选择覆盖原路径安装,即crs_1目录
软件安装完毕后,分别在节点1和节点2运行patch102.bat完成实际安装过程,运行完脚本后,系统会自动运行CRS相关服务

5. 检查集群Patch是否正确安装
crsctlquery crs softwareversion
crsctlquery crs activeversion
如果集群Patch正常安装完毕,这2个命令的输出应该都是10.2.0.5.0

三、数据库软件Patch安装

1. 安装介质和升级ClusterWare时用的是同一个:
p8202632_10205_MSWIN-x86-64

2. 关闭Oracle相关服务和进程


2.1 停止crs资源
emctlstop dbconsole
isqlplusctlstop
lsnrctlstop
srvctlstop service -d zlm10g
srvctlstop databse -d zlm10g
srvctlstop asm -n rac1
srvctlstop asm -n rac2
srvctlstop listener -n rac1
srvctlstop listener -n rac2

2.2 停止服务
运行services.msc,查看Oracle相关服务是否全部已经关闭,另外有
一个Distributed TransactionCoordinator服务也要停止

2.3 停止进程
查看任务管理器中是否有oracle相关的进程在运行,全部关闭之,如:one.exe

3. 安装Oracle数据库软件的Patch
安装路径选择之前装数据库软件的同一个目录,即db_1目录

4. 修改集群数据库参数
装完后以sysdba登录系统,修改cluster_database参数为False
sqlplus/nolog
SQL>alter system set cluster_database=falsescope=spfile;
SQL>shutdown immediate

5. 在节点1跑升级脚本,对数据库进行升级

5.1 进入升级模式:
SQL>startup upgrade

5.2 预检一下升级是否符合条件:
SQL>spool patch_info.log
SQL> @?\rdbms\admin\utlu102i.sql
SQL>spool off
关于预检这个脚本,官网对于每个版本,有更多的补充脚本,会提供更新、更详细的预检内容,详情可以查阅 [ID 884522.1]

5.3 开始执行正式的升级脚本:
SQL>spool patch.log
SQL> @?\rdbms\admin\utlupgrd.sql
10gR2该过程持续约30分钟,11gR2大约需要50分钟


SouthEast.jpg

5.4 编译升级后产生的无效对象
SQL>spool rp.log
SQL> @?\rdbms\admin\utlrp.sql
SQL>spool off

5.5 检查升级后数据库各组件是否有效
SQL> select comp_id,comp_name,status from sys.dba_registry;
如果升级正常完成,全部组件的status列的值应该都是VALID

四、用OPatch安装10.2.0.5以后的补丁


1. 介质准备及说明


p8350262_10205_Generic (OEM补丁)
p12429524_10205_MSWIN-x86-64


这里要说明一下,打该补丁主要目的,是为了能正常使用OEM对数据库进行管理,由于OEM在10.2.0.4和10.2.0.5上正常运行存在一个bug,详见:[ID1222603.1]


如果不打该OEM补丁,那么在执行dbca,dbua,emca配置OEM时,都会提示无法配置EM,启动Database Control失败,原因是根证书CA在31-DEC-2010失效,而无法使用SSL协议进行通讯,导致无法启动,该bug仅限于以上2个版本的PSR


这里第2个介质,p12429524_10205_MSWIN-x86-64包含了更多的fixed bug,所以如果直接安装12429524这个PSU,那么也可以不用安装8350262,二者选一即可


SouthEast.jpg SouthEast.jpg


SouthEast.jpg

2. OPatch安装
对于Oracle所有的Interim Patch,即我们说的经常所说的小补丁(PSU),都可以用OPatch来进行安装,这是Oracle官方提供的一个补丁安装脚本,使用起来很简单,目录就放在ORACLE_HOME\OPatch
下面,Windows平台的可执行文件为opatch.bat,把需要安装的补丁解压到某个目录,然后执行“opatch apply +解压目录路径”就可以了,也可以进入解压出来的那个一串数字的目录中,直接执行opatch apply来安装补丁,如果要查看数据库之前了哪些补丁,可以执行opatch lsinventory[-detail],具体命令可以加-help查阅

3. 重新配置OEM
装完补丁以后,如果直接去启动DBconsole还是会遇到无法正常启动,这里需要对其进行重新配置,主要就是3个步骤:

3.1 节点1执行
emctlsecure dbconsole -reset

3.2 节点2执行
emctlsecure dbconsole
注意,是不带-reset参数的命令

3.3 节点1(或节点2)启动dbconsole
emctlstart dbconsole

五、收尾


至此,全部升级工作顺利结束,检查一下是否有遗漏的Oracle服务和进程未开启,如果有的话,全部开启
services.msc
crs_stat -t
emctlstart dbconsole
isqlplusctlstart
lsnrctlstart
srvctlstart service -d zlm10g
srvctlstart database -d zlm10g
srvctlstart instance -d zlm10g-i zlm10g1
srvctlstart instance -d zlm10g-i zlm10g2
srvctlstart listener -n rac1
srvctlstart listener -n rac2
srvctlstart asm -n rac1
srvctlstart asm -n rac2
srvctlstart nodeapps -n rac1
srvctlstart nodeapps -n rac2
以上命令可选,并非都需要执行一遍,如果crs资源都ONLINE了,那就不需要执行了


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-21872-1-1.html 上篇帖子: ORACLE 同义词(SYNONYM)详解 下篇帖子: Oracle数据库获取uuid函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表