首页 > 代码库 > linux下Oracle11g RAC搭建(三)
linux下Oracle11g RAC搭建(三)
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----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 ----安装以后查看一下
编辑/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
hosts从note1拷贝到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)。关于涉及版权事宜,作者有权追究法律责任。