RHEL5.4+openfiler2.3+oracle11g rac+asm集群数据库配置全过程

RHEL5.4+openfiler2.3+oracle11g rac+asm集群数据库配置全过程  

 

 

一、集群的系统环境:

1、全部使用虚拟机,64位win7上,用vmware7配置出2台RHEL5.4,+1台openfiler2.3。

2、RHEL5.4:硬盘容量30G,双虚拟网卡,分别对应主机上两张虚拟网卡。

3、openfiler2.3:硬盘容量60G,单虚拟网卡,系统占据10G左右,其他容量空白,不格式化,不挂载。

4、网络配置:(1)、rac集群需要两个不同的网络,公有网络和私有网络(public network and private network),我第一次是两个网络彻底隔离在虚拟系统里面,第二次公有网络为单位局域网,私有网络为独立网络,办法就是公有网络的IP与单位局域网的IP在同一网段,并且公有网络的网卡连接方式改为桥接;

           (2)考虑还是记录开放方式下得集群吧,这样比封闭方式的详细一些;

           (3)修改电脑主机上的虚拟网卡,vmnet1虚拟网卡对应的虚拟机里面的网卡为桥接方式,直接接入主机物理网卡,所以vmnet1虚拟网卡其实没有用到,vmnet8为私有网络入口,这个ip地址需要更改,我使用的是10.0.0.141,掩码255.0.0.0。这样只要虚拟机里面的网卡配置正确,基本上两个网络就可以正确建立;

           (4)RHEL5.4内,识别的网卡名称一般式eth0和eth1,虚拟系统内,网卡配置:eth0为桥接方式,eth1链接到vmnet8,所以进入系统后,ip地址分别是:eth0  100.XXX.XXX.150,255.255.255.0;eth1  10.0.0.138,255.0.0.0。第二台RHEL5.4,ip地址分别是:eth0  100.XXX.XXX.151,255.255.255.0;eth1  10.0.0.139,255.0.0.0。

            (5)关于存储链接,我还是习惯于附加在私有网络上,所以openfiler2.3系统的那张虚拟网卡地址:10.0.0.140,255.0.0.0。这样做法,也有好处,附加的位置是私有网络,具有一定的数据安全保密性,这样就不需要在iscsi  target设置上添加登录控制了,配置更简单。

             (6)检测网络连通性,两台RHEL5.4需要检测两台RHEL5.4之间是否连通,与电脑主机之间是否连通,与openfiler2.3是否连通。

二、配置存储机

1、根据的教材是:vmware 华南技术中心出的openfiler2.3 iscsi设置图文教程。

2、因为这个教程网上肯定会有的,所以我这里的记录的比较简单。

3、第一步:建立physical volume分区,选择 上方的volumes>右边的block devices,然后出现create a partition in /dev/sdb,注意选择physical volume,容量大小一般默认,也就是所有的空余容量,然后点击create。

4、第二步:建立卷组,选择 上方的volumes>右边的volume groups,出现create a new volume group,要求输入volume group name,这个没有特殊要求的,可以随便输入,volume group name下面是刚刚创建的physical volumes列表,勾选上,然后点击add volume group。

5、第三步:建立iscsi逻辑卷,选择上方的volumes>右边的add volume,然后出现create a volume in "你上一步输入的volume group name",在下面的空白框内,依次输入 volume name(名称随便)、volume description(可选,可以选择不输入)、required space(一般是最大容量)、filesystem/volume type(要求必须是iscsi),点击create。

6、第四步:增加iscsi target IQN,并映射TARGET IQN。选择上方的volumes>右边的iscsi targets,这时候,出现add new iscsi target,有可能add按钮是灰色的,不能点击,如果是灰色的话,选择上方的services,出现一个服务列表,注意iscsi target server的status状态,如果是disabled,那么点击对应的右边的enable,将iscsi target server服务启动。然后再回到iscsi targets中,这时候add按钮已经可用,直接点击,然后选择这个界面中得lun mapping,不要改动出现的界面的设置,直接点击map。

7、到这里就已经完成了,教程后面的其他部分是增加登录控制用得,最好不要启动,因为登录控制比较负责,还有可能会涉及到linux内部的配置文件。

三、对RHEL5.4进行grid安装前准备工作

1、集群数据库安装最关键其实就是安装前的准备工作,准备工作完成正确无误,基本上安装过程就没有太大的问题。

2、为了以后安装的方便,这后面的记录,将全部记录执行的命令,并且没有前面的命令提示符,以方便以后安装的时候,可以直接复制相应的命令和内容到SSH中执行。

3、这些都是准备工作,有些工作是不分前后的,有些还是有顺序的才行。

4、为了方便操作,我一般使用的是windows下的secureCRT,用ssh2的方式连接到RHEL5.4的虚拟机。所有需要创建的账户,密码全部统一使用为123456。

以下记录开始进行实质性操作:

5、为了操作的方便,有时候可能需要显示RHEL5.4虚拟机的桌面,需要对RHEL5.4进行配置,配置如下:

(1)改变defaults.conf文件权限,默认是只读,因为需要修改文件内容,所以要修改权限。

      chmod 700 /usr/share/gdm/defaults.conf

(2)做如下配置---编辑/usr /share/gdm/defaults.conf

         Enable=true

         DisplaysPerHost=10

         Port=177

         AllowRoot=true

         AllowRemoteroot=true

         AllowRemoteAutoLogin=false

(3)做如下配置---编辑 /etc/gdm/custom.conf

          [xdmcp]

          Enable=1

(4)做如下配置---编辑 /etc/inittab (不要修改原来设置,在最后新增一行如下记录)

          x:5:respawn:/usr/sbin/gdm

(5)重新加载GNOME桌面配置

          init 3 ; init 5

到此完成,xmanager3的xbrowser就会主动发现这两个可以进入的桌面了,只要指定正确连接的IP地址即可进入。

6、修改RHEL5.4的网卡ip地址。按照上面的记录修改,由于ip地址尚未正确配置,可能无法从windows中连接到RHEL5.4虚拟机,所以需要在RHEL5.4系统界面中直接操作。

7、RHEL5.4的IP地址配置:

      从RHEL5.4桌面打开终端,执行system-config-network,打开网络配置界面,配置如下:

 

RAC1

RAC2

 

Eth0

Eth1

Eth0

Eth1

IP地址

100.100.100.150

10.0.0.138

100.100.100.151

10.0.0.139

网络掩码

255.255.255.0

255.0.0.0

255.255.255.0

255.0.0.0

       配置完成后,需要将配置执行应用,方法有两个:方法1,先执行保存,将网卡关闭,然后再将网卡激活,完成;方法2,执行保存,退出配置界面,执行service network restart,将网卡服务重启,完成。

8、两台RHEL5.4配置完成后,就可以使用secureCRT从windows连接到RHEL虚拟机。

9、以后的操作如无特别说明,全部在windows的secureCRT中操作。注意有两点:(1)windows上要安装xmanager3,并且打开Xmanager - Passive,接受屏幕显示信号;(2)在secureCRT中设置DISPLAY值,export DISPLAY=10.0.0.141:0.0,将显示信号指向到windows的xmanager3上。

10、创建用户,执行system-config-users,进入用户管理界面,添加用户grid或者oracle,添加用户组:oinstall、dba、asmdba、asmadmin,4个用户组,并且grid和oracle用户的主组都是oinstall,最好是grid和oracle用户都有这4个用户组,还要注意两台RHEL5.4之间,grid、oracle用户的用户代码及4个用户组组代码,都一样,如果不一样的话,grid安装会检测出代码不一致的错误。

11、添加/etc/hosts的IP地址解析,打开/etc/hosts,添加如下(注意不要修改原有内容):

#public

100.100.100.150 rac1.test rac1

100.100.100.151 rac2.test rac2

#private

10.0.0.138 rac1-priv.test rac1-priv

10.0.0.139 rac2-priv.test rac2-priv

#vitual

100.100.100.152 rac1-vip.test rac1-vip

100.100.100.153 rac2-vip.test rac2-vip

#clusterip

100.100.100.154 rac-cluster.test rac-cluster

保存。

12、修改grid和oracle用户的登录脚本:

grid用户,打开/home/grid/.bash_profile,添加如下:

 

export ORACLE_BASE=/u02/app/oracle

export ORACLE_HOME=/u01/app/grid/product/11.2.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin:/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

if [ $USER = "grid" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 65536

        else

                ulimit -u 16384 -n 65536

        fi

fi 

 

 

执行保存。grid用户脚本,主要影响grid的安装。最好影响的是oracle_base和oracle_home两个参数,现在的方法是两个参数,分别从根目录起就是两个完全分开的目录,这是由于在grid安装过程中,oracle_home目录的权限会被安装程序更改,从原来的grid.oinstall改到了root.oinstall,这个影响到底如何,不知道,所以将两个目录分开比较明智。在grid安装过程中,需要提供oracle_base和software_location的位置,这里有个要求,就是software_location不能是oracle_base的子目录。所以以后有时间还要测试下,oracle_base=/u01/app/oracle和oracle_home=/u01/app/grid/product/11.2.0/db_1这样配置,是否能成功。

 

oracle用户,打开/home/oracle/.bash_profile,添加如下:

 

export ORACLE_BASE=/u03/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin:/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 65536

        else

                ulimit -u 16384 -n 65536

        fi

fi 

 

执行保存。oracle用户脚本主要影响oracle的安装,这个要求就是oracle_home必须是oracle_base的子目录,和grid用户脚本完全相反。

这两个脚本所有内容都相当重要,在PATH参数这块,我特意增加了/usr/sbin和/sbin两个值,这是因为很多执行程序在都这两个目录中,而RHEL5.4默认没有将这两个目录放到PATH中。

13、创建用户登录脚本中指定的几个目录,及安装程序放置目录。复制安装程序,并且解压缩。

执行:

su

cd /

mkdir /u01

mkdir /u02

mkdir /u03

chown -R grid.oinstall /u01

chown -R grid.oinstall /u02

chown -R oracle.oinstall /u03

mkdir /softgrid

mkdir /softoracle

mkdir /media/dvd

mount /dev/hdc /media/dvd

cd /media/dvd

cp linux_11gR2_grid.zip /softgrid

cp linux_11gR2_database_1of2.zip /softoracle

cp linux_11gR2_database_2of2.zip /softoracle

cd /softgrid

unzip linux_11gR2_grid.zip

cd /softoracle

unzip linux_11gR2_database_1of2.zip

unzip linux_11gR2_database_2of2.zip

chown -R grid.oinstall /softgrid

chown -R oracle.oinstall /softoracle

14、修改内核参数,打开/etc/sysctl.conf,添加如下:

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

fs.aio-max-nr=1048576

保存,然后执行sysctl -p,应用刚刚给出的内核参数。

15、修改grid和oracle用户的资源限制,打开/etc/srcurity/limits.conf,添加如下:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

执行保存。

16、增加用户资源限制映像,打开/etc/pam.d/login,添加如下:

session  required  pam_limits.so

执行保存。

17、安装需要的软件包:

rpm -Uvh setarch-2.0-1.1.i386.rpm

rpm -Uvh make-3.81-3.el5.i386.rpm

rpm -Uvh glibc-2.5-42.i386.rpm

rpm -Uvh libaio-0.3.106-3.2.i386.rpm

rpm -Uvh compat-libstdc++-33-3.2.3-61.i386.rpm

rpm -Uvh kernel-headers-2.6.18-164.el5.i386.rpm

rpm -Uvh glibc-headers-2.5-42.i386.rpm

rpm -Uvh glibc-devel-2.5-42.i386.rpm

rpm -Uvh compat-gcc-34-3.4.6-4.i386.rpm

rpm -Uvh compat-gcc-34-c++-3.4.6-4.i386.rpm

rpm -Uvh libgomp-4.4.0-6.el5.i386.rpm

rpm -Uvh gcc-4.1.2-46.el5.i386.rpm

rpm -Uvh libXp-1.0.0-8.1.el5.i386.rpm

rpm -Uvh openmotif-2.3.1-2.el5.i386.rpm

rpm -Uvh compat-db-4.2.52-5.1.i386.rpm

rpm -Uvh libaio-devel-0.3.106-3.2.i386.rpm

rpm -Uvh sysstat-7.0.2-3.el5.i386.rpm

rpm -Uvh unixODBC-2.2.11-7.1.i386.rpm

rpm -Uvh unixODBC-devel-2.2.11-7.1.i386.rpm

18、关闭NTP时间同步服务,关闭时间:

service ntpd stop

chkconfig ntpd off

rm /etc/ntp.conf

19、配置grid用户和oracle用户的SSH连接,在安装过程中,其实可以用安装程序自动配置,我这里是为了记录的完整性,处理过程如下:

用grid用户登录:

RAC1和RAC2上分别运行:ssh-keygen -t rsa

RAC1上运行:cd /home/oracle/.ssh

             ssh rac1 cat /home/grid/.ssh/id_rsa.pub>>authorized_keys

             ssh rac2 cat /home/grid/.ssh/id_rsa.pub>>authorized_keys

             scp authorized_keys rac2:/home/grid/.ssh/authorized_keys

RAC1运行:ssh rac2 date

RAC2运行:ssh rac1 date

执行结果,如果不出要求输入密码的提示,那么配置就完成了。

用oracle用户登录:

RAC1和RAC2上分别运行:ssh-keygen -t rsa

RAC1上运行:cd /home/oracle/.ssh

             ssh rac1 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys

             ssh rac2 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys

             scp authorized_keys rac2:/home/oracle/.ssh/authorized_keys

RAC1运行:ssh rac2 date

RAC2运行:ssh rac1 date

执行结果,如果不出要求输入密码的提示,那么配置就完成了。

在网上其他资料里面,有些资料说得是.ssh这个目录需要手动建立,并且权限还需要修改,其实不需要,ssh-keygen会主动创建目录的,而且创建后的文件权限,很大的可能是不需要修改,但还是需要注意下。

id_rsa和id_rsa.pub的权限分别是600和644。

20、安装iscsi客户端:

rpm -Uvh iscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm

连接iscsi target,并登录:

iscsiadm -m discovery -t sendtargets -p 10.0.0.140:3260

iscsiadm -m node -l

对iscsi磁盘分区

fdisk /dev/sdb

分成3个分区。

四、grid安装

1、安装ASMLIB:

将oracleasm的软件包复制到RHEL5.4内,并进行安装:

rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm

rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm

rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm

也可以这样运行:

rpm -ivh oracleasm*

注意,oracleasm的包与系统内核版本有关,下载的话,注意先获取内核版本,再下载相应版本的oracleasm软件包。

2、配置oracleasm:

oracleasm有几个选项,可以看下相应的作用。

配置过程如下:

oracleasm configure      #显示目前的配置情况。

oracleasm configure -i    #进去oracleasm配置。

进入oracleasm配置后,输入的内容依次是:

grid

asmadmin

y

y

配置完成。(这步配置,要注意哈,默认选项是不对的,需要修改,务必看清楚前面的英文提示后,再输入值)。

启动oracleasm:oracleasm init

创建asm磁盘:

oracleasm createdisk VOL1 /dev/sdb1  

oracleasm createdisk VOL2 /dev/sdb2

oracleasm createdisk VOL3 /dev/sdb3

#注意,提示的设备,好像必须是分区,直接的磁盘设备不行,必须先分区。如果出现问题,1是可能设备不存在,重新检查设备,确保设备存在;2是有可能相应的设备已经被创建成ASM磁盘,那么强制重命名设备:oracleasm renamedisk -f /dev/sdb1 VOL1。

列出所有ASM磁盘:oracleasm listdisks   #所有磁盘的别名全部列出,配置成功。

3、用grid用户登录,启动grid安装程序:

export DISPLAY=10.0.0.141:0.0

cd /softgrid/grid

./runInstaller

4、这个具体的安装过程,由于全是图形界面,这里不方便记录,基本上没有很多需要注意的地方。

在SCAN参数界面上,不需要给SCAN确定IP值,这是因为在/etc/hosts中,已经添加好了。

typical和advanced选项间,这两个选项其实没有太大的区别,但是我觉得还是advanced选项要好一些。

5、在grid安装过程中,要注意:

(1)orainst.sh和root.sh脚本的执行过程,这是一个串行操作,也就是说要按如下顺序操作:

rac1    orainst.sh

rac2    orainst.sh

rac1     root.sh

rac2     root.sh

这样的顺序进行操作,而且必须是上个操作完成之后,下个操作才能进行,不能并发进行。

(2)执行完脚本后,紧接着就是network config assistant,这个步骤一般来说是肯定会失败的,具体原因还不清楚,不过这里可以忽略过去,完成安装后才进行操作。

(3)grid安装的最后一步,也会出现错误,这里出现的错误一般情况下,是由于/etc/hosts中添加了scan的ip值,才导致这个错误的出现,可以忽略。

6、grid完成后,由于中间有些错误,需要进行下操作:

执行netca

添加listener监听程序,这里注意监听器的名字必须是默认的“LISTENER”,否则后面oracle安装过程要出错。

7、到这里grid安装完成,已经可以重启了。在虚拟机中,有点很喜剧的细节,要考虑到,在相当多的时候,机器重启后,grid是没有启动成功的,crs_stat和crsctl stat res -t命令都会提示没有连接到crs 守护进程,不要慌张,这个不是启动失败,而是由于虚拟机资源太少导致集群启动相当缓慢,保守估计在系统启动完成后,还需要3分钟到5分钟左右时间来启动各项集群资源。集群资料里面gsd和o4jd是没有启动的,这个正常,默认就是不启动的,没有影响。

五、oracle安装:

1、用oracle用户登录:

export DISPLAY=10.0.0.141:0.0

cd /softoracle/database

./runInstaller

2、具体安装过程没有太大问题,主要是对于控制文件和联机重做日志的位置,这个好像无法手动控制,我在修改了这两个位置后,就提示不正确,无法安装。我取消了这两个手动指定的位置后,就安装正常了,

3、最后一次安装没有出现memory_target is not supported in this system,没有出现这个错误,如果有个错误,说明临时空间不够,解决办法:

修改/etc/fstab:

tmpfs这行中得default修改成default,size=4G

然后执行:

mount -o remount /dev/shm

4、安装就基本完成了。

六、最后总结:

1、不知道为什么,我创建完成后,在重启机器后,集群启动没有问题,但是数据库没有自动启动。

启动办法:srvctl start database -d orcl

2、RAC集群安装过程,最关键还是前期的准备工作,准备工作完成的好,安装过程中基本没有问题,或者只有一些小问题。

3、后面还要进一步,记录关于各种检测调整命令。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9606200/viewspace-745661/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9606200/viewspace-745661/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值