关键词不能为空

当前您在: 主页 > 英语 >

Oracle 11g +CentOS6 RAC集群搭建

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-29 23:30
tags:

-

2021年1月29日发(作者:2楼)


Oracle 11g +CentOS6 RAC


集群搭建



官方文档参考:



/articles/11g/oracle-db-11gr2-rac- installation-o


n-oel5-using- virtualbox#create_shared_disks



网友文档参考:



/28883355/viewspace-1125122/



本文档


linux


采用


centos6.7


虚拟机采用


vmware workstation10


本地网络环境


:10.16.122.N

本地主机


ip


地址:


10.16. 122.70


/etc/hosts


配置:



#public ip


10.16.122.197


rac01


10.16.122.199


rac02


#virtual ip


10.16.122.210


rac01-vip


10.16.122.220


rac02-vip


#private ip


192.168.10.1


rac01-priv


192.168.10.2


rac02-priv


#scan ip


10.16.122.230



rac-scan


10.16.122.231



rac-scan


10.16.122.232



rac-scan



注:


SCAN ip


必须与


public ip



VIP


在一个子网。


安装虚拟机


(



)




注意:


网络链接选择桥接



安装两台虚拟机略



配置网络:



虚拟机


rac01


# vim /etc/sysconfig/network-scripts/ifcfg-eth0


内容如下:



DEVICE=eth0


TYPE=Ethernet


UUID=c51253ff- 4b8f-4e1a-935b-0ea4d352e870


ONBOOT=yes


NM_CONTROLLED=yes


BOOTPROTO=none


IPADDR=10.16. 122.197


//


共有地址,即


IP


配置中的


rac01



PREFIX=24


DEFROUTE=yes


IPV4_FAILURE_FATAL=yes


IPV6INIT=no


NAME=


HWADDR=00:0c:29:85:ca:61


//mac


地址



NETMASK=255.255.255.0


//


子网掩码



GATEWAY=10.16.122.254


USERCTL=no


虚拟机


rac02


DEVICE=eth0


TYPE=Ethernet


UUID=c51253ff-4b8f-4e1a-935b-0ea4d352e870


ONBOOT=yes


NM_CONTROLLED=yes


BOOTPROTO=none


IPADDR=10.16. 122.199


//


共有地址,即


IP


配置中的


rac02



PREFIX=24


DEFROUTE=yes


IPV4_FAILURE_FATAL=yes


IPV6INIT=no


NAME=


HWADDR=00:0c:29:36:cf:09


NETMASK=255.255.255.0


GATEWAY=10.16.122.254


USERCTL=no



配置完成后:重启网络



#service network restart


测试本地主机


window ip


与虚 拟机能否


ping




# ping 10.16.122.70



添加网卡



关闭虚拟机,右击虚拟机< /p>



设置



添加< /p>



网络适配器




选择仅主机模式


(only host )


配置新添加的网卡



启动虚拟机,执行


#ifconfig




查看是否多出一块网卡(


eth1


新增)

< p>
,如下:



eth0 Link encap:Ethernet HWaddr 00:0C:29:85:CA:61


inet


addr:10.16.122.199



Bcast:10.16.122.255


Mask:255.255.255.0


inet6 addr: fe80::20c:29ff:fe85:ca61/64 Scope:Link


UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1


RX packets:8033 errors:0 dropped:0 overruns:0 frame:0


TX packets:652 errors:0 dropped:0 overruns:0 carrier:0


collisions:0 txqueuelen:1000


RX bytes:875509 (854.9 KiB) TX bytes:95661 (93.4 KiB)



eth1 Link encap:Ethernet HWaddr 00:0C:29:85:CA:6B


inet


addr:192.168.10.1



Bcast:192.168.10.255


Mask:255.255.255.0


inet6 addr: fe80::20c:29ff:fe85:ca6b/64 Scope:Link


UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1


RX packets:5 errors:0 dropped:0 overruns:0 frame:0


TX packets:29 errors:0 dropped:0 overruns:0 carrier:0


collisions:0 txqueuelen:1000


RX bytes:414 (414.0 b) TX bytes:2070 (2.0 KiB)


如果没有的话,不要急,进入网络配置目录



#cd /etc/sysconfig/network-scripts


复制


ifcfg-eth0



ifcfg-eth1


#cp ifcfg-eth0 ifcfg-eth1


修改


ifcfg-eth1


# vim ifcfg-eth1


内容如下:



HWADDR=00:0c:29:85:ca:6b


/ /eth1


网卡的


mac


地址



DEVICE=eth1


ONBOOT=yes


BOOTPROTO=static


IPADDR=192.168.10.1


//IP< /p>


配置中的


rac01-priv



NETMASK=255.255.255.0


查看


eth1


网卡的


mac


地址


(


红色字体即是


)




# cat /etc/udev/rules.d/


SUBSYSTEM==

< br>ACTION==


ATTR{address}==


00 :0c:29:85:ca:6b



ATTR{type}==< /p>


NAME=



重启网络



#ifup eth1


#service network restart


此时配 置的


ip


之间可以互相


ping


通,但是外网无法


ping


通,这时因为没有 配置


dns


配置


dns

< p>
查看本地主机


window


dns


服务器




window+r


的输入


cmd


命令行


ipconfig



all


查看


DNS


服务器地址



虚拟机下添加查 到的


dns


服务器地址



# vim /etc/


添加


dns


nameserver 10.16.10.6


nameserver 10.16.10.8


或者使用公共 的


dns


服务器


DRIVERS==


KERNEL==


nameserve r 114.114.114.114


nameserver 8.8.8.8


测试


ping


外网


#ping




OK


网络配置完成




注意:


有时候会遇到一个比较诡异的 情况,


配置的


dns



在每次重启网卡的时候,


都会消失,


导致外网无法访问 ,解决方法:



# chkconfig NetworkManager off


# chkconfig network on


#service NetworkManager stop


# service network start


# service network restart



检查安 装


rac


依赖的包


< br>有些软件包(比如


i386


平台的)


yum


是搜不到的,只能手动安装,可能会遇到


N


多依赖


包,可以略过,


安装其他包,回过头来再安装时候发现这些依赖不需要了,


在其他软件包安

< p>
装时候已经安装了。对于有冲突的


(i386


和< /p>


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)


< br>(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.4


glibc-devel-2.3.4 (x86_64)


glibc-common-2.3.4


elfutils-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- libcap1.x86_64




binutils-2.15.92.0.2


libstdc++-devel-3.4.6 (x86_64)


libstdc++-3.4.6 (x86_64)


libstdc++-3.4.6 (i386)


< p>
(yum


搜不到,手动安装


)


make-3.80


unixODBC-2.2.11 (x86_64)



(yum


搜 不到,手动安装


)


unixODBC- devel-2.2.11 (x86_64)



(y um


搜不到,手动安装


)


5.i386



(yum


搜不到,手动安装


)


unixODBC- devel-2.2.11 (i386)



(yum


搜不到,手动安装


)



unixODBC-2.2.11 (i386)


< p>
(yum


搜不到,手动安装


)


4.x86_64




6_7.x86_64 (yum


可安装


)


6.x86_64




包如何安装


??????????


查看包是否安装:



# rpm



qa |grep


包名



搜索


y um


源是否有未安装的包:



# yum search


包名



yum


能搜索到的包安装



#yum install -y


包名



Yum


搜索不到的包只能手动安装了



#rpm



ivh


包名



对于


i 386


或者


i686


,因为已经有


x86_64


的包已经安装了需要强制安装加参数

< br>



force


< p>
检查上述的依赖包是否安装,如果没有安装的则安装,这些包是安装


rac


的依赖



,unixODBC- libs


先安装,才能安装


unixODBC- devel-2.2.11 (i386), unixODBC-


2.2.11 ( i386)


。报冲突的强制安装,有依赖的需要


yum


安装。



在用


yum< /p>


安装的时候遇到一个问题:



YumRepo Error: All mirror URLs are not using ftp, http[s] or file.


Eg. /


removing


mirrorlist


with


no


/var/cache/yum/x86_64/6/base/


错误:


Cannot find a valid baseurl for repo: base


网上查阅资料,说是


dns


设置不正确导致的,可是我的


dns

< p>
设置的正确的,


ping


外网也能


ping


通,但就是


yum


安 装软件不行,经过多方尝试,终于找出问题,问题出在公司的网需


要账号和密码才能使用 ,


因为使用的桥接模式,


所以虚拟机就等同于公司局域网的一台 真实


的机器,


所以必须虚拟机中必须输入账号和密码,


才能访问外网,


因为之前虚拟机没有安装


桌面系 统,


所以始终不得正解,


后来安装了桌面系统,


并输入账号和密码,


yum


终于能用了,


哎,这个问题困住了好久。



Red Hat Enterprise Linux 4 oracleasmlib


包的下载地址



/technetwork/server-storage/linux/downl oads/rhel4-




valid


mirrors:


创建


oracle


和集群用户



ORACLE


及集群用户情况如下



组别



oinstall


dba


oper


asmadmin


asmdba


asmoper


grid


Y


Y


N


Y


Y


Y


oracle


Y


Y


Y


N


Y


N


开始创建组和用户:



# groupadd oinstall


# groupadd dba


#groupadd oper


# groupadd asmdba


# groupadd asmoper


#groupadd asmadmin


# useradd



g dba -G oinstall,oper,asmdba oracle


#useradd



g asmdba



G oinstall,dba,asmadmin,asmoper grid


设置用户密码



#passwd oracle


#passwd grid


开始创建安装目录



# mkdir /u01


# mkdir /u01/grid


# mkdir /u01/oracle


# mkdir /u01/gridbase


修改文件的归属



# chown



R grid:oinstall /u01


# chown



R oracle:oinstall /u01/oracle


给文件属组增加写权限



# chmod -R g+w /u01



配置环境变量



两个节点都做,注意两 节点的


ORACLE_SID


不能相同,前缀

< br>cludb


相同,后面的数字依次


排序。



切换到


oracle


用户:



# su



oracle


# vim ~/.bash_profile


末尾增加:



ORACLE_BASE=/u01/oracle


ORACLE_HOME=/u01/oracle/db


ORACLE_SID=cludb1


PATH=$$ORACLE_HOME/bin:$$PATH


LD_LIBRARY_PATH=$$ORACLE_HOME/lib:$$LD_LIBRARY_PATH


DISPLAY=10.16.122.70:0.0


export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH DISPLAY


切换


grid


用户:



# su



grid


# vim ~/.bash_profile


末尾增加:



ORACLE_BASE=/u01/gridbase


ORACLE_HOME=/u01/grid


PATH=$$ORACLE_HOME/bin:$$PATH


LD_LIBRARY_PATH=$$ORACLE_HOME/lib:$$LD_LIBRARY_PATH


DISPLAY=10.16.122.70:0.0


export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH DISPLAY


注:


DISPLAY


是本地主机的< /p>


ip


,本地安装


Xmanager



rac


安装界面将在本地显示



关闭不需要的服务



Root


用户:




关闭


SELINX


#vim /etc/selinux/config #


编辑配置文件



#SELINUX=enforcing #


注释掉



#SELINUXTYPE=targeted #


注释掉



SELINUX=disabled #


增加



关闭防火墙



#setup


根据图形化界面选择上下箭头选择【


System Servi ce


】系统服务,找到


iptables



ip6tables



sendm ail


,按空格键取消


[]


中的


*


号,按


TAB


键保 存,并退出



修改


linux


内核参数



Root


用户:



#vim /etc/


具体参数意义参考官方文档



-max-nr = 1048576


-max = 6815744


= 2097152


= 1073741824


= 4096


= 250 32000 100 128


_local_port_range = 9000 65500


_default = 262144


_max = 4194304


_default = 262144


_max = 1048586


使修改生效



#sysctl



p



配置


/etc/security/


#vim /etc/security/


oracle soft nproc 2047


oracle hard nproc 16384


oracle soft nofile 1024


oracle hard nofile 65536


oracle soft stack 10240


grid soft nproc 2047


grid hard nproc 16384


grid soft nofile 1024


grid hard nofile 65536


grid soft stack 10240


设置节点时间同步



Root


用户:


一般时间同步有


linux



nt pd


时间同步,还有就是


oracle


的时间同步,我们用


oracle


的时间同步,需要关闭


ntpd


服务



# /sbin/service ntpd stop


# chkconfig ntpd off


# mv /etc/ /etc/al


还要删除以下文件(如果有的话):



# rm /var/run/


创建共享磁盘



在虚拟机


rac001


节点右击


- -


【设置】


---


【添加】

< p>
---


【硬盘】









稍等片刻,一块磁盘创建完毕,重复上述动作两次,创建


3


块磁盘。




将创建的磁盘剪切至一个公共目录:




移除


rac001


节点中的上述创建的 磁盘


(


因为已经剪切走了


)


然后再重复上述创建磁盘的动作,在



7


步骤


的时候不再选择【创建虚拟磁盘】


,而是 选择


【使用现有虚拟磁盘】


,然后选择移至公共目录下的磁盘文 件







,创建三块磁盘,保存后,更新三块磁盘的高级


属性,分别选择


scsi1:1,scsi1:2,scsi1:3.



节点


rac002

< br>同样如此。




修改节点


rac001


和节点


rac002

< p>
的配置文件






添加如下


:


g =


cheMaxSize =


cheMaxReadAheadSize =


cheMinReadAheadSize =


chePageSize =


yncedWrites =


scsi1:Type=


scsi1:Type=


scsi1:Type=



开启

rac001




Root


用户:



# cd /dev/


# ls



l sd*


将看到


sdb



sdc



sdd


,这三块就是添加的磁盘



对硬盘进行分区



# fdisk sdb



m


键,此时有多个选项供选 择





n< /p>


键(创建新分区)



< br>p


键(创建主分区,另有


e


键是 扩展分区)




1

键(分区数字从


1


开始,即


sdb 1



sdc1


等)



1


键(分区从第一个柱面开始 )



回车(结束柱面选择默认,即全部柱面只分在一个区)




w


键(将操作写入分区表)



依次对


sdb sdc sde

< br>用


oracleasm


命令创建磁盘


Root


用户:



#oracleasm configure



i


然后输入用户


grid


输入组


dba


输入


y


输入


y


# oracleasm init


创建磁盘


DISK01


,< /p>


DISK02



DISK03


# oracleasm createdisk DISK01 sdb1


# oracleasm createdisk DISK02 sdc1


# oracleasm createdisk DISK03 sdd1


查看磁盘:



# oracleasm listdisks


DISK01


DISK02


DISK03




开启节点


rac002


注:如果已开启则重启



Root


用户:



# oracleasm configure -i


输入


grid


输入


dba


输入


y


输入


y


#oracleasm init



重启



#reboot


#oracleasm listdisks


节点


2


也能看到


DISK01



DISK02



DISK03




配置节点间的相互信任



注:


grid



Oracle


用户都需要添加相互信息,下面以


grid


为例



Grid


用户:



在节点


rac001



rac002


节点分别执行



#ssh-keygen -t rsa


然后一路回车



#cat ~/.ssh/id_ >> ~/.ssh/ authorized_keys


在节点


rac001


上执行



# ssh rac002 cat ~/.ssh/id_ >> ~/.ssh/ authorized_keys


在节点


rac002


上执行



# ssh rac001 cat ~/.ssh/id_ >> ~/.ssh/ authorized_keys



如果秘钥的生成路径是按 照上面一路默认的话,


可以执行命令



rac002


节点:


ssh-copy-id


grid@rac001



rac001

< p>




ssh- copy-id


grid@rac002


< br>将









a uthorized_keys




测试:




r ac002,rac001


上分别执行



#ssh rac001 date


#ssh rac002 date


只要不再提示输入密码就成功了



安装集群


grid


Grid


用户:


将集群软件


linux.x64_11gR2_


上传至


/u01


目录,并解压


< br>将解压至


grid


目录,更改解压后文件属主

< p>


# chown



R grid:oinstall grid


进入加压后的目录



#cd /u01/grid


执行安装前检查操作



# ./ stage -pre crsinst -n rac01,rac02 -fixup -verbose



下面是检查过程



如果上面的依赖包全部正确安装的话,检查应该不会有问题



执行集群服务设置的预检查




正在检查节点的可访问性


...



检查


:


节点



的节点可访问性



目标节点是否可访问


?


------------------------------------ ------------------------


rac01




rac02




结果


:


节点



的节点可访问性检查已通过





正在检查等同用户


...



检查


:


用户



的等同用户



节点名注释



------------------------------------ ------------------------


rac02


通过



rac01


通过



结果


:


用户



的等同用户检查已通过




正在检查节点的连接性


..


………………….



可能会出现的问题:



1),


用户



的等同用户检查失败解决方法:



在失败的节点执行


#ssh rac001/rac002 date


2)


交换空间内存不够



#dd if=/dev/zero of=swapfile bs=1024 count=1500000


1024


单位

< br>byte


,增加


1.5G


内存大 小



# mkswap swapfile


# swapon swapfile


交换内存开机自动挂载



# vim /etc/fstab


加入



/home/ swapfile swap swap defaults 0 0



如果检查成功则开始安装操作



开始安装



Grid


用户:



只在第一个节点执行安装命令



# ./runInstaller



等待一会将会在本地主机出现安装界面




我们这里选择


高级安装



,点击


“next”< /p>




选择


“En glish”


,点击


“Next”




这里要填写


scan name


,对应我们的


/etc/hosts


里写的 名字,不选择


GNS


,点击


“next ”




点击


A dd


将其他节点加进来,点击


SSH Connectivity


输入


grid

用户密码点击


Test



试,成功 后点击


next











-


-


-


-


-


-


-


-



本文更新与2021-01-29 23:30,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/587844.html

Oracle 11g +CentOS6 RAC集群搭建的相关文章