linux下Oracle11g RAC搭建(三)

Oracle11g RAC部署
本文档详细介绍了在Linux环境下搭建Oracle11gRAC集群的过程,包括配置安装环境、建立用户组、修改权限、配置内核参数、设置环境变量等关键步骤。

linux下Oracle11g RAC搭建(三)

二、配置安装环境 (node1、node2)

 建立组、用户、目录并修改权限(node1、node2)

node1上建立组、用户、初始密码

建立组:#groupadd [-g] [gid] [组名]

建立用户:#useradd [-u] [uid] [ -g][ 用户的主组] [ –G] [用户的副组] [用户名]

执行脚本:#sh mkuser.sh

 

groupadd  -g 200oinstall

groupadd  -g 201dba

groupadd  -g 202oper

groupadd  -g 203 asmadmin

groupadd  -g 204asmoper

groupadd  -g 205asmdba

useradd -u 200 -g oinstall -G dba,asmdba,oper oracle

useradd -u 201 -g oinstall -G dba,asmadmin,asmdba,asmoper,opergrid

 

建立组用户后查看:

[root@node1 ~]# id oracle

[root@node1 ~]# id grid

 

用户初始密码:

[root@node1 ~]# passwd oracle

[root@node1 ~]# passwd grid

 

补充:

改变grid的属组

[root@metro1 ~]# usermod -g oinstall-G dba,oper,asmadmin,asmoper,asmdba grid

 

node2上建立组、用户、初始密码(脚本)

建立组:#groupadd [-g] [gid] [组名]

建立用户:#useradd [-u] [uid] [ -g][ 用户的主组] [ –G] [用户的副组] [用户名]

执行脚本:#sh mkuser.sh

 

groupadd  -g 200oinstall

groupadd  -g 201dba

groupadd  -g 202oper

groupadd  -g 203asmadmin

groupadd  -g 204asmoper

groupadd  -g 205asmdba

useradd -u 200 -g oinstall -G dba,asmdba,oper oracle

useradd -u 201 -g oinstall -G dba,asmadmin,asmdba,asmoper,opergrid

 

建立组用户后查看:

[root@node2 ~]# id oracle

[root@node2 ~]# id grid

 

用户初始密码:

[root@node2 ~]# passwd oracle

[root@node2 ~]# passwd grid

 

node1上修改权限、/u01下建立目录

1、改变所有者:

例:     # chown         -R               grid:oinstall               /u01/app/oraInventory/

说明:改变所属者   递归   所有者:所属组           目录

2、授权:

例:     # chmod           -R         775                                                          /u01/11.2.0/grid/

说明:改变访问权限 递归  目录下所有文件的权限改为xxx      目录

3、执行脚本:#sh mkdir.sh

4、目录说明:

/u01/app/oraInventory/----安装软件需要走的一个目录

/u01/11.2.0/grid/----安装grid的主目录

/u01/app/oracle/product/11.2.0/db_1----安装oracle的主目录

/u01/app/oracle----oracle的BASE目录

 

mkdir -p /u01/app/oraInventory

chown -R grid:oinstall /u01/app/oraInventory/

chmod -R 775 /u01/app/oraInventory/

mkdir -p /u01/11.2.0/grid

chown -R grid:oinstall /u01/11.2.0/grid/

chmod -R 775 /u01/11.2.0/grid/

mkdir -p /u01/app/oraInventory/

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/cfgtoollogs

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

 

#ls –l /u01     ----安装以后查看一下


node2上修改权限、/u01下建立目录(脚本)

1、改变所有者:

例:     # chown         -R               grid:oinstall               /u01/app/oraInventory/

说明:改变所属者  递归  所有者:所属组          目录

2、授权:

例:     # chmod           -R         775                                                          /u01/11.2.0/grid/

说明:改变访问权限递归 目录下所有文件的权限改为xxx     目录

3、执行脚本:#sh mkdir.sh

4、目录说明:

/u01/app/oraInventory/----安装软件需要走的一个目录

/u01/11.2.0/grid/----安装grid的主目录

/u01/app/oracle/product/11.2.0/db_1----安装oracle的主目录

/u01/app/oracle----oracleBASE目录

 

mkdir -p /u01/app/oraInventory

chown -R grid:oinstall /u01/app/oraInventory/

chmod -R 775 /u01/app/oraInventory/

mkdir -p /u01/11.2.0/grid

chown -R grid:oinstall /u01/11.2.0/grid/

chmod -R 775 /u01/11.2.0/grid/

mkdir -p /u01/app/oraInventory/

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/cfgtoollogs

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

 

#ls –l /u01     ----安装以后查看一下


编辑/etc/hosts(node1、node2)

hosts作用:

如果没有DNS工具就使用本机的/etc/hosts来解析IP和主机名,实现主机名到IP地址的解析。

注意:node节点名称的编写。

node1上编辑hosts

[root@node2 ~]# vi/etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               localhost

 

192.168.4.71 node1

192.168.4.73 node1-vip

10.10.10.71   node1-priv

 

192.168.4.72 node2

192.168.4.74 node2-vip

10.10.10.72   node2-priv

 

192.168.4.75  scan_ip


解释:

127.0.0.1               localhost    //本地回环 

192.168.4.71 node1                //实现对公用网卡解析

192.168.4.73 node1-vip     

//rac使用时oracle需要的vip地址,保证和公用网卡在同一网段。vip地址的特点是从一个节点漂移到另外一个节点上,快速实现容错功能

10.10.10.71   node1-priv           //私有IP地址

 

192.168.4.72 node2

192.168.4.74 node2-vip

10.10.10.72   node2-priv

 

192.168.4.75  scan_ip            

//11g新添加的地址,必须和公共网卡同网段,简化了对客户端的连接配置,缺点是无法实现负载均衡

 

node2上编辑hosts

hostsnote1拷贝到node2

[root@node1 ~]#scp/etc/hosts   node2:/etc/    


[root@node2 ~]#cat /etc/hosts                   //查看一下hosts设置

修改内核参数sysctl.conf(node1和node2)

node1上修改内核参数

[root@node1 ]# vi /etc/sysctl.conf

 

最后面添加:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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 = 1048586

 

node1内核参数修改生效

[root@node1 ~]# sysctl -p


node2上修改内核参数

方式一:

[root@node1 ]# scp /etc/sysctl.confnode2:/etc


方式二:

[root@node2 ]# vi /etc/sysctl.conf

 添加:

 fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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 = 1048586

node2内核参数修改生效

[root@node2 ~]# sysctl -p


node1和node2修改limits.conf

 [root@node1 ~]# vi/etc/security/limits.conf  

用来限制用户访问内存资源、cpu资源

添加:

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@node1 ~]# scp  /etc/security/limits.conf node2:/etc/security/  


node1和node2修改login 

login文件:登陆以后自动启动limits(限制文件)。

[root@node1 ~]# vi /etc/pam.d/login

 

添加:session    required    /lib/security/pam_limits.so

 

[root@node1 app]# scp/etc/pam.d/login  node2:/etc/pam.d


node1和node2修改profile

profile:登录到应用环境,对其进行的一些访问限制。

#vi  /etc/profile   

 

添加:

if [ $USER = "oracle" ]||[ $USER ="grid" ]; then

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

                ulimit -p 16384

                ulimit -n 65536

       else

                ulimit -u 16384 -n 65536

       fi

fi

 

 

[root@node1 app]# scp/etc/profile   node2:/etc



时钟同步工作

node1和node2关闭ntp服务

关闭系统ntp(network time protocol)服务,采用oracle自带的时间同步服务 (11g中已经集成到grid中,所以不需要这个服务了,关掉操作系统同步)。

把配置文件重命名,否则安装grid时会报错。 

[root@node1 ~]# chkconfigntpd off

[root@node1 ~]# mv/etc/ntp.conf /etc/ntp.conf.bak

node2上同样操作。

node1和node2关闭sendmail服务

邮件服务,影响系统的启动,关掉它。

[root@node2 ~]# chkconfigsendmail off       

 

node2上同样操作。

 

node1和node2修改oracle、grid用户环境变量

-----修改oracle和 grid 用户环境变量.bash_profile

 

注意:

node1和node2要做相应的修改:

1、oracle用户环境变量ORACLE_SID不同(prod1、prod2);

2、grid用户环境变量ORACLE_SID不同(+ASM1、+ASM2)。

 

oracle用户下:

# su - oracle

[oracle@node1~]$ vi .bash_profile

//把不需要的行删除

#.bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment andstartup programs

 

export EDITOR=vi

export ORACLE_SID=prod1注意:node2改为prod2)

export ORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

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

umask 022

 

粘贴用副本node1:

export EDITOR=vi

export ORACLE_SID=prod1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

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

umask 022

 

粘贴用副本node2:

export EDITOR=vi

export ORACLE_SID=prod2

export ORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

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

umask 022

 node2上同样操作,勿忘。

 

grid用户下:

[oracle@node1~]$ su - grid

Password:

[grid@node1~]$ vi .bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment andstartup programs

 

exportEDITOR=vi

exportORACLE_SID=+ASM1(注意:node2改为+ASM2)

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=/u01/11.2.0/grid

exportGRID_HOME=/u01/11.2.0/grid

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

exportTHREADS_FLAG=native

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

umask 022

 

粘贴用副本node1:

exportEDITOR=vi

exportORACLE_SID=+ASM1

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=/u01/11.2.0/grid

exportGRID_HOME=/u01/11.2.0/grid

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

exportTHREADS_FLAG=native

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

umask 022

 

粘贴用副本node2:

exportEDITOR=vi

exportORACLE_SID=+ASM2

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=/u01/11.2.0/grid

exportGRID_HOME=/u01/11.2.0/grid

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

exportTHREADS_FLAG=native

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

umask 022

 

node2上同样操作,勿忘。

node1和node2添加swap分区

swap分区大小的设置:一般要求为内存的2倍。

 

node1下:

root用户下操作:

[root@node1 ~]# free –m                            

//查看空间,swap分区2G较小,虽不影响后续安装但会引起错误警告,为了避免提示错误,对swap分区进行扩充



[root@node1 ~]# dd if=/dev/zero of=/u01/swpf1 bs=1024k count=2048

//用dd命令生成一个空文件,把它放在u01下,单位1024m,设置2g。注意,不要放到根目录下会消耗根目录空间


[root@node1 ~]# df –h                            //再次查看磁盘空间分配



[root@node1 ~]# ls –lh /u01                   //查看u01下文件信息,查看swpf1信息




[root@node1 ~]# mkswap -c /u01/swpf1   //创建一个swap文件




[root@node1 ~]# swapon /u01/swpf1          //由swpf1生成swap文件

[root@node1 ~]# free –m                                //再次查看空间,swap分区变成4G




[root@node1 ~]# vi /etc/fstab     //实现开机后自动使用新分出的swap分区

添加/u01/swpf1              swap                     swap    defaults       0 0

 

node2下:

[root@node2 ~]# free –m




[root@node2 ~]# dd if=/dev/zero of=/u01/swpf1 bs=1024k count=2048

 

[root@node2 ~]# df –h                                //再次查看磁盘空间分配

[root@node2 ~]# ls –lh /u01                      //查看u01下文件信息,查看swpf1信息

[root@node2 ~]# mkswap -c /u01/swpf1    //创建一个swap文件

[root@node2 ~]# swapon /u01/swpf1           //由swpf1生成swap文件

[root@node2 ~]# free –m                                 //再次查看空间,swap分区变成4G

[root@node2 ~]# vi /etc/fstab               //实现开机后自动使用新分出的swap分区

添加/u01/swpf1     swap     swap     defaults    0   0



**************************后续更新上传中敬请关注**************************************


声明:


        原创作品,出自 “深蓝的blog” 博客,允许转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。关于涉及版权事宜,作者有权追究法律责任。






RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的oracle数据库相比,RAC都有一些独特之处。 RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。Clusterware负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。 在普通的Oracle数据库中,一个数据库实例只能访问一个数据库,而一个数据库只能被一个数据库实例打开。在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。 通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值