ASM磁盘空间规划 OCR+VOTING 8G三个NORMAL冗余 MGMT 80G 外部冗余

1、硬件检测 内存(最少8G)

grep MemTotal /proc/meminfo

swap空间(4-16G equal to RAM more than 16GB:16GB )

grep SwapTotal /proc/meminfo

/tmp目录大小 >2G

df -h /tmp

空闲内存

free

内核版本: uname -r

df -h /dev/shm

2、系统版本

cat /etc/oracle-release

cat /etc/redhat-release

lsb_release -id

uname -r

3、修改主机名: 节点1: hostname dwdb1 hostnamectl --static set-hostname dwdb1

节点2: hostname dwdb2 hostnamectl --static set-hostname dwdb2

4、关闭防火墙: systemctl status firewalld systemctl stop firewalld systemctl disable firewalld

看状态 firewall-cmd --state

systemctl stop firewalld.service systemctl disable firewalld.service

5、配置主机名和IP地址对应关系 vi /etc/hosts 添加如下内容

public

10.1.11.1 dwdb1 10.1.11.2 dwdb2

private

20.1.1.39 dwdb1-priv 20.1.1.40 dwdb2-priv

vip

10.1.11.161 dwdb1-vip 10.1.11.162 dwdb2-vip

scanip

10.1.11.163 scan-dwdb

修改/etc/sysconfig/network NOZEROCONF=yes

6、安装依赖包:(oracle linux 7.2依赖包如下,具体可参考官方文档) yum install -y binutils-2.23.52.0.1-12.el7 yum install -y compat-libcap1-1.10-3.el7 yum install -y compat-libstdc++-33-3.2.3-71.el7 yum install -y glibc-2.17-36.el7 yum install -y glibc-devel-2.17-36.el7 yum install -y ksh yum install -y libaio-0.3.109-9.el7 yum install -y libaio-devel-0.3.109-9.el7 yum install -y libX11-1.6.0-2.1.el7 yum install -y libXau-1.0.8-2.1.el7 yum install -y libXi-1.7.2-1.el7 yum install -y libXtst-1.2.2-1.el7 yum install -y libgcc-4.8.2-3.el7 yum install -y libstdc++-4.8.2-3.el7 yum install -y libstdc++-devel-4.8.2-3.el7 yum install -y libxcb-1.9-5.el7 yum install -y make-3.82-19.el7 yum install -y nfs-utils-1.3.0-0.21.el7.x86_64 yum install -y net-tools-2.0-0.17.20131004git.el7 yum install -y smartmontools-6.2-4.el7 yum install -y sysstat-10.1.5-1.el7 yum install -y compat-libcap1-1.10* yum install -y sysstat-10.1.5 yum install -y libaio-devel-0.3.109*

7、关闭transparent hugepages,设置hugepages 查看transparent hugepage Red Hat Enterprise Linux kernels:

cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

Other kernels:

cat /sys/kernel/mm/transparent_hugepage/enabled

oracle linux 7.2 没有开启transparent hugepages,忽略。

8、启用Name Service Cache Deamon

yum install -y nscd

systemctl start nscd

systemctl enable nscd

7、verifying the Disk I/O Scheduler on Linux cat /sys/block/${ASM_DISK}/queue/scheduler noop [deadline] cfq

8、配置NTP时间同步

ntpdate 10.1.30.231

vi /etc/ntp.conf 修改以下内容

server 10.1.30.231 iburst server 10.1.30.232 iburst

systemctl enable ntpd.service

/etc/init.d/ntpd start

/chkconfig ntpd on

/chkconfig --list ntpd

systemctl restart chronyd.service systemctl enable chronyd.service

9、网络配置(/etc/sysctl.conf) private address to 2 public address to 1

bond1 p4p1 em3 20.1.1.39 private bond0 p5p1 p6p1 10.1.11.1 public

net.ipv4.conf.p4p1.rp_filter=2 net.ipv4.conf.em3.rp_filter=2 net.ipv4.conf.p5p1.rp_filter=1 net.ipv4.conf.p6p1.rp_filter=1

10、用户和组: /usr/sbin/groupadd -g 54321 oinstall /usr/sbin/groupadd -g 54322 dba /usr/sbin/groupadd -g 54323 oper /usr/sbin/groupadd -g 54324 backupdba /usr/sbin/groupadd -g 54325 dgdba /usr/sbin/groupadd -g 54326 kmdba /usr/sbin/groupadd -g 54327 asmdba /usr/sbin/groupadd -g 54328 asmoper /usr/sbin/groupadd -g 54329 asmadmin /usr/sbin/groupadd -g 54330 racdba

/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle

/usr/sbin/useradd -u 54331 -g oinstall -G dba,asmdba,asmoper,asmadmin grid

passwd oracle hagj5Xc2GokR

passwd grid a31K0eBBJMXW

11、目录: mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 71 /u01/app/oraInventory

mkdir -p /u01/app/grid chown -R grid:oinstall /u01/app/grid

mkdir -p /u01/12.2.0/grid chown -R grid:oinstall /u01/12.2.0/grid chmod -R 71 /u01/12.2.0/grid

mkdir -p /u01/app/oracle mkdir /u01/app/oracle/fetology chown -R oracle:oinstall /u01/app/oracle
chmod -R 71 /u01/app/oracle

mkdir -p /u01/app/oracle/product/12.2.0/db_1 chown -R oracle:oinstall /u01/app/oracle/product/12.2.0/db_1 chmod -R 71 /u01/app/oracle/product/12.2.0/db_1

12、环境变量

节点1: --oracle用户 export ORACLE_SID=dwdb1 export ORACLE_BASE=/u01/app/oracle/ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

--grid export ORACLE_SID=+ASM1 export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/12.2.0/grid export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

节点2: --oracle用户 export ORACLE_SID=dwdb2 export ORACLE_BASE=/u01/app/oracle/ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

--gird export ORACLE_SID=+ASM2 export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/12.2.0/grid export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

13、防火墙 /etc/init.d/iptables stop chkconfig iptables off

networkmanager chkconfig NetworkManager off

linux6上关闭防火墙和selinux,root下执行: service iptables stop chkconfig iptables off service ip6tables stop chkconfig ip6tables off setenforce 0 getenforce vi /etc/selinux/config 确保以下内容 SELINUX=disabled

linux6上 iptables关闭后 ip6tables会起来,所以最好一并关掉。 /etc/init.d/iptables stop chkconfig iptables off

14、内核参数: kernel.panic_on_oops = 1 fs.aio-max-nr = 104852 fs.file-max = 6815744 kernel.shmall = 134217728 kernel.shmmax = 558345748480 kernel.shmmni = 4096 kernel.sem = 5010 641280 5010 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_default = 8388608 net.core.wmem_max = 16777216 vm.swappiness = 0 vm.nr_hugepages = 163845

--修改以下两个 kernel.shmall = 134217728 kernel.shmmax = 558345748480

--保存生效 /sbin/sysctl -p

15、限制文件:/etc/security/limits.conf

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

grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240

  • soft memlock 524288000
  • hard memlock 524288000

16、/etc/pam.d/login文件 session required pam_limits.so

/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 umask 022 fi

17、配置互信 在两个节点上执行: su - oracle /usr/bin/ssh-keygen -t rsa /usr/bin/ssh-keygen -t dsa 2)在第二个节点上执行 cd .ssh scp id_rsa.pub rac1:/home/oracle/.ssh/id_rsa.pub2 scp id_dsa.pub rac1:/home/oracle/.ssh/id_dsa.pub2 3)在第一个节点上执行 cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2>authorized_keys chmod 644 authorized_keys scp authorized_keys rac2:/home/oracle/.ssh 配置完成后进行测试: ssh dwdb1 ssh dwdb1-priv ssh dwdb2 ssh dwdb2-priv ssh dwdb2 ssh dwdb2-priv ssh dwdb1 ssh dwdb1-priv ssh dwdb2-priv ssh dwdb1-priv ssh dwdb1 ssh dwdb2 ssh dwdb2 ssh dwdb2-priv ssh dwdb2 ssh dwdb1-priv ssh dwdb1 ssh dwdb1-priv ssh dwdb1 ssh dwdb2-priv ssh dwdb2-priv ssh dwdb1-priv ssh dwdb1 ssh dwdb1

./runcluvfy.sh stage -pre crsinst -n dwdb1,dwdb2

18、安装cvudisk RPM包 cvuqdisk存于oracle GI安装介质的cv/rpm目录下 export CVUQDISK_GRP=asmadmin rpm -ivh cvuqdisk-1.0.10-1.rpm

19、配置ASM盘: OCR:8G NORMAL冗余 GIMR:至少40G 外部冗余 DATA:外部冗余 ARCH:外部冗余

root配置脚本如下: vi asm_udev.sh #!/bin/bash for i in $(cat /proc/partitions | awk {'print $4'} |grep emcpower|sort); do echo "ACTION=="add|change", KERNEL=="emcpower*", ENV{DEVTYPE}=="disk",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d --whitelisted --replace-whitespace --device=$devnode", RESULT=="/usr/lib/udev/scsi_id -g -u -d --whitelisted --replace-whitespace --device=/dev/$i",RUN+="/bin/sh -c 'mknod /dev/asm-$i b $major $minor; chown grid:asmadmin /dev/asm-$i; chmod 0660 /dev/asm-$i'"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules done

chmod +x asm_udev.sh

重新加载udev /sbin/udevadm trigger