转://对于11gR2的集群relink
对于11gR2的集群relink
参考MOS:
Do I need to relink the Oracle Clusterware / Grid Infrastructure home after an OS upgrade?”RAC: Frequently Asked Questions [ID 220970.1]
我们在对111gR2的RAC的操作系统进行内核升级或者系统升级后,我们一般建议对集群和rdbms进行一次relink
因为对于Oracle Grid Infrastructure(GI) 11.2 及之后的版本,在GRID HOME中有一些binary需要在OS升级或者打补丁后被relink。
当然,如果10g的CRS能够被relink最好也做一下,但是似乎10gR2 的crs没有relink的相关命令,倒是CRS 中的client shared libraries可以被relink
参考:
Will an Operating System Upgrade Affect Oracle Clusterware? [ID 743649.1]
下面提供11gR2 RAC在进行操作系统升级或者内核升级后如何进行relink:
1. 停止当前节点上的所有数据库实例
$su - oracle
$srvctl stop instance -d orcl -i orcl1 -o immediate
2. 切换当前节点的service到其余正常节点,确保业务高可用。
$ srvctl status service -d orcl
3. 用root用户执行<GRID_HOME>/crs/install/rootcrs.pl -unlock来修改相应目录权限并停止GI:
[root@s1-11g ~]# cd /oracle/app/11.2.0/grid/crs/install
[root@s1-11g install]# perl rootcrs.pl -unlock
Using configuration parameter file: ./crsconfig_params
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.crsd‘ on ‘s1-11g‘
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.s2-11g.vip‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.oc4j‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN1.lsnr‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.cvu‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.s2-11g.vip‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.LISTENER_SCAN1.lsnr‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.scan1.vip‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.scan1.vip‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.oc4j‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.cvu‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.OCRVOTE.dg‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.orcl.db‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.LISTENER.lsnr‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.s1-11g.vip‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.s1-11g.vip‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.OCRVOTE.dg‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.orcl.db‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.DATA.dg‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.ARCH.dg‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.DATA.dg‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.ARCH.dg‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.asm‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.ons‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.ons‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.net1.network‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.net1.network‘ on ‘s1-11g‘ succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on ‘s1-11g‘ has completed
CRS-2677: Stop of ‘ora.crsd‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.mdnsd‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.crf‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.ctssd‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.evmd‘ on ‘s1-11g‘
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.mdnsd‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.crf‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.evmd‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.ctssd‘ on ‘s1-11g‘ succeeded
CRS-2677: Stop of ‘ora.asm‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.cluster_interconnect.haip‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.cssd‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.cssd‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.gipcd‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.gipcd‘ on ‘s1-11g‘ succeeded
CRS-2673: Attempting to stop ‘ora.gpnpd‘ on ‘s1-11g‘
CRS-2677: Stop of ‘ora.gpnpd‘ on ‘s1-11g‘ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘s1-11g‘ has completed
CRS-4133: Oracle High Availability Services has been stopped.
Successfully unlock /oracle/app/11.2.0/grid
注意,如果在$GRID_HOME/rdbms/audit下面的audit文件很多,会导致rootcrs.pl执行很长时间,这样的话可以将$GRID_HOME/rdbms/audit/*.aud 文件备份到GRID_HOME之外,然后删除。
4. 禁止GI在OS重启后自动启动,这是因为升级OS或者打OS补丁后,可能需要重启主机,这样的话,需要在relink之前禁止GI启动。
用root用户:
[root@s1-11g install]# crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled.
5. 备份GI和RDBMS的ORACLE_HOME。作为一个DBA,备份是最重要的,当你出现不可逆的错误后,回退备份是你最终极的解决方案。
6. 升级OS内核或者给OS打补丁,包括重启主机等(如果需要)。
7. 用GI的属主用户来对GI binary进行relink:
[root@s1-11g audit]# su - grid
[grid@s1-11g ~]$ export ORACLE_HOME=/oracle/app/11.2.0/grid
确保GI是停止的,然后再执行relink:
[grid@s1-11g ~]$ ps -ef|grep d.bin
grid 3408 3360 0 17:09 pts/0 00:00:00 grep d.bin
[grid@s1-11g ~]$ crsctl stat res -t
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.
[grid@s1-11g ~]$ $ORACLE_HOME/bin/relink
writing relink log to: /oracle/app/11.2.0/grid/install/relink.log
[grid@s1-11g ~]$ <===relink结束后,并不会有任何信息提示,只是显示命令提示符。
需要检查/oracle/app/11.2.0/grid/install/relink.log, 查看是否有错误。
8. 用RDBMS的属主对数据库binary做relink:
su - oracle
确保$ORACLE_HOME设置为了数据库的ORACLE_HOME,然后执行:
[oracle@s1-11g ~]$ $ORACLE_HOME/bin/relink all
writing relink log to: /oracle/app/oracle/product/11.2.0/dbhome_1/install/relink.log
<===relink结束后,并不会有任何信息提示,只是显示命令提示符。
需要检查/oracle/app/oracle/product/11.2.0/dbhome_1/install/relink.log, 查看是否有错误。
9. 用root用户执行<GRID_HOME>/crs/install/rootcrs.pl -patch来修改相应目录权限并启动GI:
[root@s1-11g ~]# cd /oracle/app/11.2.0/grid/crs/install
[root@s1-11g install]# perl rootcrs.pl -patch
Using configuration parameter file: ./crsconfig_params
CRS-4123: Oracle High Availability Services has been started.
10. Enable CRS来保证主机重启后可以自动启动GI:
[root@s1-11g install]# crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
11. 确认所有的应启动的资源都已启动:
[root@s1-11g install]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.OCRVOTE.dg
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
ora.DATA.dg
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
ora.LISTENER.lsnr
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
ora.ARCH.dg
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
ora.asm
ONLINE ONLINE s1-11g Started
ONLINE ONLINE s2-11g Started
ora.gsd
OFFLINE OFFLINE s1-11g
OFFLINE OFFLINE s2-11g
ora.net1.network
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
ora.ons
ONLINE ONLINE s1-11g
ONLINE ONLINE s2-11g
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE s2-11g
ora.cvu
1 ONLINE ONLINE s2-11g
ora.oc4j
1 ONLINE ONLINE s2-11g
ora.s1-11g.vip
1 ONLINE ONLINE s1-11g
ora.s2-11g.vip
1 ONLINE ONLINE s2-11g
ora.orcl.db
1 ONLINE ONLINE s2-11g Open
2 OFFLINE OFFLINE Instance Shutdown
ora.scan1.vip
1 ONLINE ONLINE s2-11g
如果发现实例没有启动,可以手工启动:
$srvctl start instance -d orcl -i orcl1
12. 可以用下面的MOS文档中的方法来确认oracle 的binary是RAC的:
How to Check Whether Oracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC [ID 284785.1]
方法1:如果下面的命令能查出kcsm.o ,说明binary是RAC的:
su - oracle
$ar -t $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o
kcsm.o
在AIX上命令是不同的:
ar -X32_64 -t $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o
方法2:查看RAC特有的后台进程是否存在,比如:
[grid@s1-11g ~]$ ps -ef|grep lmon
grid 7732 1 0 17:59 ? 00:00:17 asm_lmon_+ASM1
oracle 18605 1 0 20:49 ? 00:00:00 ora_lmon_ORCL1 <===========
grid 20992 10160 0 21:10 pts/2 00:00:00 grep lmon
上面的所有步骤需要在集群的各个节点上依次执行。
------------------------------------------------------------------------------------
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址:http://blog.itpub.net/23732248/
原作者:应以峰 (frank-ying)
-------------------------------------------------------------------------------------
转://对于11gR2的集群relink的更多相关文章
- Oracle 11gR2 RAC集群服务启动与关闭总结
引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用 ...
- 处理11gR2 RAC集群资源状态异常INTERMEDIATE,CHECK TIMED OUT
注意节点6,7的磁盘CRSDG的状态明显不正常.oracle@ZJHZ-PS-CMREAD-SV-RPTDW06-DB-SD:~> crsctl status resource -t |less ...
- 11gR2集群件任务角色分离(Job Role Separation)简介
从11gR2版本开始,Oracle推荐使用不同的操作系统用户安装GI和数据库软件,例如:使用grid用户安装GI,使用Oracle用户安装数据库软件.当然,用户还是可以使用Oracle用户安装G ...
- 主机OS重装的节点加回RAC集群步骤示例(11gR2 RAC)
原文地址: https://blogs.oracle.com/Database4CN/entry/%E4%B8%BB%E6%9C%BAos%E9%87%8D%E8%A3%85%E7%9A%84%E8% ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
缓存融合技术和主要后台进程(四) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
RAC 特殊问题和实战经验(五) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
随机推荐
- int和Integer有什么区别?
Java提供两种不同的类型:引用类型和原始类型(或内置类型): int是Java的原始数据类型,Integer是java为int提供的封装类. java为每个原始类型提供了封装类: 原始类型:bool ...
- vue 前台传后台
var the = this:let url = "/api/Purchase_Enter/CancelEnter"; let params = { Enter_Id: Enter ...
- List排序Collections.sort 重写compare
static List<Integer> intList = Arrays.asList(2,5,7, 3, 1); public static void main(String[] ar ...
- MAC MYSQ忘记密码重置方法
网友的方法,记个笔记请勿转载. step1: 关闭mysql服务: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server) ...
- Go开发之路 -- Go语言基本语法 - 作业
1. 判断101 - 200之间有多少个素数,并输出所有素数. package main import ( "fmt" ) var count = 0 func prime(a, ...
- Java 初级软件工程师 认证考试试卷1
Java 初级软件工程师 认证考试试卷 笔试(A卷) 考试时间150分钟 总分 100分 姓 名_______________________ 身份证号_____________ ...
- JMeter 集合点设置之Synchronizing Timer的使用
集合点设置之Synchronizing Timer的使用 by:授客 QQ:1033553122 1.布局设置 注: 1) 说明: 名称:自定义名称 Number of Simulated Users ...
- 【Java入门提高篇】Day22 Java容器类详解(五)HashMap源码分析(上)
准备了很长时间,终于理清了思路,鼓起勇气,开始介绍本篇的主角——HashMap.说实话,这家伙能说的内容太多了,要是像前面ArrayList那样翻译一下源码,稍微说说重点,肯定会让很多人摸不着头脑,不 ...
- Java:匿名类,匿名内部类
本文内容: 内部类 匿名类 首发日期 :2018-03-25 内部类: 在一个类中定义另一个类,这样定义的类称为内部类.[包含内部类的类可以称为内部类的外部类] 如果想要通过一个类来使用另一个类,可以 ...
- Android、IOS文字居中偏离的解决方案
前言 移动端开发,经常会遇到的问题,就是文字居中.一般都只能往css方向去fix这个问题. 自己以前也用过position:relative;top:-*px的方式去解决.