1 安装准备工作
1.1Â 加节点步骤
加节点不需要停机,在线操作,但需要在业务较低时段进行,若安排重启测试和业务测试,则视情况申请停机时间。
1ã 原生产库两台主机安装新的操作系统,连接现生产库所用的存储并进行多路径的配置
2ã 配置网络
3ã 检查系统包和配置等价性等一系列加节点操作,具体操作参考章节1.3~1.12
4ã 在现有生产库节点1上进行加节点操作。
5ã 检查各个节点的crs和instance的状态。
节点 | ||||||
节点名称 |
实例名称 |
数据库名称 |
处理器 |
RAM/SWAP |
操作系统 |
|
Master-db-03 |
db3 |
db |
Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz |
256GB/128GB |
RedHat EL6.5 |
|
Master-db-04 |
db4 |
Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz |
256GB/128GB |
RedHat EL6.5 |
||
网络配置 | ||||||
节点名称 |
公共 IP 地址 |
专用 IP 地址 |
虚拟 IP 地址 |
SCAN 名称 |
SCAN IP 地址 |
|
Master-db-03 |
10.0.3.11 |
10.0.5.11 |
10.0.3.111 |
scan-ip |
10.0.3.223 |
|
Master-db-04 |
10.0.3.12 |
10.0.5.12 |
10.0.3.112 |
|||
Oracle 软件组件 | ||||||
软件组件 |
操作系统用户 |
主组 |
辅助组 |
主目录 |
Oracle 基目录/Oracle 主目录 |
|
Grid Infra |
Grid |
oinstall |
asmadmin、asmdba、asmoper |
/home/grid |
/opt/oracrs/base |
|
/opt/oracrs/product/11gr2/grid | ||||||
Oracle RAC |
Oracle |
oinstall |
dba、oper、asmdba |
/home/oracle |
/opt/oracle/ |
|
/opt/oracle/product/11.2.0/db | ||||||
存储组件 | ||||||
存储组件 |
类型 |
卷大小 |
ASM 卷组名 |
ASM 冗余 |
设备名 |
|
OCR/VF |
ASM |
10G |
DG_OCR |
NORMAL |
按新的标准 |
|
数据 |
ASM |
2000G |
DG_ACC |
External |
按新的标准 |
|
数据 |
ASM |
2000G |
DG_INDX |
External |
按新的标准 |
|
数据 |
ASM |
2000G |
DG_OPT |
External |
按新的标准 |
|
ASM |
200G |
DG_ORA |
External |
按新的标准 |
||
归档日志 |
ASM |
200G |
DG_ARCH |
External |
按新的标准 |
1.1Â 检查系统要求
E.补丁包
rpm -q binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
pdksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libXp \
make \
numactl-devel \
sysstat \
unixODBC \
unixODBC-devel \
compat-libcap1.x86_64 \
libcap.x86_64|grep not
F.核心参数
编辑/etc/sysctl.conf文件,添加下面的内容
# for oracle
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.sem=250 32000 100 128
kernel.shmmni=4096
kernel.shmall=8388608
kernel.shmmax= 32212254720
net.ipv4.ip_local_port_range=9000 65000
net.core.rmem_default=1048576
net.core.rmem_max=1048576ànet.core.rmem_max = 4194304(11.2.0.3)
net.core.wmem_default=262144
net.core.wmem_max=1048586
然后执行以下命令使参数生效:
sysctl –p
1.1Â 设置/etc/hosts
私有IP地址必需与公网分离,两个节点可互相访问可以ping通,必须在 /etc/hosts里有;
虚拟IP地址同公网IP地址是一个网段的,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里;
公网IP地址,是主机真正的IP地址,主机管理员预先分配,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里),并且保证写入每个客户系统中的hosts文件。
在各个节点的网卡配置必须相同,例如:第一个节点公共IP是用eth0,那么其他节点也得用eth0
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
# that require network functionality will fail.
127.0.0.1 localhost
10.0.3.22 MASTER-DB-02
10.0.3.21 MASTER-DB-01
10.0.3.12 MASTER-DB-04
10.0.3.11 MASTER-DB-03
#heart ip
10.0.5.22 db2-heart
10.0.5.21 db1-heart
10.0.5.12 db4-heart
10.0.5.11 db3-heart
#vip
10.0.3.122 db2-vip
10.0.3.121 db1-vip
10.0.3.112 db4-vip
10.0.3.111 db3-vip
#scan ip
10.0.3.123 scan-ip
设置完/etc/hosts后,建议在各自节点通过名字PING对方,看能否PING通。
建立oracle、grid用户和dba组
#/usr/sbin/groupadd -g 501 oinstall
#/usr/sbin/groupadd -g 502 dba
#/usr/sbin/groupadd -g 503 oper
/#usr/sbin/groupadd -g 504 asmadmin
#/usr/sbin/groupadd -g 505 asmoper
#/usr/sbin/groupadd -g 506 asmdba
#/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle
/#usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
1.1Â 配置等效性
注意:需要在GRID和ORACLE用户下分别执行
# su - oracle
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
--产生rsa,dsa
$ ssh-keygen -t rsa
注意:以上操作分别在两台机器上执行
--在节点1上执行:
$ ssh master-db-04 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh master-db-03 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys master-db-02:~/.ssh/.
$ scp ~/.ssh/authorized_keys master-db-03:~/.ssh/.
$ scp ~/.ssh/authorized_keys master-db-04:~/.ssh/.
--测试SSH 在两边都不用输入密码,表示SSH配置完成
$ ssh master-db-01 date
$ ssh master-db-02 date
$ ssh master-db-03 date
$ ssh master-db-04 date
1.1Â 设置系统限制
--在每个节点上执行相同的操作
编辑/etc/security/limits.conf,添加如下内容:
oralce soft nofile 131072
oracle hard nofile 131072
grid soft nofile 131072
grid hard nofile 131072
oracle hard memlock 153092096
oracle soft memlock 153092096
编辑/etc/pam.d/login,添加如下内容:
session required /lib/security/pam_limits.so
1.2Â 建立GRID及RAC安装目录
--建立ORACLE_HOME目录
mkdir -p /opt/oracle/product/11.2.0/db
--建立ORACLE_GRID_HOME目录
mkdir -p /opt/oracrs/base
mkdir -p /opt/oracrs/product/11gr2/grid
--授权
chown -R oracle:oinstall /opt/oracle
chown –R grid:oinstall /opt/oracrs
chmod -R 775 /opt
1.3Â 关闭防火墙
chkconfig --list iptables
chkconfig iptables off
chkconfig --list iptables
service iptables stop
1.4Â 设置NTP服务
配置NTP服务
1.5Â 设置用户的环境变量
#gird用户
修改 ~/.bash_profile文件,增加以下内容:
umask 022
export ORACLE_BASE=/opt/grid
export ORACLE_HOME=/opt/crs_home/product/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
为了让以上内容立即生效,执行以下命令即可:
$ Source .bash_profile
#oracle用户
修改 ~/.bash_profile文件,增加以下内容:
umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORA_GRID_HOME=/opt/crs_home/product/11.2.0/grid
export ORACLE_SID=db3
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH :$ORA_GRID_HOME/bin
为了让以上内容立即生效,执行以下命令即可:
$ Source .bash_profile
1.6Â 配置磁盘设备
使用UDEV绑定磁盘设备,参考现生产库磁盘设备配置。
1.7Â 使用 CVU 检查新加节点的硬件和 OS 环境
$ cluvfy stage -post hwos -n db-maser-3,master-db-04 –verbose
$ cluvfy comp peer -refnode db-maser-1 -n db-maser-3,master-db-04 -orainv oinstall -osdba oinstall-verbose
$ cluvfy stage -pre nodeadd -n db-maser-3,master-db-04 –verbose
注意:服务器上的防火墙一定要关闭,否则不能通过检查。虽然chkconfig iptables off检查都是off,但是没有执行service iptables stop操作。如:当时有如下报错。
正在检查子网 "10.0.3.0" 是否能够与多点传送组 "230.0.1.0" 进行多点传送通信...
PRVG-11134 : 节点 "master-db-04" 上的接口 "10.0.3.12" 无法与节点 "master-db-04" 上的接口 "10.0.3.12" 通信
PRVG-11134 : 节点 "master-db-04" 上的接口 "10.0.3.12" 无法与节点 "master-db-03" 上的接口 "10.0.3.11" 通信
PRVG-11134 : 节点 "master-db-03" 上的接口 "10.0.3.11" 无法与节点 "master-db-04" 上的接口 "10.0.3.12" 通信
1.8Â 备份OCR
在添加节点前,建议手动备份 OCR ( GRID 每 4 个小时也会自动备份 OCR),目的是如果出
现某些问题,我们可以恢复到添加节点前的状态:
$su - root
$GRID_HOME/bin/ocrdump /tmp/ocrdump_1nodes.bak
2Â 添加节点
2.1Â 在 GRID (GI)层面添加节点
将 GRID HOME 复制/扩展到节点 3, 4,在节点 1 以 grid 用户执行下面的命令:
注意: addNode.sh 脚本首先进行安装前检查,如果检查过程有错误或者警告, 需要在运行
addNode.sh 前设置环境变量 export IGNORE_PREADDNODE_CHECKS=Y,否则 addNode.sh 会失败退出
#su – grid
$cd $GRID_HOME/oui/bin
$./addnode.sh “CLUSTER_NEW_NODES={master-db-03,master-db-04}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES={db3-vip,db4-vip}”
以 root 用户在节点3和4 运行 orainstRoot.sh 来注册 Inventory
在2.3章节再执行root.sh
2.2Â 在 RAC 层面添加节点
将 RDBMS ORACLE HOME 复制/扩展到节点 3, 在节点 1 以 oracle 用户执行下面的命令:
./addNode.sh “CLUSTER_NEW_NODES={ master-db-03,master-db-04}”
在节点 3,4 以 root 用户运行 $RDBMS_OARCLE_HOME/root.sh
2.3Â 运行 GRID_HOME/root.sh
在节点 3,4 以 root 用户运行 $GRID_HOME/root.sh
运行 root.sh 后,节点 rac3 的资源已经更新到集群中(OCR),并且已经启动:
$crsctl stat res –t
2.4Â 添加实例
运行dbca