oracle添加节点.docx
- 文档编号:15263386
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:49
- 大小:1.47MB
oracle添加节点.docx
《oracle添加节点.docx》由会员分享,可在线阅读,更多相关《oracle添加节点.docx(49页珍藏版)》请在冰点文库上搜索。
oracle添加节点
(1)初始化第3台节点
[君三思]2009-11-18
RAC是项非常优秀的特性,其前身OPS从oracle6即开始提供,自9i版本更名为RAC后,经过这么多年的完善已经非常的成熟和稳定。
使用RAC特性能够有效的提升企业数据库系统的可用性,并有效增强整个系统的负载能力。
考虑到数据规模的不断增长,最初设计良好的系统随着业务量的增大可能会逐渐不勘负担,如果是RAC环境的数据库,就可以考虑通过增加节点的方式,来提升该配环境的负载能力。
本文将通过示例演示,对现有的RAC数据库环境增加节点的相关操作。
这里我们的操作基于一套双节点的RAC环境。
在本文正式开始前,俺先假设要添加的节点已安装好操作系统;内核参数已经进行修改;ORACLE用户已初始化;成功并正确的配置和共享存储;相关rpm包均已安装;与当前RAC环境中各节点互联互通等等吧。
提示:
新节点需要进行的准备工作,可以参考三思笔记系列文章:
"手把手教你用VMware在linux下安装oracle10gRAC"中配置linux环境相关章节内容。
一、初始化第3台节点
即使是添加节点,那么首先就需要对新节点进行适当的配置,以使其能够满足成为RAC环境中一员的需要。
1.1配置hosts文件
执行命令如下:
[root@jssdbn2~]#vi/etc/hosts
修改hosts文件中的内容,修改完成后,hosts文件中至少包含下列的内容:
192.168.10.11jssdbn1
192.168.10.12jssdbn2
192.168.10.13jssdbn3
192.168.10.21jssdbn1-vip
192.168.10.22jssdbn2-vip
192.168.10.23jssdbn3-vip
10.10.10.101jssdbn1-priv
10.10.10.102jssdbn2-priv
10.10.10.103jssdbn3-priv
注意,这里不仅新增加的节点中hosts文件需要修改,同一个RAC环境中所有节点的hosts文件都必须重新修改。
1.2配置SSH密钥认证
RAC环境中各节点间不仅时刻保持通讯,而且还有可能互访文件,因此必须要保证各节点间访问不需输入DBA手动密码即可自动完成,这里我们通过配置SSH来实现这一点。
首先是在新增加的节点时操作,即jssdbn3节点(注意执行命令的用户):
[root@jssdbn3~]#su-oracle
[oracle@jssdbn3~]$mkdir~/.ssh
[oracle@jssdbn3~]$chmod700~/.ssh
[oracle@jssdbn3~]$ssh-keygen-trsa
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_rsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/oracle/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_rsa.pub.
Thekeyfingerprintis:
37:
89:
ec:
6a:
49:
2d:
18:
5d:
9d:
c2:
7c:
66:
84:
b0:
2e:
94oracle@jssdbn3
[oracle@jssdbn3~]$ssh-keygen-tdsa
Generatingpublic/privatedsakeypair.
Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_dsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/oracle/.ssh/id_dsa.
Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_dsa.pub.
Thekeyfingerprintis:
43:
f1:
b1:
9f:
e6:
ec:
b5:
b0:
74:
72:
24:
22:
22:
5c:
24:
caoracle@jssdbn3
然后转至jssdbn1节点执行,也是以oracle身份进行操作(执行过程中,当访问远端节点时可能需要输入目标节点的密码):
[oracle@jssdbn1~]$sshjssdbn3cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
Theauthenticityofhost¨jssdbn3(192.168.10.13)¨can¨tbeestablished.
RSAkeyfingerprintis95:
23:
18:
7a:
5b:
a9:
5f:
48:
d7:
1e:
1a:
f9:
01:
ec:
f0:
b1.
Areyousureyouwanttocontinueconnecting(yes/no)?
yes
Warning:
Permanentlyadded¨jssdbn3,192.168.10.13¨(RSA)tothelistofknownhosts.
oracle@jssdbn3¨spassword:
[oracle@jssdbn1~]$sshjssdbn3cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
oracle@jssdbn3¨spassword:
最后传输jssdbn1节点中配置好的认证密钥信息到节点2和节点3,执行命令如下:
[oracle@jssdbn1~]$scp~/.ssh/authorized_keysjssdbn2:
~/.ssh/authorized_keys
authorized_keys100%30002.9KB/s00:
00
[oracle@jssdbn1~]$scp~/.ssh/authorized_keysjssdbn3:
~/.ssh/authorized_keys
oracle@jssdbn3¨spassword:
authorized_keys100%30002.9KB/s00:
00
配置完成后,在三个节点分别执行下列命令:
sshjssdbn1date
sshjssdbn2date
sshjssdbn3date
sshjssdbn1-privdate
sshjssdbn2-privdate
sshjssdbn3-privdate
某些节点第一次执行上述某些命令时可能会提示输入目标节点的密码,没有关系,输入就是。
不过执行过一次之后,应该就不会再需要输入密码了,如果多次尝试调用命令,仍然提示输入密码,则有可能前面的步骤配置有误,尝试重新对ssh密钥进行配置。
最终执行的结果,应该类似这样,能够直接看到返回信息:
[oracle@jssdbn3~]$sshjssdbn1date
MonNov912:
54:
47CST2009
[oracle@jssdbn3~]$sshjssdbn2date
MonNov912:
54:
48CST2009
[oracle@jssdbn3~]$sshjssdbn3date
MonNov912:
54:
49CST2009
[oracle@jssdbn3~]$sshjssdbn1-privdate
MonNov912:
54:
56CST2009
[oracle@jssdbn3~]$sshjssdbn2-privdate
MonNov912:
54:
59CST2009
[oracle@jssdbn3~]$sshjssdbn3-privdate
MonNov912:
54:
58CST2009
1.3配置ASM共享盘
在新增的节点上配置ORACLEASM驱动,首先执行oracleasmconfigure命令,注意要以root身份进行。
[root@jssdbn3~]#/etc/init.d/oracleasmconfigure
ConfiguringtheOracleASMlibrarydriver.
Thiswillconfiguretheon-bootpropertiesoftheOracleASMlibrary
driver.Thefollowingquestionswilldeterminewhetherthedriveris
loadedonbootandwhatpermissionsitwillhave.Thecurrentvalues
willbeshowninbrackets(¨[]¨).Hittingwithouttypingan
answerwillkeepthatcurrentvalue.Ctrl-Cwillabort.
Defaultusertoownthedriverinterface[]:
oracle
Defaultgrouptoownthedriverinterface[]:
dba
StartOracleASMlibrarydriveronboot(y/n)[n]:
y
ScanforOracleASMdisksonboot(y/n)[y]:
y
WritingOracleASMlibrarydriverconfiguration:
done
InitializingtheOracleASMLibdriver:
[OK]
ScanningthesystemforOracleASMLibdisks:
[OK]
提示:
如果本步执行出错(可能出错机率最高的是在ScanningsystemforASM),不妨将转换一下命令行的执行方式,改成:
[root@jssdbn3~]#sh/etc/init.d/oracleasmconfigure
有可能解决你的问题!
如果configure执行正常,下面检查一下磁盘组:
[root@jssdbn3Server]#/etc/init.d/oracleasmscandisks
ScanningthesystemforOracleASMLibdisks:
[OK]
如无问题,再接着listdisks,应该能够看到当前RAC环境中创建的ASM盘:
[root@jssdbn3Server]#/etc/init.d/oracleasmlistdisks
VOL1
VOL2
确保上述oracleasmlistdisks显示的结果与实际情况相同。
新节点的配置基本告以段落,下面准备开始安装crs喽。
(2)安装clusterware到新节点
[君三思]2009-11-19
二、添加clusterware到新节点
2.1检查安装环境
首先是检查安装环境,仍然是使用runcluvfy.sh脚本来进行验证,该脚本可以在现有RAC配置中的任意节点上执行,这里在节点1执行,如下:
[oracle@jssdbn1~]$/data/software/clusterware/cluvfy/runcluvfy.shstage-precrsinst-njssdbn3-verbose
Performingpre-checksforclusterservicessetup
Checkingnodereachability...
Check:
Nodereachabilityfromnode"jssdbn1"
DestinationNodeReachable?
------------------------------------------------------------
jssdbn3yes
Result:
Nodereachabilitycheckpassedfromnode"jssdbn1".
Checkinguserequivalence...
Check:
Userequivalenceforuser"oracle"
NodeNameComment
------------------------------------------------------------
jssdbn3passed
Result:
Userequivalencecheckpassedforuser"oracle".
Checkingadministrativeprivileges...
Check:
Existenceofuser"oracle"
NodeNameUserExistsComment
------------------------------------------------------------
jssdbn3yespassed
Result:
Userexistencecheckpassedfor"oracle".
Check:
Existenceofgroup"oinstall"
NodeNameStatusGroupID
------------------------------------------------------------
jssdbn3exists500
Result:
Groupexistencecheckpassedfor"oinstall".
Check:
Membershipofuser"oracle"ingroup"oinstall"[asPrimary]
NodeNameUserExistsGroupExistsUserinGroupPrimaryComment
----------------------------------------------------------------------------
jssdbn3yesyesyesyespassed
Result:
Membershipcheckforuser"oracle"ingroup"oinstall"[asPrimary]passed.
Administrativeprivilegescheckpassed.
Checkingnodeconnectivity...
Interfaceinformationfornode"jssdbn3"
InterfaceNameIPAddressSubnet
----------------------------------------------------------------------------
eth0192.168.10.13192.168.10.0
eth110.10.10.10310.10.10.0
Check:
Nodeconnectivityofsubnet"192.168.10.0"
Result:
Nodeconnectivitycheckpassedforsubnet"192.168.10.0"withnode(s)jssdbn3.
Check:
Nodeconnectivityofsubnet"10.10.10.0"
Result:
Nodeconnectivitycheckpassedforsubnet"10.10.10.0"withnode(s)jssdbn3.
Suitableinterfacesfortheprivateinterconnectonsubnet"192.168.10.0":
jssdbn3eth0:
192.168.10.13
Suitableinterfacesfortheprivateinterconnectonsubnet"10.10.10.0":
jssdbn3eth1:
10.10.10.103
ERROR:
CouldnotfindasuitablesetofinterfacesforVIPs.
Result:
Nodeconnectivitycheckfailed.
Checkingsystemrequirementsfor¨crs¨...
Nochecksregisteredforthisproduct.
Pre-checkforclusterservicessetupwasunsuccessfulonallthenodes.
如果返回信息中提示“CouldnotfindasuitablesetofinterfacesforVIPs.”,可以忽略该错误信息,这是一个bug,Metalink中有详细说明,doc.id:
338924.1。
没有其它错误的话,安装可以正常进行,下面准备正式进入安装阶段。
2.2安装clusterware到新节点
新节点中clusterware的安装也是从现有的RAC环境中开始的,在当前RAC环境中任意节点的$ORA_CRS_HOME,执行oui/bin/addNode.sh脚本敲出视界界面,操作如下:
然后就能看到视图界面,点击下一步
看到当前已有的节点列表。
在下方输入框中输入新结点的信息,包括public-name,private-name等,这部分信息应与hosts文件中完全匹配才行。
正确输入后点击下一步,如图:
显示摘要信息如图,如无问题,点击install按钮:
开始复制文件,并进行一些必要的配置:
当文件复制完成后,会提示运行脚本指定的脚本:
一定要按照界面中的提示,在正确的节点中按照顺序执行脚本。
详细说就是:
∙节点3上执行orainstRoot.sh;
∙节点1上执行rootaddnode.sh;
∙节点3上执行root.sh;
上述所有脚本都是以root身份执行。
需要注意最后一个脚本,即root.sh执行时会调用vipca,不过vipca脚本中部分代码对应一个bug:
3937317,建议在执行root.sh前首先修改vipca文件
[root@jssdbn3~]#vi/data/ora10g/product/10.2.0/crs_1/bin/vipca
找到如下内容:
Removethisworkaroundwhenthebug3937317isfixed
arch=`uname-m`
if["$arch"="i686"-o"$arch"="ia64"]
then
LD_ASSUME_KERNEL=2.4.19
exportLD_ASSUME_KERNEL
fi
#Endworkaround
在fi后新添加一行:
unsetLD_ASSUME_KERNEL
保存退出,然后再在jssdbn3节点端执行root.sh
Root.sh执行完成后,默认情况下会自动调用vipca,用来配置虚拟IP的网络接口服务,不过如果前面root.sh脚本执行时因为bug原因,未能自动调用vipca,那么在root执行完毕后,手动执行vipca命令即可打开配置窗口,该项配置比较简单,基本上全面点击下一步即可。
如果脚本执行一切顺序,返回到crs的安装界面,点击ok按钮。
正如界面中所示,EndofInstallation,点击exit退出该界面即可。
接下来需要将新节点的ONS(OracleNotificationServices)配置信息写入OCR(OracleClusterRegister),在节点1执行脚本如下:
[oracle@jssdbn1~]$/data/ora10g/product/10.2.0/crs_1/bin/racgonsadd_configjssdbn3:
6200
提示:
jssdbn3的端口号可以查询该结节中/data/ora10g/product/10.2.0/crs_1/opmn/conf/ons.config文件中的配置,此处指定的端口号为remoteport。
至此,新节点的CLUSTERWARE配置完成,要检查安装的结果,可以在新节点中调用cluvfy命令进行验证,例如:
[oracle@jssdbn3~]$/data/ora10g/product/10.2.0/crs_1/bin/cluvfystage-postcrsinst-njssdbn3-verbose
Performingpost-checksforclusterservicessetup
Checkingnodereachability...
Check:
Nodereachabilityfromnode"jssdbn3"
DestinationNodeReachable?
------------------------------------------------------------
jssdbn3yes
Result:
Nodereachabilitycheckpassedfromnode"jssdbn3".
Checkinguserequivalence...
Check:
Userequivalenceforuser"oracle"
NodeNameComment
------------------------------------------------------------
jssdbn3passed
Result:
Userequivalencecheckpassedforuser"oracle".
CheckingClustermanagerintegrity...
CheckingCSSdaemon...
NodeNameStatus
------------------------------------------------------------
jssdbn3running
Result:
Daemonstatuscheckpassedfor"CSSdae
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 添加 节点