配色: 字号:
Oracle 11g +CentOS6 RAC集群搭建
2016-10-18 | 阅:  转:  |  分享 
  
Oracle11g+CentOS6RAC集群搭建官方文档参考:https://oracle-base.com/articles/11g
/oracle-db-11gr2-rac-installation-on-oel5-using-virtualboxhttps:/
/oracle-base.com/articles/11g/oracle-db-11gr2-rac-installation-on
-oel5-using-virtualbox#create_shared_disks网友文档参考:http://blog.itp
ub.net/28883355/viewspace-1125122/http://blog.itpub.net/28883355/
viewspace-1125122/本文档linux采用centos6.7虚拟机采用vmwareworkstation10本
地网络环境:10.16.122.N本地主机ip地址:10.16.122.70/etc/hosts配置:#publicip10.1
6.122.197rac0110.16.122.199rac02#virtualip10.16.122.210r
ac01-vip10.16.122.220rac02-vip#privateip192.168.10.1rac01-p
riv192.168.10.2rac02-priv#scanip10.16.122.230rac-scan10.16.12
2.231rac-scan10.16.122.232rac-scan注:SCANip必须与publicip和VIP在一个子网。
安装虚拟机(略):注意:网络链接选择桥接安装两台虚拟机略配置网络:虚拟机rac01#vim/etc/sysconfig/ne
twork-scripts/ifcfg-eth0内容如下:DEVICE=eth0TYPE=EthernetUUID=c5125
3ff-4b8f-4e1a-935b-0ea4d352e870ONBOOT=yesNM_CONTROLLED=yesBOOTPRO
TO=noneIPADDR=10.16.122.197//共有地址,即IP配置中的rac01PREFIX=24DEFROUTE=
yesIPV4_FAILURE_FATAL=yesIPV6INIT=noNAME="Systemeth0"HWADDR=00:0
c:29:85:ca:61//mac地址NETMASK=255.255.255.0//子网掩码GATEWAY=10.16.12
2.254USERCTL=no虚拟机rac02DEVICE=eth0TYPE=EthernetUUID=c51253ff-4b8f
-4e1a-935b-0ea4d352e870ONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneI
PADDR=10.16.122.199//共有地址,即IP配置中的rac02PREFIX=24DEFROUTE=yesIPV4
_FAILURE_FATAL=yesIPV6INIT=noNAME="Systemeth0"HWADDR=00:0c:29:36
:cf:09NETMASK=255.255.255.0GATEWAY=10.16.122.254USERCTL=no配置完成后:重
启网络#servicenetworkrestart测试本地主机windowip与虚拟机能否ping通#ping10.16
.122.70添加网卡关闭虚拟机,右击虚拟机—设置—添加—网络适配器选择仅主机模式(onlyhost)配置新添加的网卡启动虚拟
机,执行#ifconfig,查看是否多出一块网卡(eth1新增),如下:eth0Linkencap:Ethernet
HWaddr00:0C:29:85:CA:61inetaddr:10.16.122.199Bcast:10.16
.122.255Mask:255.255.255.0inet6addr:fe80::20c:29ff:fe85:ca61
/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:8033errors:0dropped:0overruns:0frame:0TXpackets
:652errors:0dropped:0overruns:0carrier:0collisions:0txqueue
len:1000RXbytes:875509(854.9KiB)TXbytes:95661(93.4KiB)e
th1Linkencap:EthernetHWaddr00:0C:29:85:CA:6Binetadd
r:192.168.10.1Bcast:192.168.10.255Mask:255.255.255.0inet6ad
dr:fe80::20c:29ff:fe85:ca6b/64Scope:LinkUPBROADCASTRUNNINGM
ULTICASTMTU:1500Metric:1RXpackets:5errors:0dropped:0over
runs:0frame:0TXpackets:29errors:0dropped:0overruns:0carrie
r:0collisions:0txqueuelen:1000RXbytes:414(414.0b)TXbyte
s:2070(2.0KiB)如果没有的话,不要急,进入网络配置目录#cd/etc/sysconfig/network-sc
ripts复制ifcfg-eth0为ifcfg-eth1#cpifcfg-eth0ifcfg-eth1修改ifcfg-eth
1#vimifcfg-eth1内容如下:HWADDR=00:0c:29:85:ca:6b//eth1网卡的mac地址DE
VICE=eth1ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.10.1//IP配置中的ra
c01-privNETMASK=255.255.255.0查看eth1网卡的mac地址(红色字体即是):#cat/etc/ud
ev/rules.d/70-persistent-net.rulesSUBSYSTEM=="net",ACTION=="add
",DRIVERS=="?",ATTR{address}=="00:0c:29:85:ca:6b",ATTR{type}=
="1",KERNEL=="eth",NAME="eth1"重启网络#ifupeth1#servicenetworkr
estart此时配置的ip之间可以互相ping通,但是外网无法ping通,这时因为没有配置dns配置dns查看本地主机window
的dns服务器按window+r的输入cmd命令行ipconfig–all查看DNS服务器地址虚拟机下添加查到的dns服务
器地址#vim/etc/resolv.conf添加dnsnameserver10.16.10.6nameserver1
0.16.10.8或者使用公共的dns服务器nameserver114.114.114.114nameserver8.8.
8.8测试ping外网#pinghttp://www.baidu.comwww.baidu.comOK网络配置完成注意:有时候会
遇到一个比较诡异的情况,配置的dns,在每次重启网卡的时候,都会消失,导致外网无法访问,解决方法:#chkconfigNetw
orkManageroff#chkconfignetworkon#serviceNetworkManagerstop#
servicenetworkstart#servicenetworkrestart检查安装rac依赖的包有些软件包(比
如i386平台的),yum是搜不到的,只能手动安装,可能会遇到N多依赖包,可以略过,安装其他包,回过头来再安装时候发现这些依赖不需
要了,在其他软件包安装时候已经安装了。对于有冲突的(i386和x86_64)强制安装expat-1.95.7(x86_64)有
pdksh-5.2.14缺(yum搜不到,手动安装)sysstat-5.0.5有gcc-3.4.6缺libgcc-3.4.6
(x86_64)libgcc-3.4.6(i386)缺(yum搜不到,手动安装)libaio-0.3.105(x86_64
)libaio-0.3.105(i386)缺(yum搜不到,手动安装)libaio-devel-0.3.105(x86_64
)缺libaio-devel-0.3.105(i386)缺(yum搜不到,手动安装)gcc-c++-3.4.6缺glibc
-2.3.4-2.41(x86_64)glibc-2.3.4-2.41(i686)缺glibc-headers-2.3.4g
libc-devel-2.3.4(x86_64)glibc-common-2.3.4elfutils-libelf-devel
-0.97缺elfutils-libelf-0.97(x86_64)compat-libstdc++-33-3.2.3(
x86_64)缺compat-libstdc++-33-3.2.3(i386)缺(yum搜不到,手动安装)compat-l
ibcap1.x86_64缺binutils-2.15.92.0.2libstdc++-devel-3.4.6(x86_64
)libstdc++-3.4.6(x86_64)libstdc++-3.4.6(i386)缺(yum搜不到,手动安装)mak
e-3.80unixODBC-2.2.11(x86_64)缺(yum搜不到,手动安装)unixODBC-devel-2.2.1
1(x86_64)缺(yum搜不到,手动安装)unixODBC-libs-2.2.11-10.el5.i386缺(yum搜不
到,手动安装)unixODBC-devel-2.2.11(i386)缺(yum搜不到,手动安装)unixODBC-2.2.11
(i386)缺(yum搜不到,手动安装)oracleasmlib-2.0.4-1.el4.x86_64缺kmod-oracle
asm-2.0.8-6.el6_7.x86_64(yum可安装)oracleasm-support-2.1.8-1.el6.x8
6_64缺包如何安装??????????查看包是否安装:#rpm–qa|grep包名搜索yum源是否有未安装的包:#yu
msearch包名yum能搜索到的包安装#yuminstall-y包名Yum搜索不到的包只能手动安装了#rpm–ivh
包名对于i386或者i686,因为已经有x86_64的包已经安装了需要强制安装加参数–force检查上述的依赖包是否安装,
如果没有安装的则安装,这些包是安装rac的依赖包,unixODBC-libs先安装,才能安装unixODBC-devel-2.2.
11(i386),unixODBC-2.2.11(i386)。报冲突的强制安装,有依赖的需要yum安装。在用yum安装的
时候遇到一个问题:YumRepoError:AllmirrorURLsarenotusingftp,http[s
]orfile.Eg./removingmirrorlistwithnovalidmirrors:
/var/cache/yum/x86_64/6/base/mirrorlist.txt错误:Cannotfindavali
dbaseurlforrepo:base网上查阅资料,说是dns设置不正确导致的,可是我的dns设置的正确的,ping外网
也能ping通,但就是yum安装软件不行,经过多方尝试,终于找出问题,问题出在公司的网需要账号和密码才能使用,因为使用的桥接模式,
所以虚拟机就等同于公司局域网的一台真实的机器,所以必须虚拟机中必须输入账号和密码,才能访问外网,因为之前虚拟机没有安装桌面系统,所
以始终不得正解,后来安装了桌面系统,并输入账号和密码,yum终于能用了,哎,这个问题困住了好久。RedHatEnterpris
eLinux4oracleasmlib包的下载地址http://www.oracle.com/technetwork/ser
ver-storage/linux/downloads/rhel4-092650.htmlhttp://www.oracle.co
m/technetwork/server-storage/linux/downloads/rhel4-092650.html创建o
racle和集群用户ORACLE及集群用户情况如下组别gridoracleoinstallYYdbaYYoperNYasmadm
inYNasmdbaYYasmoperYN开始创建组和用户:#groupaddoinstall#groupadddba#
groupaddoper#groupaddasmdba#groupaddasmoper#groupaddasmadm
in#useradd–gdba-Goinstall,oper,asmdbaoracle#useradd–gas
mdba–Goinstall,dba,asmadmin,asmopergrid设置用户密码#passwdoracle#pa
sswdgrid开始创建安装目录#mkdir/u01#mkdir/u01/grid#mkdir/u01/oracle
#mkdir/u01/gridbase修改文件的归属#chown–Rgrid:oinstall/u01#chown
–Roracle:oinstall/u01/oracle给文件属组增加写权限#chmod-Rg+w/u01配置环境变量
两个节点都做,注意两节点的ORACLE_SID不能相同,前缀cludb相同,后面的数字依次排序。切换到oracle用户:#su
–oracle#vim~/.bash_profile末尾增加:ORACLE_BASE=/u01/oracleORACL
E_HOME=/u01/oracle/dbORACLE_SID=cludb1PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHDISPLAY=10.16.12
2.70:0.0exportORACLE_BASEORACLE_HOMEORACLE_SIDPATHLD_LIBRARY
_PATHDISPLAY切换grid用户:#su–grid#vim~/.bash_profile末尾增加:ORA
CLE_BASE=/u01/gridbaseORACLE_HOME=/u01/gridPATH=$ORACLE_HOME/bin:
$PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHDISPLAY=10.
16.122.70:0.0exportORACLE_BASEORACLE_HOMEPATHLD_LIBRARY_PATH
DISPLAY注:DISPLAY是本地主机的ip,本地安装Xmanager,rac安装界面将在本地显示关闭不需要的服务Root用
户:?关闭SELINX#vim/etc/selinux/config?#编辑配置文件#SELINUX=enforcing?#注释
掉#SELINUXTYPE=targeted?#注释掉SELINUX=disabled?#增加关闭防火墙#setup根据图形化界面
选择上下箭头选择【SystemService】系统服务,找到iptables,ip6tables,sendmail,按空格键取消
[]中的号,按TAB键保存,并退出修改linux内核参数Root用户:#vim/etc/sysctl.conf具体参数意义参考
官方文档fs.aio-max-nr=1048576fs.file-max=6815744kernel.shmall=
2097152kernel.shmmax=1073741824kernel.shmmni=4096kernel.s
em=25032000100128net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144net.core.rmem_max=4194304net.co
re.wmem_default=262144net.core.wmem_max=1048586使修改生效#sysctl
–p配置/etc/security/limits.conf#vim/etc/security/limits.conforac
lesoftnproc2047oraclehardnproc16384oraclesoft
nofile1024oraclehardnofile65536oraclesoftstack
10240gridsoftnproc2047gridhardnproc16384gridsoftnofil
e1024gridhardnofile65536gridsoftstack10240设置节点时间同步Root用户
:一般时间同步有linux的ntpd时间同步,还有就是oracle的时间同步,我们用oracle的时间同步,需要关闭ntpd服务#
/sbin/servicentpdstop#chkconfigntpdoff#mv/etc/ntp.conf/
etc/ntp.conf.original还要删除以下文件(如果有的话):#rm/var/run/ntpd.pid创建共享磁盘
在虚拟机rac001节点右击--【设置】---【添加】---【硬盘】稍等片刻,一块磁盘创建完毕,重复上述动作两次,创建3块磁盘。将
创建的磁盘剪切至一个公共目录:移除rac001节点中的上述创建的磁盘(因为已经剪切走了)然后再重复上述创建磁盘的动作,在第7步骤的
时候不再选择【创建虚拟磁盘】,而是选择【使用现有虚拟磁盘】,然后选择移至公共目录下的磁盘文件sharedisk-1.vmdk,sh
aredisk-2.vmdk,sharedisk-3.vmdk,创建三块磁盘,保存后,更新三块磁盘的高级属性,分别选择scsi1:
1,scsi1:2,scsi1:3.节点rac002同样如此。修改节点rac001和节点rac002的配置文件rac001.vmx
,rac002.vmx添加如下:disk.locking="FALSE"diskLib.dataCacheMaxSize=
"0"diskLib.dataCacheMaxReadAheadSize="0"diskLib.dataCacheMinRea
dAheadSize="0"diskLib.dataCachePageSize="4096"diskLib.maxUnsy
ncedWrites="0"scsi1:1.deviceType="disk"scsi1:2.deviceType="disk
"scsi1:3.deviceType="disk"开启rac001:Root用户:#cd/dev/#ls–lsd将
看到sdb,sdc,sdd,这三块就是添加的磁盘对硬盘进行分区#fdisksdb按m键,此时有多个选项供选择按n键(创建新分区
)按p键(创建主分区,另有e键是扩展分区)按1键(分区数字从1开始,即sdb1,sdc1等)按1键(分区从第一个柱面开始)回车(
结束柱面选择默认,即全部柱面只分在一个区)按w键(将操作写入分区表)依次对sdbsdcsde用oracleasm命令创建磁
盘Root用户:#oracleasmconfigure–i然后输入用户grid输入组dba输入y输入y#oracleasm
init创建磁盘DISK01,DISK02,DISK03#oracleasmcreatediskDISK01sdb1#
oracleasmcreatediskDISK02sdc1#oracleasmcreatediskDISK03sdd
1查看磁盘:#oracleasmlistdisksDISK01DISK02DISK03开启节点rac002注:如果已开启则重启
Root用户:#oracleasmconfigure-i输入grid输入dba输入y输入y#oracleasminit
重启#reboot#oracleasmlistdisks节点2也能看到DISK01,DISK02,DISK03了配置节点间的相互
信任注:grid,Oracle用户都需要添加相互信息,下面以grid为例Grid用户:在节点rac001和rac002节点分别执行
#ssh-keygen-trsa然后一路回车#cat~/.ssh/id_rsa.pub>>~/.ssh/autho
rized_keys在节点rac001上执行#sshrac002cat~/.ssh/id_rsa.pub>>~/.
ssh/authorized_keys在节点rac002上执行#sshrac001cat~/.ssh/id_rsa.pu
b>>~/.ssh/authorized_keys如果秘钥的生成路径是按照上面一路默认的话,可以执行命令(rac002节点
:ssh-copy-idgrid@rac001;rac001节点:ssh-copy-idgrid@rac002)将本地公钥追
加到authorized_keys上测试:在rac002,rac001上分别执行#sshrac001date#sshrac0
02date只要不再提示输入密码就成功了安装集群gridGrid用户:将集群软件linux.x64_11gR2_grid.zip
上传至/u01目录,并解压将解压至grid目录,更改解压后文件属主#chown–Rgrid:oinstallgrid进入加
压后的目录#cd/u01/grid执行安装前检查操作#./runcluvfy.shstage-precrsinst-n
rac01,rac02-fixup-verbose下面是检查过程如果上面的依赖包全部正确安装的话,检查应该不会有问题执行集
群服务设置的预检查正在检查节点的可访问性...检查:节点"rac01"的节点可访问性目标节点是否可访问?------
------------------------------------------------------rac01是
rac02是结果:节点"rac001"的节点可访问性检查已通过正在检查等同用户...检查:用户"grid"的等同用户
节点名注释-------------------------------------------------------
-----rac02通过rac01通过结果:用户"grid"的等同用户检查已通过正在检查节点的连接性..…………………
.可能会出现的问题:1),用户"grid"的等同用户检查失败解决方法:在失败的节点执行#sshrac001/rac002d
ate2)交换空间内存不够#ddif=/dev/zeroof=swapfilebs=1024count=150000
01024单位byte,增加1.5G内存大小#mkswapswapfile#swaponswapfile交换内存开机自
动挂载#vim/etc/fstab加入/home/swapfileswapswapdefaults0
0如果检查成功则开始安装操作开始安装Grid用户:只在第一个节点执行安装命令#./runInstaller等待一会将会在本地主
机出现安装界面我们这里选择“高级安装”,点击“next”选择“English”,点击“Next”这里要填写scanname,对应
我们的/etc/hosts里写的名字,不选择GNS,点击“next”点击Add将其他节点加进来,点击SSHConnectivit
y输入grid用户密码点击Test测试,成功后点击next执行脚本1)所有节点均需执行2)以下错误均是安装时候出过的错误,执
行脚本前请先查看以下信息,以防再次犯错所有节点上执行#/u01/oraInventory/oraInstRoot.sh#/u0
1/grid/root.sh【错误信息1】在执行root.sh脚本时候,出现错误:/u01/grid/bin/clscfg.bin
:errorwhileloadingsharedlibraries:libcap.so.1:cannotopen
sharedobjectfile:NosuchfileordirectoryFailedtocreatekey
sintheOLR,rc=127,32512OLRconfigurationfailed共享库libcap.so
.1找不到,因为缺少包compat-libcap1.x86_64.rpm(前文依赖包中有此包,若已安装,则不会出现此错误),yu
m安装:#yuminstall-ycompat-libcap1.x86_64安装完毕后,需要将之前失败的配置删除再重新执行
脚本:#/u01/grid/crs/install/rootcrs.pl-delete-force-verbose【错误信
息2】再次执行root.sh脚本,有遇到错误:CRS-4124:OracleHighAvailabilityService
sstartupfailed.CRS-4000:CommandStartfailed,orcompletedwit
herrors.ohasdfailedtostart:对设备不适当的ioctl操作ohasdfailedtos
tartat/u01/grid/crs/install/rootcrs.plline443.经过查找得知这是11.2.0.
1版本一个经典的BUG,据说这个错误只在linux6.1下,且Oracle版本为11.2.0.1的时候出现,在11.2.0.3
就不再有这个bug了。解决方法:在执行root.sh脚本时候,当出现Addingdaemon?toinittab的时候,在另一
个窗口执行下面命令:/bin/ddif=/var/tmp/.oracle/npohasdof=/dev/nullbs=102
4count=1如果出现/bin/dd:opening`/var/tmp/.oracle/npohasd'':Nosuch
fileordirectory的时候该文件还没生成就继续执行,直到能执行为止。脚本执行完毕后,点击安装界面的OK,继续下一步,
如果出现下面的错误,可以忽略,问题是由于scan-cluster使用/etc/hosts文件来解析造成的,直接跳过,不影响。如果是
用dns来解析的话应该不会报此错误点击OK--next安装完成点击Close关闭即可。执行过程如果root.sh脚本执行失败,
重新执行如下:如果节点一成功,节点二失败节点二执行#/u01/grid/crs/install/rootcrs.pl-verb
ose-deconfig-force#/u01/grid/root.sh完成后检查执行:#crs_stat–t–v报
错:CRS-0184:CannotcommunicatewiththeCRSdaemon然后用grid启动命令#
crsctlstartcrs报CRS-4563:Insufficientuserprivileges.CRS-4000
:CommandStartfailed,orcompletedwitherrors.那就换root启动,结果报CRS
-4640:OracleHighAvailabilityServicesisalreadyactiveCRS-400
0:CommandStartfailed,orcompletedwitherrors.解决方法:所有节点执行#dd
if=/var/tmp/.oracle/npohasdof=/dev/nullbs=1024count=1然后执行#c
rs_start–all#crsctlcheckcrs//检查crs发现已经online了CRS-4638:
OracleHighAvailabilityServicesisonlineCRS-4537:ClusterRead
yServicesisonlineCRS-4529:ClusterSynchronizationServicesis
onlineCRS-4533:EventManagerisonline再次执行#crs_stat–t–vora
.DATA.dgora....up.typeONLINEONLINErac01ora....ER.lsn
rora....er.typeONLINEONLINErac01ora....N1.lsnrora....e
r.typeONLINEONLINErac01ora.asmora.asm.typeONL
INEONLINErac01ora.eonsora.eons.typeONLINEONL
INErac01ora.gsdora.gsd.typeOFFLINEOFFLINEora...
.networkora....rk.typeONLINEONLINErac01ora.oc4jo
ra.oc4j.typeOFFLINEOFFLINEora.onsora.ons.typeONLI
NEONLINErac01ora....SM1.asmapplicationONLINEONLI
NErac01ora....01.lsnrapplicationONLINEONLINErac0
1ora.rac01.gsdapplicationOFFLINEOFFLINEora.rac01.onsap
plicationONLINEONLINErac01ora.rac01.vipora....t1.ty
peONLINEONLINErac01ora....SM2.asmapplicationONLINE
ONLINErac02ora....02.lsnrapplicationONLINEONLINE
rac02ora.rac02.gsdapplicationOFFLINEOFFLINEora.rac02.
onsapplicationONLINEONLINErac02ora.rac02.vipora..
..t1.typeONLINEONLINErac02ora.scan1.vipora....ip.type
ONLINEONLINErac01节点1执行root.sh脚本成功显示信息:ConfigureOracleGr
idInfrastructureforaCluster...succeededUpdatinginventoryp
ropertiesforclusterwareStartingOracleUniversalInstaller...Ch
eckingswapspace:mustbegreaterthan500MB.Actual7423MB
PassedTheinventorypointerislocatedat/etc/oraInst.locThe
inventoryislocatedat/u01/oraInventory''UpdateNodeList''wassuc
cessful其他节点root.sh执行成功显示信息:Preparingpackagesforinstallation...
cvuqdisk-1.0.7-1ConfigureOracleGridInfrastructureforaCluste
r...succeededUpdatinginventorypropertiesforclusterwareStart
ingOracleUniversalInstaller...Checkingswapspace:mustbegre
aterthan500MB.Actual7423MBPassedTheinventorypointer
islocatedat/etc/oraInst.locTheinventoryislocatedat/u01/o
raInventory安装数据库软件任一节点安装:#cd/u01将linux.x64_11gR2_database.zip上
传至/u01,解压,将解压后的目录并改归属#chown–Roracle:oinstalllinux.x64_11gR2_da
tabase#chmod777linux.x64_11gR2_database/database/runInstaller#c
hmod777linux.x64_11gR2_database/database/install/unzip#chmod7
77linux.x64_11gR2_database/database/install/.oui开始安装#su-oracl
e#cd/u01/linux.x64_11gR2_database/database/#./runInstaller-ig
noreInternalDriverError参数-ignoreInternalDriverError的作用是忽略内部驱动导致cl
uster认证失败,下文有错误信息上图Next的时候,可能出现错误(在添加信任时如果oracle用户已添加则不会报此错):[INS
-06006]PasswordlessSSHconnectivitynotsetupbetweenthefoll
owingnode(rac01,rac02).解决方法:在rac01,rac02节点上用oracle用户添加互相信任,并执行ss
hrac01date,sshrac02date点击Next报错[INS-20702],内部驱动错误导致cluster工具验
证失败,取消重新安装添加-ignoreInternalDriverError参数检查竟然全部Failed,但是确信是没有问题的,
不知为何,选择IgnoreAll等待安装完成,将生成的root.sh脚本在每一个节点上用root用户执行,执行完毕后点击OK,安
装完成,并close关闭安装页签创建数据库#dbca弹出如下界面后,我们选择第一项集群模式OralceRealApplic
atoin…,然后next默认CreateaDatabase,然后Next选择默认GeneralPurpose…然后nex
t这里GlobalDatabaseName和SIDprefix为cludb,在前文节点环境变量中配置的cludb1,clud
b2前缀cludb,然后选择所有节点(图片仅是参考),然后Next默认即可,然后Next设置密码,所有用户均设置一致的密码,防止记
混,也可以设置不同密码。然后Next默认选择ASM存储类型然后Next,然后会弹出窗口指定ASM密码,填写密码,然后继续闪回区配
置默认,也可以不选择,以后修改spfile文件,然后Next样例schemal可装可不装,然后Next字符可以选择ZHS16GBK
-GBK-bitSimplifiedChinese,其他默认即可,然后Next配置页面如下,然后Next开始创建数据库然后F
inish,等待安装完成…安装挺慢的,等待ing…创建完成,PasswordManagerment可以解锁oracle默认账户,
解锁scott(可略)点击Exit数据库创建完成.检查集群crs状态#su-grid#crs_stat–t此图为后来再
次搭建时所补,只为了看到不同节点ONLINE状态(所以主机名不是rac1,rac2)检查集群数据库$srvctlconfig
database-dcludbDatabaseuniquename:cludbDatabasename:cludb
Oraclehome:/u01/oracle/dbOracleuser:oracleSpfile:+DATA/cludb
/spfilecludb.oraDomain:Startoptions:openStopoptions:immediat
eDatabaserole:PRIMARYManagementpolicy:AUTOMATICServerpools:
cludbDatabaseinstances:cludb1,cludb2,cludb3DiskGroups:DATASer
vices:Databaseisadministratormanaged检查数据库实例状态:$srvctlstatus
database-dcludbInstancecludb1isrunningonnodecentos6srv01
Instancecludb2isrunningonnodecentos6srv02Instancecludb3is
runningonnodecentos6srv03检查本地配置的环境变量,以防sid不匹配$env|grepORAC
LE//注意与上面的Instance相同,笔者笔误配置不同导致连上数据库后查询就报ora-01034ORACLE_SID=clud
b1ORACLE_BASE=/u01/oracleORACLE_HOME=/u01/oracle/db登录数据库:#su–o
racle#sqlplus/assysdbaSQLPlus:Release11.2.0.1.0Production
onWedJun115:27:452016Copyright(c)1982,2009,Oracle.All
rightsreserved.Connectedto:OracleDatabase11gEnterpriseEdit
ionRelease11.2.0.1.0-64bitProductionWiththePartitioning,R
ealApplicationClusters,AutomaticStorageManagement,OLAP,Data
MiningandRealApplicationTestingoptionsSQL>showparameterl
ocal_listener;NAMETYPEVALUE------------------------------------
-----------------------------------------local_listenerstring
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=CentO
S6Srv01-vip)(PORT=1521))))SQL>showparameterremote_listener;NAM
ETYPEVALUE---------------------------------------------------
--------------------------remote_listenerstringrac-scan:1521解决
oracle11.2.0.1的客户端通过scanip无法连接数据库bug解决方法如下:注:下文中的ip:10.16.122.21
2为绑定到当前节点上的scanip,其他节点同样做,但是如果服务器重新启动后rscan-ip会重新分配,这时需要重新设置loc
al_listener否则客户端链接不上报ORA-12520,TNS:listenercouldnotfindavail
ablehandlerforrequestedtypeofserver修改local_listenerSQL>alt
ersystemsetlocal_listener=''(DESCRIPTION=(ADDRESS_LIST=(ADDRESS
=(PROTOCOL=TCP)(HOST=10.16.122.212)(PORT=1521))))''sid=''cl
udb1'';Systemaltered.SQL>altersystemregister;Systemaltered.|`
`````````````````````````````````````````````````````````````````
`````||CentOS6Srv01:节点1的hostname||cludb集群的数据库名||

||______________________________
______|--经过修改后此时服务器对应如下(此对照非前文节点的配置信息,乃是后来再次配置时的信息,特此说明):HOS
TNAME|IP|SCANIP|SIDCentOS6Srv01|10.16.122.174|10.16.12
2.212/213|cludb1CentOS6Srv02|10.16.122.42|10.16.122.210
|cludb2CentOS6Srv03|10.16.122.59|10.16.122.211|clud
b3节点1,2,3更改完毕后,客户端jdbc连接串如下:Connectionconn=DriverManager.getCo
nnection("jdbc:oracle:thin:@(DESCRIPTION="+"(ADDRESS=(PROTOCO
L=TCP)(HOST=10.16.122.210)(PORT=1521))"+"(ADDRESS=(PROT
OCOL=TCP)(HOST=10.16.122.212)(PORT=1521))"+"(ADDRESS=(PR
OTOCOL=TCP)(HOST=10.16.122.213)(PORT=1521))"+"(ADDRESS=
(PROTOCOL=TCP)(HOST=10.16.122.211)(PORT=1521))"+"(CONNECT
_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cludb)))","system",
"123456");集群维护:实例管理$srvctlstatus?instance????-dcludb-icludb1
$srvctlstop???instance????-dcludb-icludb1$srvctlstart??ins
tance????-dcludb-icludb1监听管理$srvctlstatus?listener????-nCen
tOS6Srv01$srvctlstop???listener????-nCentOS6Srv01$srvctlstar
t??listener????-nCentOS6Srv01集群管理命令crsctl停止集群:$su-grid$srvct
lstopdatabase-dcludb$su-root#/u01/grid/bin/crsctlstopcr
s//停止crs同时停止asm磁盘组root用户启动集群$/u01/grid/bin/crsctlstartcrs$
/u01/grid/bin/srvctlstartdatabase-dcludb注意:在启动crs时候,若报CRS-412
4:OracleHighAvailabilityServicesstartupfailed.CRS-4000:CommandStartfailed,orcompletedwitherrors.可在每个节点执行命令:/bin/ddif=/var/tmp/.oracle/npohasdof=/dev/nullbs=1024count=1(11.2.0.1才会有这个bug)共享磁盘不足(后添加)由于测试过程中发现共享硬盘不够用,需要增加共享硬盘,创建共享硬盘过程略(前文已有),然后登陆(grid)SQL>sqlplus/assysasm报:SQLPlus:Release11.2.0.1.0ProductiononSunJun1213:08:072016Copyright(c)1982,2009,Oracle.Allrightsreserved.ERROR:ORA-01031:insufficientprivileges此时需要导入环境变量(grid用户)$exportORACLE_SID=+ASM1$exportORACLE_HOME=/u01/grid$exportPATH=$ORACLE_HOME/bin:$PATH再次登陆即可SQL>sqlplus/assysasmConnected.查看用户:SQL>selectfromv$pwfile_users;USERNAMESYSDBSYSOPSYSAS---------------------------------------------SYSTRUETRUETRUEASMSNMPTRUEFALSEFALSE查看磁盘组:SQL>selectSTATE,REDUNDANCY,TOTAL_MB,FREE_MB,NAME,FAILGROUPfromv$asm_disk;STATEREDUNDATOTAL_MBFREE_MBNAME-----------------------------------------------------------------FAILGROUP------------------------------NORMALUNKNOWN5114101DISK1DISK1NORMALUNKNOWN5114135DISK2DISK2NORMALUNKNOWN5114129DISK3DISK3STATEREDUNDATOTAL_MBFREE_MBNAME-----------------------------------------------------------------FAILGROUP------------------------------NORMALUNKNOWN5114132DISK4DISK4增加磁盘SQL>alterdiskgroupDATAadddisk''ORCL:DISK5''nameDISK5;Diskgroupaltered.//添加成功注:DATA为安装asm集群时候的磁盘组的名字,如果没有更改则默认是DATADISK5为新建的共享磁盘
献花(0)
+1
(本文系樱梦雪苹宝首藏)