一 集群IP地址划并解析
0 准备: 至少独立的两块网卡
1 规划三个IP组
public_ip 节点自带的固定IP(2个IP)
priviate_ip 节点内部心跳的IP(2个IP)
virtual_ip 高可用飘逸的IP(2个IP)
scan_ip 对外服务的scan服务IP(1个公用IP)
2 注意点
1 priviate_ip为独立网段IP 其他网段IP都在同一网段
2 至少需要两块网卡,privicat_ip为单独网卡,其他IP为另一个网卡和网卡制造的虚拟网卡
1 通过ifconfig命令查看关键字 link/ether:这个是MAC地址,唯一的,一块网卡一个MAC,可以查看绑定网卡数量
2 如果有条件可以做双网卡绑定策略
3 需要通过修改网卡配置文件的方式增加虚拟网卡,切记,拷贝网卡配置文件,修改参数 重启网卡
3 心跳检测的IP尽量用独立的千兆/百兆交换机进行连接通信,防止出现性能问题
4 设置完添加host解析
5 进行ping命令检测是否正常
二 用户和用户组创建
1 创建组
groupadd -g 1100 oinstall
groupadd -g 1101 dba
groupadd -g 1102 oper
groupadd -g 1103 asmadmin
groupadd -g 1104 asmdba
groupadd -g 1105 asmoper
2 创建grid用户
useradd -u 1000 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid grid
3 创建oracle用户
useradd -u 1001 -g oinstall -G dba,oper,asmdba -d /home/oracle oracle
4 设置密码
echo “oracle:oracle” | chpasswd
echo “grid:grid” | chpasswd
5 说明
1 OSASM 组 (asmadmin),其成员拥有 SYSASM 权限,可以管理 Oracle Clusterware 和 Oracle ASM,成员为grid
2 ASM OSDBA 组 (asmdba),其成员包括 grid 和 oracle,拥有对 Oracle ASM 的访问,应该是需要oracle沟通asm文件 所以oracle才同样属于asmdba组
3 ASM OSOPER 组 (asmoper),其成员包括 grid,拥有有限的 Oracle ASM 管理员权限(包括启动和停止服务)
4 oracle dba组,其成员包括grid和oracle 对于oracle 只有拥有dba组 才能以as sysdba的方式对oracle进行维护 grid同理以as sysasm的方式
5 oper类似于asm的asmoper 不再细说
三 系统参数优化
1 sysctl.conf
vm.nr_hugepages= (物理内存-4g)X0.8X0.8X1024/2M+(100-500)
vm.swappiness=10
kernel.shmmax = (物理内存-4G)X0.8
kernel.shmall =物理总内存/4
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 9000 65500
kernel.sem= 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
2 /etc/security/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
四 系统继续优化
1 安装软件包
yum -y install gcc elfutils-libelf-devel gcc-c++ libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel glibc-devel-2.5 compat-libstdc++* ksh compat-libcap*
2 关闭部分服务
1 防火墙 service iptables stop chkconfig iptables off
2 关闭selinux /etc/selinux/config
3 停止ntp服务 service ntpd stop chkconfig ntpd off
3 修改/dev/shm临时文件系统,修改/etc/fstab文件即可,添加size=(物理内存-G)X0.8 这个参数必须大于memory_target
mount -o remount /dev/shm 重新进行挂载
五 目录创建
grid目录
/u01/app/oraInventory :属主,grid:oinstall;权限,775
/u01/app/product/grid/11.2.0/grid_1 grid_base :属主,grid:oinstall;权限,775
/u01/app/grid/ grid_home :属主,grid:oinstall;权限,775
grid_home和grid_base不能在同一目录 请注意
oracle目录
/u01/app/oracle oracle_base :属主,oracle:oinstall;权限,775
/u01/app/product/oracle/11.2.0/db_1 oracle_home :属主,oracle:oinstall;权限,775
六 免密认证
1 生成密钥
2 ssh- copy-id -i .ssh / id_dsa.pub user@host
3 ssh host进行验证
七 用户变量生成
oracle-环境变量
umask 022
export LANG=en_US.utf8
export LANGUAGE=en_US.utf8
export ORACLE_SID=oracle_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/product/oracle/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_UNQNAME=oracle_rac
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
PATH=$PATH:$ORACLE_HOME/bin
export PATH
grid-环境变量
umask 022
export LANG=en_US.utf8
export LANGUAGE=en_US.utf8
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/product/grid/11.2.0/grid_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_UNQNAME=+ASM
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
PATH=$PATH:$ORACLE_HOME/bin
export PATH