1  整体规划部分 
1.1  IP 地址规划 
序号 
所属 
主机名称 
用途 
IP 地址 
2 
3 
4 
7 
8 
9 
Node1 
Node1 
Node1 
Node2 
Node2 
Node2 
rac1 
rac2 
public 
vip 
192.168.100.58 
192.168.100.98 
Private1 
192.168.200.58 
public 
vip 
192.168.100.59 
192.168.100.99 
Private1 
192.16.200.59 
11 
scan 
  
scan1 
192.168.100.60 
由于我们不使用 DNS,所以我们需要配置好 hosts  文件来解析公网和私网的主
机名 
 
192.168.100.58    rac1 
192.168.100.59    rac2 
192.168.100.98    rac1-vip 
192.168.100.99    rac2-vip 
192.168.200.58    rac1-pri 
192.168.200.59    rac2-pri 
192.168.100.60    rac-scan 
 
1.2   操作系统本地磁盘分区规划 
序号 
分区名称 
大小 
用途说明 
1 
2 
3 
4 
/boot 
/ 
swap 
/oracle 
200MB 
引导分区 
30G 
12G 
36G 
根分区 
最少 4.7303GB 以上 
oracle 安装目录 
  
1.3  共享存储与 ASM 磁盘组规划 
序号  磁盘名称 
Asm 磁盘名称  磁盘组名称  大小 
用途 
1  sdb1 
asm_ocr 
OCR_VOT 
10G  OCR+VOTINGDISK 
2  sdc1 
asm_disk 
DATA01 
30G  data 
 
 
创建共享磁盘  
选择一台参与共享磁盘的虚拟机,编辑虚拟机配置,选择添加新硬件"硬盘",创建新的虚拟
磁盘; 
操作如下步骤 
http://www.linuxidc.com/Linux/2017-05/143879.htm 
1.4    安装  OS  系统  RPM  包 
http://docs.oracle.com/database/121/CWLIN/prelinux.htm#CEGCECCC 
binutils-2.20.51.0.2-5.11.el6 (x86_64) 
compat-libcap1-1.10-1 (x86_64) 
compat-libstdc++-33-3.2.3-69.el6 (x86_64) 
compat-libstdc++-33-3.2.3-69.el6.i686 
gcc-4.4.4-13.el6 (x86_64) 
gcc-c++-4.4.4-13.el6 (x86_64) 
glibc-2.12-1.7.el6 (i686) 
glibc-2.12-1.7.el6 (x86_64) 
glibc-devel-2.12-1.7.el6 (x86_64) 
glibc-devel-2.12-1.7.el6.i686 
ksh 
libgcc-4.4.4-13.el6 (i686) 
libgcc-4.4.4-13.el6 (x86_64) 
libstdc++-4.4.4-13.el6 (x86_64) 
libstdc++-4.4.4-13.el6.i686 
libstdc++-devel-4.4.4-13.el6 (x86_64) 
libstdc++-devel-4.4.4-13.el6.i686 
libaio-0.3.107-10.el6 (x86_64) 
libaio-0.3.107-10.el6.i686 
libaio-devel-0.3.107-10.el6 (x86_64) 
libaio-devel-0.3.107-10.el6.i686 
libXext-1.1 (x86_64) 
libXext-1.1 (i686) 
libXtst-1.0.99.2 (x86_64) 
libXtst-1.0.99.2 (i686) 
libX11-1.3 (x86_64) 
libX11-1.3 (i686) 
libXau-1.0.5 (x86_64) 
libXau-1.0.5 (i686) 
libxcb-1.5 (x86_64) 
libxcb-1.5 (i686) 
libXi-1.3 (x86_64) 
libXi-1.3 (i686) 
make-3.81-19.el6 
sysstat-9.0.4-11.el6 (x86_64) 
nfs-utils-1.2.3-15.0.1 
 
在  12.2 的版本虽然已经支持  SE-Linux  但是为了避免不必要的设置,我们这里把它也关掉,
不在这里进行  SE-Linux 的配置了 
edit file /etc/selinux/config. 
SELINUX=disabled 
如果有防火墙和  iptables,也需要关掉 
chkconfig iptables off 
1.5  创建用户组 
groupadd -g 501 oinstall 
groupadd -g 502 dba 
groupadd -g 503 oper 
groupadd -g 504 asmadmin 
groupadd -g 505 asmdba 
groupadd -g 506 asmoper 
  
/usr/sbin/useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper grid 
/usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle 
 
passwd oracle 
passwd grid 
 
1.6  创建文件目录及权限配置 
mkdir -p /oracle/app/grid 
mkdir -p /oracle/app/12.2.0/grid (注意将 grid 文件解压拷贝到这) 
mkdir -p /oracle/app/oracle 
mkdir -p /oracle/app/oraInventory 
chown -R grid:oinstall /oracle/app 
chown -R oracle:oinstall /oracle/app/oracle 
chmod -R 775 /oracle/app 
 
1.7  配置环境变量 
#su – grid 
$vi .bash_profile 
export TMP=/tmp 
export TMPDIR=$TMP 
export ORACLE_BASE=/oracle/app/grid 
export ORACLE_HOME=/oracle/app/12.2.0/grid 
export ORACLE_SID=+ASM1 
export PATH=/usr/sbin:$PATH 
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 
 
$source .bash_profile 
   
#su – oracle 
$vi .bash_profile 
export TMP=/tmp 
export TMPDIR=$TMP 
export ORACLE_BASE=/oracle/app/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 
export ORACLE_SID=rac1 
export PATH=/usr/sbin:$PATH 
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 
 
 
1.8  安装 cvuqdisk 
cvuqdisk 存于 oracle GI 安装介质的 cv/rpm 目录下 
export CVUQDISK_GRP=asmadmin 
rpm -ivh cvuqdisk-1.0.10-1.rpm 
 
1.9  配置/etc/security/limits.conf 
grid   soft   nproc   2047 
grid   hard   nproc   16384 
grid   soft    nofile   1024 
grid   hard   nofile   65536 
grid   soft    stack   10240 
grid   hard   stack   32768 
  
oracle   soft   nproc   2047 
oracle   hard   nproc   16384 
oracle   soft   nofile   1024 
oracle   hard   nofile   65536 
oracle   soft   stack   10240 
oracle   hard   stack   32768 
 
1.10  配置/etc/sysctl.conf 
 增加以下内容 
Sysctl -p   
kernel.shmall = 2097152 
 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmmax = 6442450944 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500 
net.ipv4.tcp_rmem = 4096 87380 4194304 
net.ipv4.tcp_wmem = 4096 16384 4194304 
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048576 
net.ipv4.conf.eth2.rp_filter = 2 
net.ipv4.conf.eth1.rp_filter = 2 
net.ipv4.conf.eth0.rp_filter = 1 
 
1.11  配置/etc/pam.d/login 
增加以下内容: 
session   required   pam_limits.so 
 
2  ASM 磁盘配置部分 
UDEV 配置 asm 磁盘(两个节点都执行) 
准备 ASM disk,可以采用下面 2  种: 
第一种: 使用 udev(可不对 sdb/sdc/sdd/sde 进行分区) 
第二种:使用 asmlib (需要将 sdb/sdc/sdd/sde  使用 fdisk /dev/sdX 进行磁盘分区,而且
oracle 建议如果分区最好一个 disk 只划分一个分区) 
本测试采用第一种:使用 udev 
/sbin/scsi_id -g -u -d /dev/sdb 
36000c29d9db97a7736ff8c4a1a349b75 
 
 
/sbin/scsi_id -g -u -d /dev/sdc 
36000c291687cb1686bb0c730ae9c58fa 
 
/sbin/scsi_id -g -u -d /dev/sdd 
36000c29cb24504502be98f5a60ac38ff 
 
/sbin/scsi_id -g -u -d /dev/sde 
36000c2959f95f5a7a45942d255d8633d 
vim /etc/udev/rules.d/99-oracle-asmdevices.rules 
 
KERNEL=="sdb", 
BUS=="scsi", 
PROGRAM=="/sbin/scsi_id 
--whitelisted 
--replace-whitespace 
--device=/dev/$name", 
RESULT=="36000c2902e7cd2828ecad2fe10792c2a", 
NAME="asm-diskb", 
OWNER="grid", GROUP="asmadmin", MODE="0660" 
 
KERNEL=="sdc", 
BUS=="scsi", 
PROGRAM=="/sbin/scsi_id 
--whitelisted 
--replace-whitespace 
--device=/dev/$name", 
RESULT=="36000c297846c8d361d1ea36d9a327ab6", 
NAME="asm-diskc", 
OWNER="grid", GROUP="asmadmin", MODE="0660" 
 
KERNEL=="sdd", 
BUS=="scsi", 
PROGRAM=="/sbin/scsi_id 
--whitelisted 
--replace-whitespace 
--device=/dev/$name", 
RESULT=="36000c29a60e992b05cbdc9b6a975a18f", 
NAME="asm-diskd", 
OWNER="grid", GROUP="asmadmin", MODE="0660" 
 
KERNEL=="sde", 
BUS=="scsi", 
PROGRAM=="/sbin/scsi_id 
--whitelisted 
--replace-whitespace 
--device=/dev/$name", 
RESULT=="36000c2940e111e9d609fa362ec1cea6c", 
NAME="asm-diske", 
OWNER="grid", GROUP="asmadmin", MODE="0660" 
重启 UDEV 
# /sbin/udevadm control --reload-rules 
#/sbin/start_udev 
 
 
2.1  5.2 验证 asm disk 生成 
查询 asm 磁盘是否生成 
#cd /dev 
#ls –l asm* 
[root@rac2 dev]# ls -l asm* 
brw-rw---- 1 grid asmadmin 8,17 Feb 22 06:35 asm-disk1 
brw-rw---- 1 grid asmadmin 8,33 Feb 22 06:35 asm-disk2 
  
2.2  修改磁盘属性 
Linux I/O  调度方法 
  https://www.cnblogs.com/sopc-mc/archive/2011/10/09/2204858.html 
 
(1)修改磁盘属性 
#echo deadline >/sys/block/sdb/queue/scheduler 
#echo deadline > /sys/block/sdc/queue/scheduler 
  
(2)验证属性修改结果: 
[root@rac1 dev]#   more /sys/block/sdb/queue/scheduler 
noop anticipatory [deadline]cfq 
[root@rac1 dev]#   more /sys/block/sdc/queue/scheduler 
noop anticipatory [deadline]cfq 
 
2.3  CVU  检查 
运行 CVU  检查系统配置是否满足条件, 在运行 CVU  之前需要手动配置 SSH (12C 双机信任关系可
在 grid oui 中直接设置) 
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup –verbose 
 
2.4  安装 GI(Grid Infrastructure) 
./gridSetup.sh