ORACLE 12C R2 RAC集群部署搭建
目录
1、ORACLE 12.2软硬件要求
1.1 硬件最低配置要求
1.2 ORACLE 12.2认证的OS软件版本
2、整体规划部分
2.1 IP地址规划
2.2 操作系统本地磁盘分区规划
2.3 共享存储与ASM磁盘组规划
3、操作系统配置部分
3.1 配置hosts文件
3.2 安装RPM包
3.3创建用户组
3.4 创建文件目录及权限配置
3.5 配置环境变量
3.6 安装cvuqdisk
4、修改操作系统配置
4.1 开启nscd
4.2 关闭防火墙
4.3 禁用selinux
4.4 关闭TransparentHugePages
4.5 配置/etc/security/limits.conf
4.6 配置/etc/sysctl.conf
4.7 配置/etc/pam.d/login
4.8 配置DNS
4.9 修改时间同步方式
4.10 修改nsswitch.conf
4.10 配置NOZEROCONF
4.11 配置互信
5、ASM磁盘配置部分
5.1 UDEV配置asm磁盘(两个节点都执行)
5.2 验证asm disk生成
5.2 修改磁盘属性
6、grid软件安装
6.1 检测安装环境
6.2 安装GI(Grid Infrastructure)
7 、asmca创建其它asmdiskgroup
8、database软件安装
9、创建CDB
10、创建PDB
10.1 以命令方式创建PDB
10.2 查看创建成功的PDB
1、ORACLE
12.2软硬件要求
1.1 硬件最低配置要求
序号 | 组件 | 内存需求 |
1 | Oracle Grid Infrastructure installations | 4GB以上 |
2 | Oracle Database installations | 最小1GB,建议2GB以上 |
1.2 ORACLE 12.2认证的OS软件版本
序号 | 组件 |
1 | Oracle Linux 7 with the Unbreakable
Enterprise kernel:
3.8.13-35.3.1.el7uek.x86_64 or later |
2 | Oracle Linux 7 with the Red Hat
Compatible kernel:
3.10.0-123.el7.x86_64 or later |
3 | Oracle Linux 6.4 with the Unbreakable
Enterprise kernel 2:
2.6.39-200.24.1.el6uek.x86_64 or later |
4 | Oracle Linux 6 with the Red Hat
Compatible kernel:
2.6.32-358.el6.x86_64 or later |
5 | Red Hat Enterprise Linux 7:
3.10.0-123.el7.x86_64 or later |
6 | Red Hat Enterprise Linux 6:
2.6.32-358.el6.x86_64 or later |
7 | SUSE Linux Enterprise Server 12:
3.12.28-4-default or later |
8 | SUSE Linux Enterprise Server 11 SP2:
3.0.13-0.27 or later |
2、整体规划部分
2.1 IP地址规划
序号 | 所属 | 主机名称 | 用途 | IP地址 |
1 | GNS | | GNS | 192.168.1.190 |
2 | Node1 | rac1 | public | 192.168.1.191 |
3 | Node1 | vip | 192.168.1.192 |
4 | Node1 | Private1 | 10.1.1.191 |
5 | Node1 | Private2 | 10.1.1.192 |
7 | Node2 | rac2 | public | 192.168.1.193 |
8 | Node2 | vip | 192.168.1.194 |
9 | Node2 | Private1 | 10.1.1.193 |
10 | Node2 | Private2 | 10.1.1.194 |
11 | scan | | scan1 | 192.168.1.195 |
12 | scan | | scan2 | 192.168.1.196 |
13 | scan | | scan3 | 192.168.1.197 |
2.2 操作系统本地磁盘分区规划
序号 | 分区名称 | 大小 | 用途说明 |
1 | /boot | 200MB | 引导分区 |
2 | / | 12288MB(12G) | 根分区 |
3 | swap | 6144MB | 最少4.7303GB以上 |
4 | /dba | 44850MB | oracle安装目录 |
2.3 共享存储与ASM磁盘组规划
序号 | 磁盘名称 | Asm磁盘名称 | 磁盘组名称 | 大小 | 用途 |
1 | sdb1 | asm-diskb | OCR_VOT | 10G | OCR+VOTINGDISK |
2 | sdc1 | asm_diskc | DATA01 | 30G | data |
3、操作系统配置部分
3.1 配置hosts文件
Vi /etc/hosts
192.168.1.189 GNS 192.168.1.191
rac1.li.com rac1 192.168.1.192 rac1-vip.li.com
rac1-vip 10.1.1.191
rac1-pri1.li.com rac1-pri1 10.1.1.192
rac1-pri2.li.com rac1-pri2 192.168.1.193
rac2.li.com rac2 192.168.1.194
rac2-vip.li.com rac2-vip 10.1.1.193
rac2-pri1.li.com rac2-pri1 10.1.1.194
rac2-pri2.li.com rac2-pri2 192.168.1.195
rac-scan.li.com rac-scan 192.168.1.196
rac-scan.li.com rac-scan 192.168.1.197
rac-scan.li.com rac-scan |
3.2 安装RPM包
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) unixODBC.x86_64 0:2.2.14-12.el6_3 nscd
|
3.3创建用户组
#/usr/sbin/groupadd –g 501
oinstall
#/usr/sbin/groupadd –g 502dba
#/usr/sbin/groupadd –g 503oper
#/usr/sbin/groupadd –g 504asmadmin
#/usr/sbin/groupadd –g 505asmdba
#/usr/sbin/groupadd –g 506 asmoper
#/usr/sbin/useradd –u 501 –g oinstall –G
asmadmin,asmdba,asmoper grid
#/usr/sbin/useradd –u 502 –goinstall –G
dba,asmdba oracle
passwd oracle
passwd grid
3.4 创建文件目录及权限配置
#mkdir -p /dba/app/grid
--this is the GI ORACLE_BASE
#mkdir -p /dba/app/12.2.0/grid
--this is the ORACLE_HOME FOR GI
#mkdir -p /dba/app/oracle
--this is the RDBMS ORACLE_BASE
#mkdir -p
/dba/app/oracle/product/12.2.0/db_1
--this is the RDBMSORACLE_HOME
#mkdir
-p /dba/app/oraInventory
--this is oraInventory location
#chown -R grid:oinstall/dba/app
#chown -Roracle:oinstall /dba/app/oracle
#chmod -R 775 /dba/app
3.5 配置环境变量
#su – grid
$vi .bash_profile
export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/dba/app/grid export ORACLE_HOME=/dba/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 alias sqlplus="rlwrap sqlplus" |
$source .bash_profile
#su – oracle
$vi .bash_profile
export PATH export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/dba/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 export ORACLE_SID=naridb 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 alias sqlplus="rlwrap sqlplus" alias rman="rlwrap rman" |
3.6 安装cvuqdisk
cvuqdisk存于oracle
GI安装介质的cv/rpm目录下
export CVUQDISK_GRP=asmadmin
rpm –ivh
cvuqdisk-1.0.10-1.rpm
4、修改操作系统配置
4.1 开启nscd
#chkconfig nscd on
chkconfig --level 35 nscd on
service nscd start
4.2 关闭防火墙
#chkconfig iptables off
#chkconfig ip6tables off
#service iptables stop
#service ip6tables stop
4.3 禁用selinux
修改/etc/selinux/config
编辑文本中的SELINUX=enforcing为SELINUX=disabled
4.4 关闭TransparentHugePages
(1)查看验证transparent_hugepage的状态
cat/sys/kernel/mm/redhat_transparent_hugepage/enabled
always madvise [never] 结果为never表示关闭
(2)关闭transparent_hugepage的配置
#vi /etc/rc.local #注释:编辑rc.local文件,增加以下内容 if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi |
4.5 配置/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 |
4.6 配置/etc/sysctl.conf
增加以下内容
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 67108864 kernel.shmmax = 274877906944 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 |
针对rp_filter部分,如果没有多张私有网卡,则不需要配置,文档 ID1286796.1有描述。
4.7 配置/etc/pam.d/login
增加以下内容:
session required pam_limits.so |
4.8 配置DNS
#vi /etc/resolv.conf
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置了/etc/resolv.conf还要在/etc/sysconfig/network-scripts/ifcfg-eth0中增加DNS1=192.168.1.190的原因是,如果不配置后者,在OS重启后,resolv.conf中配置的nameserver信息会自动丢失
4.9 修改时间同步方式
(1)vi/etc/ntp.conf
#增加下面内容 Server 192.168.1.190 |
(2)Vi /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p
/var/run/ntpd.pid -g" 修改成 OPTIONS="-x -u ntp:ntp -p
/var/run/ntpd.pid -g" |
#chkconfig ntpd on
#service ntpd restart
4.10 修改nsswitch.conf
nsswitch.conf保存的是域名检索顺序。在一些系统配置中,NIS(Network Information System)可能会引起SCAN域名解析异常。为了避免这种问题的发生,对nsswitch.conf做如下调整。
#vi /etc/nsswitch.conf
修改行 hosts:
files dns 为 hosts:
files dns nis |
4.10 配置NOZEROCONF
vi /etc/sysconfig/network增加以下内容
4.11 配置互信
方法:使用sshUserSetup.sh快速创建互信
sshUserSetup.sh在GI安装介质解压缩后的oui/prov/resources/scripts目录下。
下面两条命令在一个节点上执行即可(可以在root用户下执行):
#./sshUserSetup.sh -user grid
-hosts "rac2 rac1" -advanced -exverify –confirm #./sshUserSetup.sh -user oracle -hosts
"rac2 rac1" -advanced -exverify -confirm |
5、ASM磁盘配置部分
5.1 UDEV配置asm磁盘(两个节点都执行)
(1)查出两个磁盘的UUID
[root@rac1 ~]# /sbin/scsi_id -g -u -d
/dev/sdb
36000c29a206f9c0ff78ea1f8b17f4c68
[root@rac1 ~]# /sbin/scsi_id-g -u -d /dev/sdc
36000c293dee9cf6e31fe7eeaf2f5bba7
(2)vi/etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb",
BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted
--replace-whitespace --device=/dev/$name",
RESULT=="36000c29a206f9c0ff78ea1f8b17f4c68", NAME="asm-diskb",
OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sdc",
BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted
--replace-whitespace --device=/dev/$name",
RESULT=="36000c293dee9cf6e31fe7eeaf2f5bba7",
NAME="asm-diskc", OWNER="grid", GROUP="asmadmin",
MODE="0660" |
(3)重启UDEV
# /sbin/udevadm control
--reload-rules
#/sbin/start_udev
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
5.2 修改磁盘属性
(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
6、grid软件安装
6.1 检测安装环境
--全面检查:
./runcluvfy.sh stage -precrsinst -n rac1,rac2 -verbose
--检查网络和等效性
./runcluvfy.sh comp nodecon -nrac1,rac2 -verbose
[grid@rac1 grid]$ ./runcluvfy.sh comp
nodecon -n rac1,rac2 -verbose Verifying Node Connectivity ... Verifying Hosts File ... Node
Name
Status
------------------------------------ ------------------------
rac1
passed
rac2
passed Verifying Hosts File ...PASSED Interface information for node
"rac1" Name IP
Address
Subnet
Gateway Def. Gateway
HW Address MTU ------ ---------------
--------------- --------------- --------------- ----------------- ------ eth0
192.168.2.191 192.168.2.0
0.0.0.0
192.168.2.2 00:0C:29:7E:7E:8E 1500 eth1
10.1.1.191 10.1.1.0
0.0.0.0
192.168.2.2 00:0C:29:7E:7E:98 1500 eth2
10.1.1.192
10.1.1.0
0.0.0.0
192.168.2.2 00:0C:29:7E:7E:A2 1500 Interface information for node
"rac2" Name IP
Address
Subnet
Gateway Def.
Gateway HW
Address MTU ------ ---------------
--------------- --------------- --------------- ----------------- ------ eth0
192.168.2.193 192.168.2.0 0.0.0.0
192.168.2.2
00:0C:29:4D:85:CF 1500 eth1 10.1.1.193
10.1.1.0
0.0.0.0
192.168.2.2 00:0C:29:4D:85:D9 1500 eth2
10.1.1.194
10.1.1.0
0.0.0.0
192.168.2.2 00:0C:29:4D:85:E3 1500 Node
Name IP Address
Subnet MTU -------- ------- ------------
------------ ------------- rac1
eth0 192.168.2.191 192.168.2.0
1500 rac2
eth0 192.168.2.193 192.168.2.0
1500 Node
Name IP Address Subnet
MTU -------- --------
------------ ------------ ------------ rac1
eth1 10.1.1.191
10.1.1.0
1500 rac1
eth2 10.1.1.192
10.1.1.0
1500 rac2
eth1 10.1.1.193 10.1.1.0
1500 rac2
eth2 10.1.1.194
10.1.1.0
1500 Verifying Check that maximum (MTU) size
packet goes through subnet ...PASSED Verifying Node Connectivity ...PASSED Verifying Multicast check ...PASSED Verification of node connectivity was
successful. CVU operation
performed: node connectivity Date:
Feb 22, 2016 8:17:50 PM CVU
home:
/dba/soft/grid/ User:
grid |
6.2 安装GI(Grid Infrastructure)
./gridSetup.sh
Scan name需要和/etc/hosts中的scan名称一致,否则会报下面错误:
ins-40718 single client accessname(scan):XXclustername could not be
resolved
如果选择flex,必须3块磁盘,以及剩余空间36352MB以上,如下图所示:
[grid@rac1 tmp]$ crs_stat -t Name
Type
Target State
Host ------------------------------------------------------------ ora....SM.lsnr ora....er.type
ONLINE ONLINE
rac1 ora....ER.lsnr ora....er.type
ONLINE ONLINE
rac1 ora....AF.lsnr ora....er.type
OFFLINE
OFFLINE ora....N1.lsnr ora....er.type
ONLINE ONLINE
rac2 ora....N2.lsnr ora....er.type
ONLINE ONLINE
rac1 ora....N3.lsnr ora....er.type
ONLINE ONLINE
rac1 ora.MGMTLSNR ora....nr.type
ONLINE ONLINE
rac1 ora.OCR_VOT.dg ora....up.type
ONLINE ONLINE
rac1 ora.asm
ora.asm.type ONLINE ONLINE
rac1 ora.cvu
ora.cvu.type ONLINE ONLINE
rac1 ora.gns
ora.gns.type ONLINE ONLINE
rac1 ora.gns.vip ora....ip.type
ONLINE ONLINE
rac1 ora.ioserver ora....er.type
OFFLINE
OFFLINE ora.mgmtdb
ora....db.type ONLINE ONLINE
rac1 ora....network ora....rk.type
ONLINE ONLINE
rac1 ora.ons
ora.ons.type ONLINE ONLINE
rac1 ora.proxy_advm ora....vm.type
OFFLINE
OFFLINE ora.qosmserver ora....er.type
ONLINE ONLINE
rac1 ora....C1.lsnr
application ONLINE
ONLINE rac1 ora.rac1.ons
application ONLINE
ONLINE rac1 ora.rac1.vip ora....t1.type
ONLINE ONLINE
rac1 ora....C2.lsnr
application ONLINE
ONLINE rac2 ora.rac2.ons
application ONLINE
ONLINE
rac2 ora.rac2.vip ora....t1.type
ONLINE ONLINE
rac2 ora.scan1.vip ora....ip.type
ONLINE ONLINE
rac2 ora.scan2.vip ora....ip.type
ONLINE ONLINE
rac1 ora.scan3.vip ora....ip.type
ONLINE ONLINE rac1 |
7 、asmca创建其它asmdiskgroup
8、database软件安装
#su – oracle
$./runInstaller
按照上图提示,在两个节点上分别执行:
./dba/app/oracle/product/12.2.0/db_1/root.sh
9、创建CDB
#su - oracle
$dbca
查看创建的容器数据库:
SQL> select name,cdb from v$database;
NAME CDB
--------- ---
LITESTDB YES
查看存在的插拨数据库:
SQL> col pdb_name for a30
SQL> selectpdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;
PDB_ID
PDB_NAME DBID
STATUS CREATION_SCN
------ --------------------------- ---------- -----------
2
PDB$SEED
33618433 NORMAL 2717802
10、创建PDB
10.1 以命令方式创建PDB
$sqlplus “/as
sysdba”
SQL> CREATE PLUGGABLEDATABASE lipdb
ADMIN USER lipdbdba IDENTIFIED BY lipdbdba
STORAGE (MAXSIZE 5G MAX_SHARED_TEMP_SIZE100M)
DEFAULT TABLESPACE tbs_pdb2 DATAFILE'+DATA01' SIZE 100M
AUTOEXTEND ON;
Pluggable database created.
10.2 查看创建成功的PDB
SQL> col pdb_name for a30
SQL> selectpdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;
PDB_ID PDB_NAME
DBID STATUS CREATION_SCN
------ --------- ------------------ ------------
3 LIPDB 182063881
NEW 3294239
2 PDB$SEED 33618433
NORMAL 2717802