oracle rac搭建

oracle rac搭建

 

一、安装前

 

  1. 软件及操作系统版本

虚拟机软件:VMware-12.5

操作系统:Centos6.8

Oracle软件:Oracle 11g R2

本篇所有安装介质和文档皆可以在文末关注微信公众号后回复:oraclerac获得

2.配置虚拟机

这里,我们需要在 VMware 的虚拟主机上创建两台虚拟机,其中每台

机器至少需要配置双网卡,一块网卡作为 Public,另一块作为 Private,建议 IP 地址均选择

手动配置,而不是 DHCP 动态分配,且要求指定的 IP 在网络里是唯一的。主机名也分别要求指定为唯一,避免冲突。主机名、IP 地址在前期规划要慎重,一经指定,最好不要轻易改变,避免一些不必要的麻烦。这里列出两台机器前期规划的主机名、IP 地址信息:

 

其中,每台机器至少需要配置 3 个 IP 地址,在安装操作系统的过程中,我们需要配置

公网 IP 和私有 IP 即可,虚拟 IP 在安装集群件时分配。Public IP、Virtual IP、SCAN IP 必

须配置在同一网段。SCAN IP 是 Oracle 11g 新推出的,在配置 11g RAC 时需要指定。我们

的 SCAN IP 通过配置 DNS 服务器来实现,在下文中将给出配置步骤。

3.创建虚拟机满足下列条件:

(1)双网卡

(2)2G内存

(3)2核CPU

(4)iSCSI格式20G硬盘

  1. 启动虚拟机安装操作系统:

正常装就行swap分区记得留大一点

node1主机名为oracle92

node2主机名为oralce93

  1. IP配置及配置hosts文件,双节点保持一致

配置检查

 

此文档不配置DNS

  1. 建用户、改口令、修改用户配置文件:

配置 11gR2 RAC 需要安装 Oracle Grid Infrastructure 软件、Oracle 数据库软件,其中 Grid软件等同于 Oracle 10g 的 Clusterware 集群件。Oracle 建议以不同的用户分别安装 Grid Infrastructure 软件、Oracle 数据库软件,我们这里以 grid 用户安装 Grid Infrastructure,oracle用户安装 Oracle 数据库软件。并且 grid、oracle 用户需要属于不同的用户组。在配置 RAC时,还要求这两个用户在 RAC 的不同节点上 uid、gid 要一致。用户、组的对应信息见下表:

 

执行一下脚本完成成用户、组的创建

脚本

在节点oracle93 上执行该脚本时,需要将grid 用户环境变量ORACLE_SID 修改为+ASM2,

oracle 用户环境变量ORACLE_SID 修改为devdb2,

ORACLE_HOSTNAME 环境变量修改为oracle93.localdomain

 

[root@oracle92 shell]# id grid

uid=1100(grid) gid=1000(oinstall)

groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)

[root@oracle92 shell]# id oracle

uid=1101(oracle) gid=1000(oinstall)

groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)

 

7.建路径、改权限:

关于 grid、oracle 用户的环境变量配置信息,见下述表格

 

执行下面脚本来完成相关路径、权限的配置。

撸净及拳陷

8.修改/etc/security/limits.conf,配置 oracle 、 grid 用户的

shell  限制:

执行下面脚本完成。

咸指

9.修改/etc/pam.d/login配置文件

老哥🦅

10.修改/etc/profile 文件

执行脚本完成

破费哦

 11.修改内核配置文件

执行脚本

类核

12.停止 ntp  服务, 11gR2 新增的检查项

 

# service ntpd status

ntpd is stopped

# chkconfig ntpd off

# cat /etc/ntp

ntp/ ntp.conf

# cp /etc/ntp.conf /etc/ntp.conf.bak

# rm -rf /etc/ntp.conf

 

13.节点 2 准备工作:

我们已经在节点1 完成基本准备配置工作,在 节点2 上重复上述 配置hosts文件到 停止ntp准备工作,以完成节点 2 的准备工作。

 

 14.配置oracle,grid用户SSH对等性

虽然在安装软件的过程中,oracle 会自动配置 SSH 对等性,建议在安装软件之前手工配置。

配置 oracle 用户对等性:

节点1:

 

执行命令:

ssh-keygen -t rsa

ssh-keygen -t dsa

 

节点2

重复上述操作

 

返回节点1:

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

ssh oracle93 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

ssh oracle93 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys oracle93:~/.ssh/authorized_keys

 

验证 oracle SSH 对等性:

在 oracle92,oracle93 两个节点上分别执行下述命令,第一次执行时需要口令验证:

ssh oracle92 date

ssh oracle93 date

ssh oracle92-priv date

ssh oracle93-priv date

ssh oracle92.localdomain date

ssh oracle93.localdomain date

ssh oracle92-priv.localdomain date

ssh oracle93-priv.localdomain date

 

15.重复上述步骤,以grid 用户配置对等性。

 

16.配置共享磁盘:

在任意节点上先创建共享磁盘,然后在另外的节点上选择添加已有磁盘。这里选择先在

节点2 节点机器上创建共享磁盘,然后在 节点1 上添加。共创建 4 块硬盘,其中 2 块硬盘,将来用于配置 GRIDDG 磁盘组,专门存放 OCR 和 Voting Disk;1 块磁盘,用于配置 DATA 磁盘组,存放数据库;1 块磁盘,用于配置 FLASH 磁盘组,用于闪回区;

 

虚拟机关机,然后操作

 

 

 

 

 

按照此方法添加再添加3块

 

修改磁盘编号

 

 

节点一添加节点2创建的磁盘

 

选择节点创建的xxx.vmdk文件

 

四块都按顺序添加并修改设备编号

 

 

加入4块磁盘

设备编号为:1:0,1:1

      2:0,2:1

 

修改两台虚拟机对应文件VMX文件,

在宿主机vim下面两文件

 

加入:

 

迪斯科

17.启动虚拟机

节点1

# fdisk -l

 

节点2

 

硬盘格式化(只用在一个节点做就可以)

# fdisk /dev/sdb

 

说明

 

把剩下的3块盘安装同样的方式格式化

节点2执行,同步磁盘

 

18.修改/etc/udev/rules.d/60-raw.rules文件

添加如下几行

复制代码
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"

KERNEL=="raw1", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw2", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw3", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw4", OWNER="grid", GROUP="asmadmin", MODE="660"
复制代码

节点2重复

启动udev服务(双节点执行)

Root用户执行:

# start_udev

验证裸设备是否建立成功

ls –l /dev/raw

裸设备的用户为grid,组为asmadmin。则裸设备建立成功

 

 

一、安装介质

本篇所有安装介质和文档皆可以在文末关注微信公众号后回复:oraclerac获得

oracle.p13390677_112040_Linux-x86-64_1of7.zip

oracle.p13390677_112040_Linux-x86-64_2of7.zip

oracle.p13390677_112040_Linux-x86-64_3of7.zip

其中:

****1of7.zip 和****2of7.zip是 Oracle 软件的安装介质。

****3of7.zip 是 GRID 软件的安装介质

1.分别上传到/home/oralce/

和/home/grid/

然后解压

# unzip 包名

2.先安装一些依赖(双节点):

yum install -y  ld-linux.so.2 binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel

上传pdksh-5.2.14-8.i386.rpm 包到节点

# rpm -ivh pdksh-5.2.14-8.i386.rpm

安装

 

3.安装前预检查配置信息

在安装 GRID 之前,建议先利用 CVU(Cluster Verification Utility)检查 CRS 的安装前环

境。使用 CVU 检查 CRS 的安装前环境:

# pwd
/home/grid/grid
# su -  grid

./runcluvfy.sh stage -pre crsinst -n oracle92,oracle93 -fixup -verbose

提示以root用户执行这个脚本,那我们就执行一下(双节点)

因为我们没有配DNS所有这一步会提示检查失败,不过没关系,其它的检查都通过就ok了

 

直到此步骤,我们的安装环境已经完全准备 OK!!!

 

三.安装 Grid  Infrastructure

从此步骤开始,我们正式安装 Grid 软件:

① 以 grid 用户登录图形界面,执行/home/grid/grid/runInstaller,进入 OUI 的图形安装界面:

② 进入 OUI 安装界面后,选择第 3 项,跳过软件更新,Next:

 

③ 选择集群的 Grid Infrastructure,Next:

 

④ 选择 advanced Installation,Next:

 

⑤ 语言选择默认,English,Next:

 

⑥ 去 掉 Configure GNS 选 项 , 按 照 之 前 2.1 节 中 的 表 格 输 入 Cluster

Name:scan-cluster,SCAN Name:scan-cluster.localdomain。Next:

 

⑦ 单击 Add,添加第 2 个节点,Next:

⑧ 确认网络接口,Next(内外网一定不能在一个网段):

 

⑨ 选择 ASM,作为存储,Next:

 

⑩ 输入 ASM 磁盘组名,这里命名为 GRIDDG,冗余策略选择 External 外部,AU 大小

选择默认 1M,ASM 磁盘选择 raw1,raw2。Next:

 

⑪ 选择给 ASM 的 SYS、ASMSNMP 用户配置为相同的口令,并输入口令,Next:

 

⑫ 选择不使用 IPMI,Next:

 

⑬ 给 ASM 指定不同的组,Next:

 

⑭ 选择 GRID 软件的安装路径,其中 ORACLE_BASE,ORACLE_HOME 均选择之经配置好的,可参照 2.5 节中的配置信息。这里需要注意 GRID 软件的 ORACLE_HOME 不

能是 ORACLE_BASE 的子目录。

 

⑮ 选择默认的 Inventory,Next:

 

检查

 

⑯ 检查出现告警,提示在所有节点上缺失 cvuqdisk-1.0.9-1 软件包。

可以选择忽略,直接进入下一步安装。也可以从 grid 安装文件的 rpm 目录下获取该 RPM

包,然后进行安装。

双节点执行

在所有节点上安装完 cvuqdisk-1.0.9-1 软件后,重新执行预检查,不再有警告信息。

⑰ 进入安装 GRID 安装之前的概要信息,Install 进行安装:

 

DNS报的错可以选择忽略

 

⑱ 根据提示以 root 用户分别在两个节点上执行脚本:

 

 

 

报错了。。。。。

原因:说是找不到  libcap.so.1 这个包

解决办法

执行

# ln -s /lib64/libcap.so.2.16 /lib64/libcap.so.1

然后再执行

./root.sh

 

 

 

需要等

如果报这个错

执行命令

 

# cd /software/app/11.2.0/grid/crs/install/
# ./roothas.pl  -deconfig -force -verbose

节点1执行成功后节点2执行

 

⑲ 执行完上述脚本之后,单击 OK,等待安装完成,Next,进入下一步。

 

⑳ 最后,单击 close,完成 GRID 软件在双节点上的安装。

如果你看到OCVU错误的话,没有关系,这个错误是由Oracle自身的BUG造成的,它并不会影响我们之后RAC的使用,因此点击“OK”,忽略掉它就可以啦。

至此,GRID 集群件安装成功!!!

 

四、安装 Oracle e 软件

从此步骤开始,我们正式安装 oracle 软件:

① 以 oracle 用户登录图形界面,执行/home/oracle/database/runInstaller,进入 OUI 的图形

安装界面:

 

② 进入 OUI 安装界面后,选择第 3 项,跳过软件更新,Next:

 

③ 选择第 2 项,只安装 oracle 软件,Nex

 

④ 选择第 2 项,安装 oracle RAC,选择所有节点,Next:

 

⑤ 语言选择默认,English,Next:

 

⑥ 选择第 1 项,安装企业版软件,Next:

 

⑦ 选择 oracle 软件的安装路径,其中 ORACLE_BASE,ORACLE_HOME 均选择之前已

经配置好的,可参照 2.5 节中的配置信息。Next:

 

⑧ 选择 oracle 用户组,Next:

 

⑨ 执行安装前的预检查,Next:

 

执行Oracle软件安装前的预检查,这里出现了一个警告,其原因在于,如果使用DNS服务的话,RAC可以设置多个Scan IP,而我们用的是/etc/hosts文件,那么RAC环境下就只允许设置一个Scan IP了,这并不影响我们之后的使用,所以这里点击ignore all将该警告忽略掉即可。

 

⑩ 安装概要信息,Install:

 

⑪ 根据提示以 root 用户分别在两个节点上执行脚本,Next:

 

执行/u01/app/oracle/product/11.2.0/db_1/root.sh 脚本

 

⑫ 最后,单击 close,完成 oracle 软件在双节点上的安装。

 

至此,我们在 RAC 双节点上完成 oracle 软件的安装!!!

 

五 创建 ASM ASM ASM ASM 磁盘组

以 grid 用户创建 ASM 磁盘组,创建的 ASM 磁盘组为下一步创建数据库提供存储。

① grid 用户登录图形界面,执行 asmca 命令来创建磁盘组:

 

② 进入 ASMCA 配置界面后,单击 Create,创建新的磁盘组:

 

③ 输入磁盘组名 DATA,冗余策略选择 External,磁盘选择 raw3,单击 OK:

 

④ DATA 磁盘组创建完成,单击 OK:

 

⑤ 继续创建磁盘组,磁盘组名 FLASH,冗余策略选择 External,磁盘选择 raw4

 

⑥ 最后,完成 DATA、FLASH 磁盘组的创建,Exit 推出 ASMCA 图形配置界面:

至此,利用 ASMCA 创建好 DATA、FLASH 磁盘组。且,可以看到连同之前创建的

GRIDDG 3 个磁盘组均已经被 RAC 双节点 MOUNT。

 

六 创建 RAC 数据库

 

接下来,使用 DBCA 来创建 RAC 数据库。

 

① 以 oracle 用户登录图形界面,执行 dbca,进入 DBCA 的图形界面,选择第 1 项,创

 

建 RAC 数据库:

 

② 选择创建数据库选项,Next:

 

③ 选择创建通用数据库,Next:

④ 配置类型选择 Admin-Managed,输入数据库名 devdb,选择双节点,Next:

 

⑤ 选择默认,配置 OEM、启用数据库自动维护任务,Next:

 

⑥ 选择数据库用户使用同一口令,Next:

 

⑦ 数据库存储选择 ASM,使用 OMF,数据区选择之前创建的 DATA 磁盘组,Next:

 

输入创建的密码

⑧ 指定数据库闪回区,选择之前创建好的 FLASH 磁盘组,Next:

 

⑨ 选择创建数据库自带 Sample Schema,Next:

 

⑩ 选择数据库字符集,AL32UTF8,Next:

 

⑪ 选择默认数据库存储信息,直接 Next:

 

⑫ 单击,Finish,开始创建数据库,Next:

 

创建数据库可能持续时间稍长:

 

做到这一步赶紧多截两个图吧

 

 

 

 

⑬ 完成创建数据库。

 

至此,我们完成创建 RAC 数据库!!!

 

七 Oracle RAC检验

之前安装任何软件都是放在node1节点上面的,为了验证RAC下“单节点安装,全节点可用”的真实性,我们使用oracle用户登录oracle93节点,并以sysdba用户登入数据库。

# su - oracle

$ sqlplus / as sysdba

可见,我们在node2上成功登入了数据库!

2、在node2上以sysdba身份创建表空间、用户。

SQL> create tablespace racdata datafile '+DATA' size 100m autoextend on next 10m maxsize unlimited nologging extent management local uniform size 1024k segment space management auto;

 

SQL> create user ucase identified by 123456 default tablespace racdata temporary tablespace TEMP profile DEFAULT;

SQL> grant connect to ucase;

Grant succeeded.

SQL> grant resource to ucase;

Grant succeeded.

SQL> grant dba to ucase;

Grant succeeded.

SQL> grant alter tablespace to ucase;

Grant succeeded.

SQL> grant select any dictionary to ucase;

Grant succeeded.

SQL> grant unlimited tablespace to ucase;

Grant succeeded.

至此,我们在node2节点上成功创建了一个表空间,并创建了一个新的用户。

3、接着,我们退出数据库,并以oracle身份登陆oracle92节点,且以刚刚在oracle93节点上创建的用户尝试登录数据库。

# su - oracle

$ sqlplus

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 19 15:16:28 2018

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Enter user-name: ucase

Enter password: 123456

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SQL>

SQL> show user;

USER is "UCASE"

可见,使用在node2节点上创建的用户,成功地登陆了node1节点上的数据库。

 

 

文章来源:https://www.cnblogs.com/wenxingxu/p/9675391.html

posted @ 2020-09-28 17:01  海边人007  阅读(1159)  评论(0)    收藏  举报