1、vmware安装两台相同的centos7系统,分别取名rac1、rac2
2、vmware在rac1新增7块硬盘,两块data、两块archive、三块ocr。测试用大小建议<=10g,均设置为独立永久模式(将虚拟机磁盘存储为单个磁盘)。
3、关机rac1和rac2
4、rac2新增磁盘选择现有虚拟磁盘,对应刚才的7个vmdx文件,也全部设为独立永久模式。
5、修改两个虚拟机的vmx文件,增加如下配置(scsi*因人而已)
scsi0.sharedBus= "virtual"
disk.locking= "false"
diskLib.dataCacheMaxSize= "0"
diskLib.dataCacheMaxReadAheadSize= "0"
diskLib.DataCacheMinReadAheadSize= "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites= "0"
6、将rac1和rac2开机
*****************************之后两台节点均执行以下操作*****************
7、yum -y install device-mapper-multipath.x86_64 安装多路径 (rac1和rac2都要安装配置)
8、systemctl list-unit-files | grep multipathd 查看多路径是否开机自动启动
9、/usr/lib/udev/scsi_id -g -u /dev/sd* 查看7个磁盘的wwid
10、vim /etc/multipath.conf
multipaths {
multipath {
wwid 36000c293284e57a0c5e07e1189131264
alias sdb_asmocr1
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c293445ec1e56884b853905dfde1
alias sdc_asmocr2
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c29989b1c4aa3bbe1a56e5aa2a21
alias sdd_asmocr3
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c291080ad0f78272bc938de8514f
alias sde_asmdata1
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c292b54f5d6338f27faa63b3e218
alias sdf_asmdata2
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c29c41289120cca5a118214c7fb2
alias sdg_asmarch1
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 36000c29c72b61e145ac6544cba98448a
alias sdh_asmarch2
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
}
11、service multipathd start , 之后ll /dev/dm* 以及 ll /dev/mapper/ 查看各个盘的多路径是否出现
12、创建create_rac_user.sh脚本并执行
#!/bin/bash
groupadd -g 200 oinstall
groupadd -g 201 dba
groupadd -g 202 oper
groupadd -g 203 asmadmin
groupadd -g 204 asmoper
groupadd -g 205 asmdba
useradd -u 200 -g oinstall -G dba,asmdba,oper oracle -s /bin/bash
useradd -u 201 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid -s /bin/bash
13、创建create_rac_dir.sh脚本并执行
#!/bin/bash
#1、Create 'Oracle inventory'
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory/
chmod -R 775 /u01/app/oraInventory/
#2、Create 'Grid Infrastructure BASE'
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
#3、Create 'Grid Infrastructure Home'
mkdir -p /u01/app/11.2.0.4/grid
chown -R grid:oinstall /u01/app/11.2.0.4/grid/
chmod -R 775 /u01/app/11.2.0.4/grid/
#4、Create ‘Oracle Base’
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
#5、Create ‘Oracle Rdbms Home’
mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0.4/db_1
chmod -R 775 /u01/app/oracle/product/11.2.0.4/db_1
14、vim /etc/udev/rules.d/99-asmmultipath.rules
#!/bin/bash
KERNEL=="dm-[3-9]", OWNER="grid", GROUP="asmadmin", MODE="0660"
15、service systemd-udev-trigger restart 并执行ll /dev/dm*查看路径用户用户组是否变更
16、vim /etc/sysctl.conf 追加
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
17、sysctl -p 执行生效
18、 vim /etc/security/limits.conf 追加
#modify for oracle
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
#modify for grid
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
19、 su - grid 再vim .bash_profile 追加后source .bash_profile
export EDITOR=vi
#这边的SID要求不一样,rac2这种可以直接设置为+ASM2
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export THREADS_FLAG=native
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
umask 022
20、su - oracle 再vim .bash_profile 追加后source .bash_profile
export EDITOR=vi
#这边的SID要求不一样,rac2这种可以直接设置为racdb2
export ORACLE_SID=racdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
umask 022
21、 关闭防火墙
service firewalld stop
systemctl disable firewalld
22、关闭selinux。 setenforce 0再vim /etc/selinux/config修改SELINUX=disabled
23、创建vip,复制/etc/sysconfig/network-scripts/ifcfg-ens*(对应rac1的主ip)改名增加:1,修改内容设NAME、DEVICE、IPADDR之后重启network
24、创建私有ip,vmware为两个机器添加虚拟网卡,进入系统ifconfig查看多了一个ens*网卡,创建/etc/sysconfig/network-scripts/ifcfg-ens*设置一个其他网段ip,之后重启network
25、两个节点修改/etc/hosts
192.168.3.151 rac1
192.168.3.152 rac2
10.10.1.101 rac1-priv
10.10.1.202 rac2-priv
192.168.3.153 rac1-vip
192.168.3.154 rac2-vip
192.168.3.155 zc-cluster-scan
****************************建立ssh互信(以oracle和grid用户分别执行一次)****************
26、在grid用户下解压linux.x64_11gR2_grid.zip,进入grid/sshsetup
./sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -noPromptPassphrase
./sshUserSetup.sh -user root -hosts "rac1 rac2" -advanced -noPromptPassphrase
*********************rac1机器安装grid*********************
27、su切换到root用户 ,先安装yum install smartmontools,再安装grid/rpm/cvuqdisk-1.0.7-1.rpm, rpm -ivh cvuqdisk-1.0.7-1.rpm
28、切换会grid用户,./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
29、依据检查结果安装对应程序,若安装完成后仍然检查错误,则跳过不用管。
30、在grid用户下,./runInstaller -jreLoc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/ (jre路径利用which java和ls -l查看,具体找到最后一个软连接指向的路径,不指定jre可能会存在安装界面弹出看不到,只出现一条竖线),弹出界面进行安装(若在xshell或secureCrt下没有正确弹出窗口,检查xhost,yum安装xclock在执行xclock看看能否弹出。某些情况只有root用户才能调出界面,grid无法实现。。这时只能选择静默安装,或者进虚拟机桌面下执行runInstaller,无桌面版则需要安装桌面后startx即可)
31、界面步骤:
- 安装选项学选择集群
- 高级安装
- 添加库名(随意)和scan名称(这里对应zc-cluster-scan),GNS选项不选
- Edit和Add将两个节点的ip和vip填进去,例子(rac1,rac1-vip;rac2,rac2-vip),若出现ins40912,则分别在两节点执行ifdown ens*:1,将对应vip网卡下线。
- 网络设置直接next
- 选择ASM
- 磁盘组取名,选normal,add disks点击change discovery path,输入/dev/mapper/sd*,出来路径后选择ocr的三个盘,再下一步。(若存在盘没显示,大概率为权限问题,查看/dev/dm*的用户用户组是否匹配,再chown修改)
- 设置密码(大小写加数字)
- next
- next
- next
- next
- 等待校验,之后选择ignore all,next
- install或者finish,等待安装
- 弹出以下窗口时,以root用户分别登入两个节点,执行脚本。(注:执行第二个脚本时,需要在另一个终端不停地执行"/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1"直到执行成功为止。否则出现CRS-4124报错)
- 最后点击OK,会继续安装剩下的程序。
- 最后结果如下图(这两个错误不用管),next即可,安装结束。
- 最后分别在两个节点su - grid,再执行asmcmd查看共享盘中的文件是否一致。
********************************安装oracle***************************
32、步骤
- install database software only
- application cluster (rac1 rac2)
- enterprise edition
- next next 开始检查
- ignore all 再finish 开始安装,55%的时候弹出错误
- 修改文件ins_ctx.mk,"$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)"修改为"-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/li64/libc.a",再修改ins_emagent.mk文件将"$(MK_EMAGENT_NMECTL)"修改为:"$(MK_EMAGENT_NMECTL) -lnnz11",之后界面retry即可
- 弹出执行root.sh创久,在两个节点分别新开终端root用户登入,执行root.sh即可。
- 点击ok,显示安装成功。
************************安装asm磁盘组*************************
33、