redhat6 安装Oracle 12C R2 RAC(一)

 

1、实验环境说明

本实验中需在VMware 中共配置3台服务器,节点1创建并配置后,可克隆出节点2(修改相关参数),另外一台模拟存储。

操作系统:redhat6.6(建议最小化安装,会缺几个包,可配置本地yum源后yum安装)

oracle12c(linuxx64_12201_database.zip)

12cgrid(linuxx64_12201_grid_home.zip)

2、oracle 12C R2 软硬件要求

 

2.1硬件最低配置要求

序号

组件

内存需求

1

Oracle Grid Infrastructure installations

4GB以上

2

Oracle Database installations

最小1GB,建议2GB以上

2.2oracle 12C R2认证的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

3、整体规划

 

3.1 IP地址规划

 

注:

服务器至少需要2块网卡,一块是public,一块给prive。

public IP 、VIP IP 以及SCAN IP  必须是同一网段,而且公网IP(局域网)。

prive IP 跟其他IP 不属于同一网段,私网IP。

VIP IP 和SCAN IP 属于虚拟IP 表现为网卡子接口,如eth0:1,eth0:2。

节点一:jydb1

192.168.12.95   public

192.168.12.97  vip 

10.0.0.5   prive1###与节点2prive1、存储sp1组成vlan10,从而实现多路径

10.0.0.11   prive2###与节点2prive2、存储sp2组成vlan20

节点二:jydb2

192.168.12.96  public

192.168.12.98 vip 

10.0.0.6  prive1

10.0.0.22   prive2

scan ip

192.168.12.90 

storage(存储)

192.168.12.92

10.0.0.111 sp1

10.0.0.222 sp2

多网卡必要时需配置本机路由指向公共网段网关

redhat6 安装Oracle 12C R2 RAC(一)_第1张图片

上述操作重启后失效,若需要永久生效则需把命令行的操作命令route add default gw 192.168.12.1

 

在/etc/rc.local里面添加:

添加路由命令为:直接将在命令行操作的命令复制到该文件中,保存退出即可。

 

3.2操作系统本地磁盘分区规划

序号

分区名称

大小

用途说明

1

/boot

200MB

引导分区

2

/

剩余所有空间

(总分区建议40G以上)

根分区

3

swap

8192MB

最少4GB以上

 

     

4、操作系统配置部分

4.1.修改主机名

 

参考(https://blog.csdn.net/weixin_40283570/article/details/80928858)

4.2 配置hosts文件

 
$ vi /etc/hosts ##根据规划增加如下配置
#eth0 public
192.168.12.95  jydb1
192.168.12.96  jydb2

#eth0 vip
192.168.12.97  jydb1-vip
192.168.12.98  jydb2-vip

#eth1 private
10.0.0.5   jydb1-priv
10.0.0.6   jydb2-priv
10.0.0.11  jydb1-priv2
10.0.0.22  jydb2-priv2

#scan ip
192.168.12.90  jydb-cluster-scan

或者按照主机方式配置,如:#jydb1  #jydb2 #scanip 来配置

从oracle 11GR2开始,引入了SCAN IP 概念,相当于在客户端和数据库之间增加一层虚拟的网络层。在客户端tnsnames.ora配置文件中,只需要配置SCAN IP即可,客户端通过SCAN IP、SCANP IP Listener来访问数据库。使用SCAN IP的好处是,当后台RAC数据库添加、删除节点时,客户端配置信息无需修改。可以通过配置DNS服务器或者GNS来配置SCAN.

注意:主机名不要用下划线,否则安装可能会报错

4.3 检查RPM依赖包

[root@jydb1 ~]# rpm -q binutils compat-libcap1  compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat nfs-utils
binutils-2.20.51.0.2-5.46.el6.x86_64
compat-libcap1-1.10-1.x86_64
compat-libstdc++-33-3.2.3-69.el6.x86_64
gcc-4.4.7-18.el6.x86_64
gcc-c++-4.4.7-18.el6.x86_64
glibc-2.12-1.209.el6.x86_64
glibc-devel-2.12-1.209.el6.x86_64
ksh-20120801-33.el6.x86_64
libgcc-4.4.7-18.el6.x86_64
libstdc++-4.4.7-18.el6.x86_64
libaio-0.3.107-10.el6.x86_64
libaio-devel-0.3.107-10.el6.x86_64
libXext-1.3.3-1.el6.x86_64
libXtst-1.2.3-1.el6.x86_64
libX11-1.6.4-3.el6.x86_64
libXau-1.0.6-4.el6.x86_64
libxcb-1.12-4.el6.x86_64
libXi-1.7.8-1.el6.x86_64
make-3.81-23.el6.x86_64
sysstat-9.0.4-33.el6.x86_64
nfs-utils-1.2.3-75.el6.x86_64

如出现未安装则yum安装,亲测本地yum能满足所有包的安装。关于如何配置本地yum源,可查看《配置本地yum源》。

yum 安装

yum install binutils compat-libcap1 compat-libstdc++-33 \
e2fsprogs e2fsprogs-libs glibc glibc-devel ksh libaio-devel libaio libgcc libstdc++ libstdc++-devel \
libxcb libX11 libXau libXi libXtst make \
net-tools nfs-utils smartmontools sysstat

4.4 创建用户组

groupadd -g 54321 oinstall  
groupadd -g 54322 dba  
groupadd -g 54323 oper  
groupadd -g 54324 backupdba  
groupadd -g 54325 dgdba  
groupadd -g 54326 kmdba  
groupadd -g 54327 asmdba  
groupadd -g 54328 asmoper  
groupadd -g 54329 asmadmin  
groupadd -g 54330 racdba    
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid 

设置Oracle 和grid 用户密码

passwd oracle
passwd grid

4.5 创建文件目录及权限配置

mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

4.6 配置环境变量

gird 用户

[root@jydb1 ~]# cat /home/grid/.bash_profile

export ORACLE_SID=+ASM1;
#export ORACLE_SID=+ASM2;###节点2用这个
export ORACLE_HOME=/u01/app/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 

oracle用户

[root@jydb1 ~]# cat /home/oracle/.bash_profile

export ORACLE_SID=racdb1; 
#export ORACLE_SID=racdb2; ###节点2 用这个
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1;       
export ORACLE_HOSTNAME=jydb1;
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用户 Oracle用户
ORACLE_BASE /u01/app/grid /u01/app/oracle

ORACLE_HOME

/u01/app/12.2.0/grid /u01/app/oracle/product/12.2.0/db_1
ORACLE_SID[NODE1] racdb1

racdb2

ORACLE_SID[NODE2] +ASM1 +ASM2

grid用户的BASE和HOME变量是平行目录(如果设成父子目录会出错),而Oracle是父子目录。

4.7安装cvuqdisk(在grid介质cv/rpm目录下,也可以网上下载)

rpm -qi cvuqdisk
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP   
rpm -iv cvuqdisk-1.0.10-1.rpm

另外由于本系统是最小化安装,安装是会报错如下:

Preparing packages for installation... ls: 无法访问/usr/sbin/smartctl: 没有那个文件或目录 /usr/sbin/smartctl not 

解决方案:

yum install smartmontools

再次安装即可成功。

 

5、修改操作系统配置

5.1修改时间同步(最小化安装未安装ntpd服务,需手动安装)

 vi /etc/ntp.conf   
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.12.92
添加时间源服务器(测试用存储服务器作为时间源),注释已有同步服务器
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

如时间同步未配置成功,重启节点后可能会出现时间误差大,导致某一个节点无法正常运行。

 

 

 

第二种方法是关闭NTP服务,利用RAC自带的时间同步机制(本实验未成功,重启后一台节点无法启动)。

5.2 关闭防火墙

service iptables stop
chkconfig iptables off

5.3 禁用selinux

修改/etc/selinux/config
编辑文本中的SELINUX=enforcing为SELINUX=disabled

立即生效,setenforce  0

5.4 配置/etc/security/limits.conf,用户shell的限制

#在/etc/security/limits.conf 增加如下内容:
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

5.5 配置/etc/sysctl.conf,修改内核参数

# vi /etc/sysctl.conf  增加如下内容:
fs.file-max = 6815744  
kernel.sem = 250 32000 100 128  
kernel.shmmni = 4096  
kernel.shmall = 1073741824  
kernel.shmmax = 6597069766656
kernel.panic_on_oops = 1  
net.core.rmem_default = 262144  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 1048576  
#net.ipv4.conf.eth3.rp_filter = 2       
#net.ipv4.conf.eth2.rp_filter = 2
#net.ipv4.conf.eth0.rp_filter = 1  
fs.aio-max-nr = 1048576  
net.ipv4.ip_local_port_range = 9000 65500 
修改生效:sysctl -p

    针对rp_filter部分,如果没有多张私有网卡,则不需要配置,测试中注释掉也未影响。

5.7 配置/etc/pam.d/login,加载 pam_limits.so插入式认证模块

 

vi /etc/pam.d/login 添加如下内容:
session required pam_limits.so

5.8 配置NOZEROCONF

vi /etc/sysconfig/network增加以下内容

NOZEROCONF=yes 

5.9 修改nsswitch.conf(未验证)

nsswitch.conf保存的是域名检索顺序。在一些系统配置中,NIS(Network Information System)可能会引起SCAN域名解析异常。为了避免这种问题的发生,对nsswitch.conf做如下调整

#vi /etc/nsswitch.conf

修改行
hosts:      files dns
为
hosts:      files dns nis

为节省时间,完成以上所有步骤后,可直接克隆 节点2 ,克隆完成后需修改环境变量、主机名及网卡信息。(查看如何修改网卡信息)

5.10配置各节点ssh互信

以grid用户为例,oracle用户同样要配置互信(两个节点都要配置),主要作用在于方便安装过程中自动在多节点安装软件:

①先生成节点一grid的公钥
[grid@jydb1 ~]$ ssh-keygen -t rsa -P ''    
Generating public/private rsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_rsa): 
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
b6:07:65:3f:a2:e8:75:14:33:26:c0:de:47:73:5b:95 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ..        .o|
|      ..  o . .E |
|     . ...Bo o   |
|      . .=.=.    |
|        S.o o    |
|       o = . .   |
|      . + o      |
|     . . o       |
|      .          |
+-----------------+
把它通过命令传到节点二,
[grid@jydb1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

②在第二个节点上也生成公钥,并追加到authorized_keys
[grid@jydb2 .ssh]$ ssh-keygen -t rsa -P ''
......
[grid@jydb2 .ssh]$ cat id_rsa.pub >> authorized_keys
[grid@jydb2 .ssh]$ scp authorized_keys [email protected]:.ssh/
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
RSA key fingerprint is d1:21:03:35:9d:f2:a2:81:e7:e1:7b:d0:79:f4:d3:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.1' (RSA) to the list of known hosts.
[email protected]'s password: 
authorized_keys                                                                                                            100%  792     0.8KB/s   00:00

③验证
[grid@jydb1 .ssh]$ ssh jydb1 date
2018年 03月 30日 星期五 08:01:20 CST

[grid@jydb1 .ssh]$ ssh jydb2 date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 .ssh]$ ssh jydb1-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb2 .ssh]$ ssh jydb2-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 ~]$ ssh-keygen -t rsa -P ''    
Generating public/private rsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_rsa): 
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
b6:07:65:3f:a2:e8:75:14:33:26:c0:de:47:73:5b:95 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ..        .o|
|      ..  o . .E |
|     . ...Bo o   |
|      . .=.=.    |
|        S.o o    |
|       o = . .   |
|      . + o      |
|     . . o       |
|      .          |
+-----------------+
把它通过命令传到节点二,
[grid@jydb1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

②在第二个节点上也生成公钥,并追加到authorized_keys
[grid@jydb2 .ssh]$ ssh-keygen -t rsa -P ''
......
[grid@jydb2 .ssh]$ cat id_rsa.pub >> authorized_keys
[grid@jydb2 .ssh]$ scp authorized_keys [email protected]:.ssh/
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
RSA key fingerprint is d1:21:03:35:9d:f2:a2:81:e7:e1:7b:d0:79:f4:d3:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.1' (RSA) to the list of known hosts.
[email protected]'s password: 
authorized_keys                                                                                                            100%  792     0.8KB/s   00:00

③验证
[grid@jydb1 .ssh]$ ssh jydb1 date
2018年 03月 30日 星期五 08:01:20 CST

[grid@jydb1 .ssh]$ ssh jydb2 date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 .ssh]$ ssh jydb1-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb2 .ssh]$ ssh jydb2-priv date
2018年 03月 30日 星期五 08:01:20 CST

 

由于内容太多,分了几部分记录,第二部分地址

https://blog.csdn.net/weixin_40283570/article/details/80926694


 


 

 

你可能感兴趣的:(#,oracle)