1、检查系统环境和关闭防火墙
内存>=1.5GB
grep MemTotal /proc/meminfo
grep "model name" /proc/cpuinfo
grep SwapTotal /proc/meminfo
free
df -k /dev/shm/
uname -m
df -h /tmp
df -h
uname -r
service iptables stop
chkconfig iptables off
2、安装软件包
[root@rac1 ~]#
vi /etc/yum.repos.d/yum.repo
[server]
name=server
baseurl=file:///mnt/Server
gpgcheck=0
enable=1
[root@rac1 ~]#
mount /dev/cdrom /mnt
[root@rac1 ~]#
yum install -y binutils-* compat-libstdc++-33-* elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-*glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh-* libaio-* libgcc-* libstdc++-* make-* sysstat-*unixODBC-* unixODBC-devel-* ld-linux.so.2 libXp.so.6 libXt.so.6 libXtst.so.6 glibc.i686 libgcc.i686 glibcdevel.i686
3、修改系统参数
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 68719476736
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
sysctl -p
vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
session required pam_limits.so
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
rac1&rac2
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.56.70 rac1
192.168.56.71 rac2
10.0.0.70 rac1priv
10.0.0.71 rac2priv
192.168.56.123 rac1vip
192.168.56.124 rac2vip
192.168.56.125 racscanip
4、增加组、用户、目录
groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid
useradd -u 1101 -g oinstall -G dba,asmdba -d /home/oracle oracle
echo grid | passwd --stdin grid
echo oracle | passwd --stdin oracle
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle/app/oraInventory
mkdir -p /oracle/11.2.0/grid
mkdir -p /oracle/app/grid
chown -R grid:oinstall /oracle/app/grid
chown -R grid:oinstall /oracle/11.2.0/grid
chmod -R 775 /oracle/11.2.0/grid
mkdir -p /oracle/app/oracle
mkdir /oracle/app/oracle/cfgtoollogs
chown -R oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/app/oracle
mkdir -p /oracle/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /oracle/app/oracle/product/11.2.0/db_1
chmod -R 775 /oracle/app/oracle/product/11.2.0/db_1
5、配置环境变量、互信
rac1
su - grid
vi .bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
rac2
su - grid
vi .bash_profile
export ORACLE_SID=+ASM2
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
oracle 用户环境变量
vim .bash_profile
export ORACLE_BASE=/oracle/app/oracle/
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
export ORACLE_SID=racdb2
export PATH=$ORACLE_HOME/bin:$PATH
rac1
root用户执行
/software/grid/sshsetup/sshUserSetup.sh -user grid -hosts "rac1 rac2 " -advanced -noPromptPassphrase
/software/grid/sshsetup/sshUserSetup.sh -user oracle -hosts "rac1 rac2 " -advanced -noPromptPassphrase
rac1&rac2
su - grid
ssh rac1 date
ssh rac2 date
ssh rac1priv date
ssh rac2priv date
su - oracle
ssh rac1 date
ssh rac2 date
ssh rac1priv date
ssh rac2priv date
6、格式化硬盘
fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-783, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-783, default 783): +1G
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (124-783, default 124):
Using default value 124
Last cylinder or +size or +sizeM or +sizeK (124-783, default 783):
Using default value 783
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
7、配置裸设备
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="raw*", OWNER="grid", GROUP="asmadmin", MODE="660"
start_udev
partprobe
ls -l /dev/raw
chown grid:oinstall /dev/sdb*
chmod 660 /dev/sdb*
/software/grid/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
8、开始安装
cd /soft/grid/
./runInstaller
step 5 of 16
SCAN NAME:racscanip
step 6 of 16
rac1 rac1vip
rac2 rac2vip
step 7 of 16
eth0 172.168.56.0 public
eth1 10.10.10.0 private
step 8 of 16
Oracle ASM
step 9 of 16
Disk Group Name:griddg
Redundancy:External
Disk Path:/dev/raw/raw3
step 13 of 16
Oracle Base:/oracle/app/grid
Software Location:/oracle/11.2.0/grid
9.执行脚本
/oracle/app/oraInventory/orainstRoot.sh
/oracle/11.2.0/grid/root.sh
10 用Oracle用户登录安装database软件
执行
su -oracle
[oracle@rac1 src]$
cd database/
[oracle@rac1 database]$
./runInstaller
添加新的节点(新节点配置需要和之前的一样,磁盘也是共享)
[grid@rac1 ~]$
cluvfy comp nodecon -n rac1,rac2,rac3
提示:
Node connectivity check passed
Verification of node connectivity was successful.
备份:
[root@rac1 grid]#
cd /tmp/
[root@rac1 tmp]#
ocrconfig -manualbackup
rac1 2018/08/11 05:21:20 /oracle/11.2.0/grid/cdata/rac-cluster/backup_20180811_052120.ocr
[root@rac1 tmp]#
ocrconfig -showbackup manual
rac1 2018/08/11 05:21:20 /oracle/11.2.0/grid/cdata/rac-cluster/backup_20180811_052120.ocr
执行一致性检测
[grid@rac1 ~]$
cluvfy stage -post hwos -n rac3
报错
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: rac1,rac3
File "/etc/resolv.conf" is not consistent across nodes
Pre-check for node addition was unsuccessful on all the nodes.
主要是因为DNS和NTP服务
执行
su - grid
[grid@rac1 ~]$
cd $ORACLE_HOME/oui/bin
[grid@rac1 bin]$
export IGNORE_PREADDNODE_CHECKS=Y
./addNode.sh "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={rac3priv}" > /home/grid/add_node.log 2>&1
rac3 执行:
/oracle/app/oraInventory/orainstRoot.sh
/oracle/11.2.0/grid/root.sh
提示:
Operation successful.
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
su - oracle
[oracle@rac1 ~]$
cd $ORACLE_HOME/oui/bin
[oracle@rac1 bin]$
export IGNORE_PREADDNODE_CHECKS=Y
[oracle@rac1 bin]$
./addNode.sh "CLUSTER_NEW_NODES={rac3}" > tail -f /home/oracle/add_node.log 2>&1
RAC3执行
/oracle/app/oracle/product/11.2.0/db_1/root.sh
/oracle/11.2.0/grid/root.sh
使用
crs_stat -t查看
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora.RACDG.dg ora....up.type ONLINE ONLINE rac1
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.cvu ora.cvu.type ONLINE ONLINE rac1
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type ONLINE ONLINE rac1
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application OFFLINE OFFLINE
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application OFFLINE OFFLINE
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora....SM3.asm application ONLINE ONLINE rac3
ora....C3.lsnr application ONLINE ONLINE rac3
ora.rac3.gsd application OFFLINE OFFLINE
ora.rac3.ons application ONLINE ONLINE rac3
ora.rac3.vip ora....t1.type ONLINE ONLINE rac3
ora.racdb.db ora....se.type ONLINE ONLINE rac1
ora....ry.acfs ora....fs.type ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
节点添加完成
执行
[oracle@rac1 database]$
dbca
完成数据库添加

查看

验证
[grid@rac3 ~]$
olsnodes -n

[grid@rac3 ~]$
olsnodes -n

[grid@rac3 ~]$ crsctl stat res -t



成功添加完成
