Oracle rac集群笔记

一、Oracle grid软件:

1.1运行环境准备:

所需设备:

操作系统

ip1

ip2

主机名

Contos7

192.168.11.67

192.168.188.67

rac1

Contos7

192.168.11.68

192.168.188.68

rac2

Contos7

192.168.11.69

iscsi-server

Win10

192.168.20.66

liuchengji

基础环境规划:

ip类型

IP地址

主机名

作用

Public ip

192.168.11.67

rac1

本机物理网卡对应的IP用于网络之间的连接

192.168.11.68

rac2

Privacy ip

192.168.188.67

rac1-priv

私有ip,用作于节点之间的心跳检测

192.168.188.68

rac2-priv

scan ip

192.168.11.70

rac-scan

用于DNS和GNS解析、一个节点最多有三个scan ip,但写入host文件解析只能有一个

vip

192.168.11.167

rac1-vip

IP地址,需要与物理网卡在同一网段、只需写入host文件,当服务启动时就会生成这个IP、当服务机这个IP地址就会漂移到其他存活的节点上

192.168.11.168

rac2-vip

节点一和节点二的hosts配置:

[root@rac1 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#public ip
192.168.11.67        rac1
192.168.11.68        rac2

#priv ip
192.168.188.67       rac1-priv
192.168.188.68       rac2-priv

#vip
192.168.11.167       rac1-vip
192.168.11.168       rac2-vip

#scan
192.168.11.70        rac-scan

发送配置文件至节点二

[root@rac1 ~]# scp /etc/hosts root@192.168.11.68:/etc/hosts
The authenticity of host '192.168.11.68 (192.168.11.68)' can't be established.
ECDSA key fingerprint is SHA256:qshWKJ+cGX5OYoSmJA7YrwfvYaj9CuI5oG1UlRCmXsw.
ECDSA key fingerprint is MD5:27:a3:50:62:45:7e:6f:15:46:cf:26:96:ce:6f:cc:56.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.11.68' (ECDSA) to the list of known hosts.
root@192.168.11.68's password:
hosts                 100%  411    16.8KB/s   00:00

配置yum 源、安装epel 展源 (两个节点做相同操作)

[root@rac1 yum.repos.d]#curl -o CentOS7-Base-163.repo  http://mirrors.163.com/.help/CentOS7-Base-163.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1572  100  1572    0     0  11116      0 --:--:-- --:--:-- --:--:-- 11148
[root@rac1 yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@rac1 yum.repos.d]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo

oracle 11g centos 7系统所需安装包安装(两个节点做相同操作)

具体需要哪些依赖包参考文档:

Oracle® Database Quick Installation Guide                Oracle Database Documentation - Oracle Database

[root@rac1 ~]# yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++ gcc gcc-c++ glibc.i686  glibc glibc-devel.i686  glibc-devel ksh libaio.i686  libaio libaio-devel.i686  libaio-devel libgcc.i686  libgcc libstdc++.i686  libstdc++ libstdc++.i686  libstdc++ libXi.i686  libXi libXtst.i686  libXtst mak sysstat

关闭防火墙和selinux(两个节点做相同操作)

[root@rac1 ~]# systemctl stop firewalld.service
[root@rac1 ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@rac1 ~]# setenforce 0
[root@rac1 ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g'  /etc/selinux/config

创建用户和组,由于建立互信关系需使用密码,并给用户配置密码 (两个节点做相同操作)

[root@rac1 ~]# groupadd oinstall
[root@rac1 ~]# groupadd dba
[root@rac1 ~]# groupadd oper
[root@rac1 ~]# groupadd asmdba
[root@rac1 ~]# groupadd asmoper
[root@rac1 ~]# groupadd asmadmin
[root@rac1 ~]# useradd -g oinstall -G dba,oper,asmdba oracle
[root@rac1 ~]# useradd -g oinstall -G asmdba,dba,asmadmin,asmoper grid
[root@rac1 ~]#  echo "123456" | passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@rac1 ~]#  echo "123456" | passwd --stdin grid
更改用户 grid 的密码 。
passwd:所有的身份验证令牌已经成功更新。

创建目录 (两个节点做相同操作)

[root@rac1 ~]# mkdir -p /u01/app/{grid,oracle,gridbase}
[root@rac1 ~]# chown -R grid:oinstall /u01/
[root@rac1 ~]# chown -R oracle:oinstall /u01/app/oracle/
[root@rac1 ~]# chmod -R g+w /u01/
[root@rac1 ~]# ls -l /u01/app/
总用量 0
drwxr-xr-x 2 grid   oinstall  6 8月  16 15:45 grid
drwxr-xr-x 7 grid   oinstall 87 8月  16 16:37 gridbase
drwxr-xr-x 2 oracle oinstall  6 8月  16 15:45 oracle

 添加环境变量 (两个节点做相同操作)

[root@rac1 app]# vim /home/grid/.bash_profile      #追加下方内容
ORACLE_BASE=/oracle/app/grid
ORACLE_HOME=/oracle/app/11.2.0/grid
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH DISPLAY
export DISPLAY=192.168.20.66:0.0
export LANG="" 

[root@rac1 app]# vim /home/oracle/.bash_profile   #追加下方内容
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_SID=orcl1                 #注意节点1和节点2的SID 不能一样
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH DISPLAY

[root@rac1 app]# source /home/grid/.bash_profile /home/grid/.bash_profile

修改linux 内核参数 (两个节点做相同操作)  具体版本参数需参照Oracle官方安装手册

[root@rac1 ~]# 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

[root@rac1 ~]# sysctl -p

修改配置文件/etc/security/limits.conf (两个节点做相同操作)

[root@rac1 ~]# vi /etc/security/limits.conf       //在文件尾部添加
oracle soft nproc      2047
oracle hard nproc      16384
oracle soft nofile    1024
oracle hard nofile    65536
oracle soft stack      10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240

1.2共享磁盘iscsi创建

设备类别

设备ip

主机名

iSCSI服务端

192.168.11.69

iscsi-server

iSCSI客户端

192.168.11.68

rac2

iSCSI客户端

192.168.11.67

rac1

1.2.1服务端操作

添加空闲磁盘

下载安装targetd targetcli:

[root@iscsi-server ~]# yum install targetd targetcli -y
[root@iscsi-server ~]# systemctl start targetd
[root@iscsi-server ~]# systemctl enable targetd

用targetcli 来管理

[root@iscsi-server ~]# targetctl
/> cd /backstores/block
/backstores/block> create disk0 /dev/sdb
Created block storage object disk0 using /dev/sdb.
/backstores/block> create disk1 /dev/sdc
Created block storage object disk1 using /dev/sdc.
/backstores/block> create disk2 /dev/sdd
Created block storage object disk2 using /dev/sdd.
/backstores/block> cd /iscsi     
/iscsi> create       #创建target名称,配置共享资源
/iscsi> cd iqn.2003-01.org.linux-iscsi.....
/iscsi/iqn.20....a1281bc5b561> cd tpg1/luns
/iscsi/iqn.20...561/tpg1/luns> create /backstores/block/disk0
/iscsi/iqn.20...561/tpg1/luns> create /backstores/block/disk1
/iscsi/iqn.20...561/tpg1/luns> create /backstores/block/disk2
/iscsi/iqn.20...561/tpg1/luns> cd ../acls
/iscsi/iqn.20...561/tpg1/acls> create iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a1281bc5b561
/iscsi/iqn.20...561/tpg1/acls> cd ../portals
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260      #删除默认的监听地址
/iscsi/iqn.20.../tpg1/portals> create 192.168.11.69   #配置服务端的IP地址
/iscsi/iqn.20.../tpg1/portals> cd /        #切回根目录
/> saveconfig       #保存
/> exit       #退出

1.2.2客户端配置(两个节点做相同操作)

下载安装iscsi配置工具

[root@rac1 ~]# yum install iscsi-initiator-utils –y
[root@rac1 ~]# systemctl start iscsid
[root@rac1 ~]# systemctl enable iscsid

iSCSI配置

[root@rac1 ~]# vim /etc/iscsi/initiatorname.iscsi
[root@rac1 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a1281bc5b561
[root@rac1 ~]# systemctl restart iscsid

#查找目标存储
[root@rac1 ~]#  iscsiadm -m discovery -t sendtargets -p 192.168.11.69

#登录到服务端
[root@rac1 ~]# iscsiadm --mode node --targetname iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a1281bc5b561 --portal 192.168.11.69 -l
[root@rac1 ~]# lsblk

#磁盘分区(一个节点配置即可)
[root@rac1 ~]# fdisk /dev/sdb
[root@rac1 ~]# fdisk /dev/sdc
[root@rac1 ~]# fdisk /dev/sdd

1.3 oracleasm 来创建ASM磁盘

oracleasm需要下载两个安装包oracleasm-supportoracleasmlib在官网下载,或者在yum 源网站下载到本地,然后上传到服务器的两个节点rac1 和 rac2 进行安装
在官网查找对应的软件包

 

Red Hat Enterprise Linux 7系列下载地址:

Oracle ASMLib Downloads for Red Hat Enterprise Linux 7

安装 oracleasm(两个节点做相同操作)

[root@rac1 ~]# rpm -ivh oracleasm-supportt-2.1.11-2.el7.x86_64.rpm
[root@rac1 ~]# yum install oracleasmlib-2.0.12-1.el7.x86_64 .rpm –y
[root@rac1 ~]# oracleasm configure -i

查看结果

[root@rac1 ~]# oracleasm init                         
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm            #注意这个地方,如果是failed那么请检查安装方式及顺序是否一样、还要检查你的安装包与系统的内核版本是否一致
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

以上操作没问题,接下来创建DISK01、DISK02、DISK03(只需要在节点一创

[root@rac1 ~]# oracleasm createdisk DISK01 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@rac1 ~]# oracleasm createdisk DISK02 /dev/sdc1
Writing disk header: done
Instantiating disk: done
[root@rac1 ~]# oracleasm createdisk DISK03 /dev/sdd1
Writing disk header: done
Instantiating disk: done

#查看创建的磁盘
[root@rac1 ~]# oracleasm listdisks
DISK01
DISK02
DISK03

#节点二执行asm硬盘扫描
[root@rac2 ~]# oracleasm scandisks

1.4 节点之间建立互信关系

[root@rac1 opt]# unzip p10404530_112030_Linux-x86-64_3of7.zip
[root@rac1 opt]# cd grid/sshsetup/
[root@rac1 opt]# su – oracle
[oracle@rac1 grid]$ cd /opt/grid/sshsetup
[oracle@rac1 sshsetup]$./sshUserSetup.sh -user grid  -hosts "rac1 rac2" -advanced –noPromptPassphrase
[oracle@rac1 sshsetup]$ ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced –noPromptPassphrase
[oracle@rac1 sshsetup]$ exit
[root@rac1 opt]# cd grid/ sshsetup/
[root@rac1 opt]# ./sshUserSetup.sh -user root -hosts "rac1 rac2" -advanced –noPromptPassphrase

#随便在一个节点上,输入ssh执行命令,若提示输入密码,则验证失败,若不需要则验证成功
[root@rac1 grid]# ssh rac2 date

oracle RAC安装环境检测验证

[root@rac1 opt]# su - grid
[grid@rac1 ~]$ cd /opt/grid/
[grid@rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

1.5 grid软件的安装

自行下载xmanage软件

新建xstart进行连接

​#下载图形工具
[root@rac1 ~]# yum install -y xorg-x11-server-utils
[root@rac1 ~]# yum -y install xterm
[root@rac1 ~]# su – grid

#刷新环境变量
[grid@rac1 grid]$ source  $HOME/.bash_profile

#运行脚本
[grid@rac1 grid]$ ./runInstaller

图形界面安装

1、选择Skip software updates,然后选择next

2、安装集群和配置环境

 

 

3、高级安装

 

4、默认语言英文

 

5此处集群名自己取,SCAN名需要和/etc/hosts中的scan ip别名一致,端口默认,不选GNS,然后 next

 

6、添加节点2

 

7、系统制动识别公有IP与私有ip,这里默认即可

 

8、选择asm存储

 

9、创建磁盘组

 

10、设置这个asm磁盘组的管理密码

 

11、不识别IPMI

 

12、选择对应组

 

13、选择grid安装目录、由于配置了环境变量,这里默认即可

 

14、环境检查(依赖包、内核参数等)

 

15、错误提示,以下问题直接忽略即可,如有其他包提示或参数失败请自行检测

 

这边依赖包已经解决,选择忽略(如未解决自行安装依赖包)

 

16、安装

查看安装日志:tail -f /u01/oraInventory/logs/installActions2021-08-17_01-39-05PM.log

 

17、使用root用户执行弹出路径的脚本

 

执行脚本

[root@rac2 install]# /u01/app/11.2.0/grid/root.sh

问题记录,此次安装碰到如下问题

 

以上失败的原因,是在centos 7/redhat 7里面启动方式为Systemd ,而这个脚本的启动方式为init 是 centos 6/redhat 6 里面的启动方式,解决方法如下:

以 root 用户创建服务文件

[root@rac2 /]# touch /usr/lib/systemd/system/ohas.service
[root@rac2 /]# chmod 777 /usr/lib/systemd/system/ohas.service
[root@rac2 /]#vim /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target

#加载服务
[root@rac2 /]# systemctl daemon-reload
[root@rac2 /]# systemctl start ohas.service
[root@rac2 /]# systemctl enable ohas.service
[root@rac2 /]# systemctl status ohas.service  

#再次执行
[root@rac2 install]# /u01/app/11.2.0/grid/root.sh

执行过程较久,耐心等待安装,出现下图内容代表安装成功。

完成节点二安装后继续再节点一执行相同操作,完成操作后进行下面步骤。

 

由于配置了/etc/hosts来解析SCAN,导致未走DNS来进行SCAN的解析,爆出此错误,可以考虑忽略掉,或者删除/etc/hosts文件中的SCAN解析部分,并且再次通过nslookup验证DNS的解析是否正常即可

                       

 

下一步

       

完成安装

 

1.6测试安装状态

在两个节点均运行的状态下查看两天机器的网卡信息。

  

将rac2节点停止后再查看两台机器的网卡信息

[root@rac2 grid]# /u01/app/11.2.0.3/grid/bin/crsctl stop cluster -n rac2

 

可以看到rac2的vip和scan-ip已经不见了

此时查看rac1可以发现11.168和11.70已经转移过来了

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值