本文主要是双节点的RAC进行搭建,根据黄伟老师的视频进行总结和使用。

搭建环境:

1.两台安装好Linux_x64系统的服务器

2.IP设置

注意:Priv-IP的IP是自己一个网段,而剩下的SCAN-IP,VIP,Public-IP必须要在同一个网段下

3.设置hostname分别为node1,node2,。

4.配置/etc/hosts文件

注意:scan-ip不能用“_”来进行命名!两个节点都要配置hosts文件

5.配置DNS服务器,确认SCAN-IP可以被解析,这里的DNS服务器是单独的,不是两个节点的服务器。

这里使用IP为:172.16.0.176来进行配置DNS服务器

5.1首先安装DNS服务所需要的安装包

bind*(主要有bind-,bind-chroot)

5.2配置/var/chroot/etc/named.conf

①生成一个named.conf

内容如下:

options {

directory "/var/named";

};

zone "." in {

type hint;

file "/dev/null";

};

zone "localdomain" in {

type master;

file "localdomain.zone";

};

zone "localhost" in {

type master;

file "localhost.zone"

}

zone "0.16.172.in-addr.arpa" in {

type master;

file "0.16.172.in-addr.arpa";

};

②配置正,反向解析数据库文件

在/var/named/chroot/var/named路径下进行配置

复制正向解析文件和反向解析文件

/var/named/chroot/var/named/localdomain.zone复制为正向解析文件

/var/named/chroot/var/named/named.local复制为反向解析的文件为0.16.172.in-addr.apra的反向解析数据文件

cp -p named.local 0.16.172.in-addr.arpa

③正向解析文件localdomain.zone文件中的末尾添加如下内容

④反向解析数据库文件0.16.172.in-addr.arpa最后下面添加如下内容

⑤启动DNS服务解析SCAN-IP

#/etc/init.d/named start

#/etc/init.d/named status

⑥分别向两个节点的/etc/resolv.conf中添加如下的配置信息

⑦在node1上和node2上分别解析SCAN-IP是否成功

node1:

IP的正向解析,反向解析,长域名解析和短域名解析

node2:

如果可以通,证明DNS配置的没有问题

6.创建用户,修改用户密码,修改用户配置文件

这里我们可以通过运行1preusers.sh来完成创建用户,组。

注意:在node2上运行脚本时,需要将grid用户的环境变量ORACLE_SID修改为+ASM2,oracle用户的环境变量中ORACLE_SID修改为devdb2,ORACLE_HOMENAME修改为node2.localdomain

7.创建路径,修改文件权限

可以通过执行脚本2predir.sh来完成相关路径,权限的创建

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

通过执行3prelimits.sh来完成

9.修改/etc/pamd./login配置文件

通过执行4prelogin.sh来完成

10.修改/etc/profile文件

通过5preprofile.sh来完成

11修改内核参数

通过执行6presysctl.sh来完成

注:以上操作均可根据官方文档来进行配置

脚本下载地址:http://download.csdn.net/detail/imliuqun123/9912096

同样node2执行上述的6~11步骤

12.配置oracle,grid用户ssh对等性

其实在安装软件的时候回提示oracle自动配置ssh对等性,但是建议在安装之前完成手动配置

node1:

#su - oracle

$env | grep ORA

查看下ORACLE_SID,ORACLE_HOME,ORACLE_BASE是否正确

$mkdir ~/.ssh

$chmod 700 ~/.ssh

$ssh-keygen -t rsa(一路回车)

$ssh-keygen -t dsa(一路回车)

node2:

#su - oracle

$env | grep ORA

查看下ORACLE_SID,ORACLE_HOME,ORACLE_BASE是否正确

$mkdir ~/.ssh

$chmod 700 ~/.ssh

$ssh-keygen -t rsa(一路回车)

$ssh-keygen -t dsa(一路回车)

node1:

#su - oracle

$id

查看是否是oracle用户

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

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


$ssh node2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$
ssh node2 cat 
~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$scp ~/.ssh/authorized_keys node2: ~/.ssh/authorized_keys

验证oracle ssh对等性:

在node1上和node2上分别执行下面的命令,第一次连接需要输入密码,以后就不需要输入密码了

node1:

$id

$ssh node1 date

$ssh node2 date

$ssh node1-priv date

$ssh node2-priv date

$ssh node1.localdomain date

$ssh node2.localdomain date

$ssh node1-priv.localdomain date

$ssh node2-priv.localdomain date

node2:

$id

$ssh node1 date

$ssh node2 date

$ssh node1-priv date

$ssh node2-priv date

$ssh node1.localdomain date

$ssh node2.localdomain date

$ssh node1-priv.localdomain date

$ssh node2-priv.localdomain date

同理,上gird用户下创建对等性仿照第12步骤

id应该显示grid,node1和node2的ssh互通

13.创建ASM磁盘

配置好共享磁盘后,需要将这些磁盘格式化,然后用asmlib将其设置为ASM磁盘,用来存放OCR和Voting Disk和数据库用

注意:因为是共享磁盘,在其中一个节点上格式化就可以,接下来我们选择在node1上格式化

这里我们用asmlib软件来创建ASM磁盘,而不使用raw disk,而且从11gR2开始,OUI的图形化界面已经不再支持raw disk

13.1格式化共享磁盘

用root分别在两个节点上执行fdisk -l命令,查看分区信息

node1:

node2:

可以看到上述两个节点的信息都是一致的

/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde这四块磁盘是没有分区信息的,需要设置的就是这四块磁盘

在node1上设置这4块磁盘:

重复上述步骤,完成其余三块磁盘的分区

完成之后两个节点的效果应该是这样:

格式化只需要在其中一个节点做就可以!

13.2 安装asm需要的rpm包

上oracle官网下载需要的rpm包(注意内核版本,操作系统)

oracleasm-support

oracleasm

oracleasmlib

安装的顺序要oracleasm-support > oracleasm > oracleasmlib

安装完成后确认rpm -qa | grep asm

执行命令查看asm状态

/usr/sbin/oracleasm status  或者 /etc/init.d/oracleasm status  前者推荐使用,后者是oracle10g中进行asm配置的命令

①查看帮助:

②配置asm:

说明:/usr/sbin/oracleasm configure -i命令进行过配置时,用户配置为grid,组为asmadmin,启动ASM library driver驱动服务,并且将其配置为随着操作系统的启动而自动启动

配置完成后,要执行/usr/sbin/oracleasm init命令来加载oracleasm内核模块

node2上也要执行②,完成asm服务的配置

安装asm就是为了将来安装grid和创建oracle库的时候提供存储

说明:只需要在一个节点上创建ASM磁盘即可,创建完成之后,在其他节点上执行/usr/sbin/oracleasm scandisks之后,就可以看到ASM磁盘

14.配置ASM磁盘

14.1执行/usr/sbin/oracleasm createdisk来创建ASM磁盘

根据上面的图片可以看到创建出了4块ASM磁盘,但是node2上还是看不到刚创建的ASM磁盘

node2要执行扫描磁盘才可以(root用户)

#/usr/sbin/oracleasm scandisks

扫描后就可以看到了:

如何确定ASM磁盘和物理磁盘对应的关系:

以上ASM磁盘就完成了。

15.解压安装介质

11g中的三个压缩包要全部解压,前两个是oracle的安装介质,第三个是grid的安装介质

为了方便,可以将解压出来的database文件放到oracle的家目录中,解压出来的grid文件放到grid的家目录中

16.安装之前预检查配置信息

安装grid之间,先利用CVU检查CRS的安装前环境

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

根据上面的预检测可以看出grid不属于dba组,但是,oracle自动给我提供了脚本修复/tmp/CVU_11.2.0.3.0_grid/runfixup.sh

node1和node2

执行脚本,进行修复

修复完之后重新检查:

node1:

./runcluvfy.sh stage -pre crsinst 0n node1,node2 -fixup - verbose

结果显示成功后则真正的成功了

17.正式安装gird infrastructure

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

②跳过软件更新,next

③选择集群grid infrastructure next

④选择高级安装,下一步

⑤语言选默认,或者可以添加simple chinese,next

⑥去掉configure GNS选项,准确输入集群名称,scan-name和scan的端口

⑦单击添加,添加第2个节点,下一步

⑧确认网络接口,一定要看准后在填写,下一步

⑨选择ASM存储,下一步

⑩输入ASM磁盘组名,这里命名为GRIDDG,冗余策略选择External,AU大小选择默认1M,ASM磁盘选择VOL1,VOL2,next

⑪选择给ASM的SYS,ASMSNMP用户配置为相同的口令,下一步

⑫不使用IPMI,下一步

⑬给ASM指定不同的组,NEXT

⑭选择GRID软件的安装路径,其中ORACLE_BASE,ORACLE_HOME均选择之前配置好的,可参照grid用户下的.bash_profile文件中的配置信息

⑮默认inventory  下一步

⑯检查出告警,提示显示node2上确实包,包名已经给出,安装重新测试即可

上grid目录下的rpm目录下获取该包

重新检查后,不在有警告,即可next

⑰进入安装Grid安装之前的概要信息,isntall进行安装

⑱执行到一半的时候出现用root运行的两个脚本,这两个脚本要分别在node1和node2上运行,时间比较长

此时,集群相关的服务已经启动了,当然,ASM实例也将在两个节点上启动

⑲执行完脚本,单击OK,进入下一步

⑳最后,关闭,grid软件在双节点上的安装,这样就彻底安装完成了

到这里,grid就彻底完成了

18.安装Oracle软件

①以oracle用户登陆图形化界面,执行/home/oracle/database/runInstaller

②进入OUI安装界面,选择第三项,跳过软件更新,next

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

④选择第二项,安装oracle RAC,选择所有的节点,next

⑤语言选择默认即可

⑥选择第一项,安装企业版,下一步

⑦选择oracle的安装路径,其中ORACLE_BASE和ORACLE_HOME都是oracle用户下的.bash_profile文件中配置的

⑧选择oracle的用户组,下一步

⑨安装预检测

⑩安装的概要信息总览

⑪用root分别在两个节点上执行这个脚本

⑫脚本执行完毕后,安装成功,退出安装

oracle软件安装完成

19 创建ASM磁盘组

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

①grid用户进入图形化界面,执行asmca命令创建asm磁盘组

②进入asmca的配置界面后,单击create,创建新的磁盘组

③输入磁盘组名为DATA,冗余策略选择External,磁盘选择ORCL:VOL3,单击ok

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

⑤在创建一个磁盘组,磁盘组名 为FLASH,冗余策略为External,磁盘选择ORCL:VOL4

⑥最后,完成DATA,FLASH磁盘组的创建,EXIT退出ASMCA图形化配置界面

到这里,利用ASMCA创建的DATA,FLASH磁盘组,并且可以看到之前创建的GRIDDG,而且三个磁盘组均已经呗RAC双节点mount了

20.创建RAC数据库

接下来DBCA创建RAC数据库

①以oracle用户登陆图形界面,执行dbca,进入到DBCA的配置界面,选择第一项,创建RAC数据库

②选择创建数据库选项,next

③选择创建通用数据库,next

④配置类型选择Admin-Managed输入数据库名为devdb,选择双节点,下一步

⑤选择默认,不需要配置OEM,启动数据库自动维护任务

⑥选择数据库用户使用的统一口令,next

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

⑧执行数据库闪回区,选择之前创建好的FLASH磁盘组,next

⑨选择创建数据库自带的sample schema,next

⑩选择数据库字符集 AL32UTF8,next

⑪选择默认数据库存储信息,next

⑫单击,finish,开始创建数据库,next


⑬创建数据库,持续时间较长

⑭创建完成数据库

至此,数据库安装完成

【RAC】双节点RAC搭建的更多相关文章

  1. 3级搭建类301-Oracle 11g RAC 双节点搭建(11.2.0.4)非公

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...

  2. rac双节点+物理DG

    注:以下文章均是看了黄伟老师的视频,记录为博客供以后使用. 双节点RAC搭建: http://blog.csdn.net/imliuqun123/article/details/76171289 RA ...

  3. (导航页)OpenStack-M版-双节点手工搭建-附B站视频

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本次搭建采用双节点,离线源搭建, 配置如下 本次搭建采用2台4核4G的虚拟机,也可以改为2核4G ...

  4. [学习]仿照cnblog 搭建 Oracle RAC 双节点 困.. 后续做不下去了..

    1. 学习地址: https://blog.csdn.net/yuzifen?t=1 2. 克隆之前创建好的虚拟机: 3. 给虚拟机增加新的硬盘. 注意事项 1) 必须是厚置备的磁盘才可以. 2) 必 ...

  5. 11GR2 双节点RAC 配置单节点DG

    只记录主要步骤,供大家参考: RAC 搭建单节点 DG 1 修改源数据库开启归档和force loggingalter system set shared_servers=0; alter datab ...

  6. redhat6 + 11G RAC 双节点部署

      一.配置网络环境 node1 [root@node1 ~]#vi/etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME= ...

  7. rman异机恢复(RAC双节点恢复到单节点)

    一.数据库全备 RUN {ALLOCATE CHANNEL ch00 DEVICE TYPE disk;ALLOCATE CHANNEL ch01 DEVICE TYPE disk;backup as ...

  8. RAC某节点启动遭遇ORA-01105,ORA-01606

    环境:RHEL6.5 + Oracle11.2.0.4 双节点RAC 故障现象:节点1实例没有启动成功,节点2正常启动. 1.故障现象 2.解决过程 3.总结 1.故障现象 尝试启动RAC 节点1,遭 ...

  9. RAC+单节点搭建DG

    primary RAC to single standby 参考文献:RAC+单实例DATAGUARD 配置   http://blog.csdn.net/miyatang/article/detai ...

随机推荐

  1. 多任务-python实现-同步概念,互斥锁解决资源竞争(2.1.4)

    @ 目录 1.同步的概念 2.解决线程同时修改全局变量的方式 3.互斥锁 1.同步的概念 同步就是协同步调,按照预定的先后次序进行运行,如你说完我在说 同步在子面上容易理解为一起工作 其实不是,同指的 ...

  2. php代码审计整理

    目录 变量覆盖 1x01.extract 变量覆盖 定义和用法 语法 漏洞产生:使用了默认设置 攻击方法:制造变量名冲突,对于需要相等的值可以同时置空 修复:设定一个冲突时的处理规则 例题: 1x02 ...

  3. 我们为什么选择VUE来构建前端

    很多使用过VUE的程序员,对VUE的评价是"Vue.js 兼具angular.js和react.js的优点,并剔除了它们的缺点". 那么,他真的值得这么高的评价嘛? Vue.js的 ...

  4. python 实现数值积分与画图

    import numpy as np from scipy import integrate def half_circle(x): return (1 - x ** 2) ** 0.5 N = 10 ...

  5. 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署

    庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介      我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...

  6. Windows安装VsCode 和Nodejs Vue

    一.安装VSCode 1.在官网下载并安装VSCode https://code.visualstudio.com/Download 注意:解压到非系统盘(节约系统盘空间,也方便后面使用) 文件夹最好 ...

  7. Java学习_面向对象编程

    抽象类 一个class定义了方法,但没有具体执行代码,这个方法就是抽象方法,抽象方法用abstract修饰.因为抽象类本身被设计成只能用于被继承,因此,抽象类可以强迫子类实现其定义的抽象方法,否则编译 ...

  8. Bitmap 图像灰度变换原理浅析

    上篇文章<拥抱 C/C++ : Android JNI 的使用>里提到调用 native 方法直接修改 bitmap 像素缓冲区,从而实现将彩色图片显示为灰度图片的方法.这篇文章将介绍该操 ...

  9. Tensorflow2.0-mnist手写数字识别示例

    Tensorflow2.0-mnist手写数字识别示例   读书不觉春已深,一寸光阴一寸金. 简介:通过CNN 卷积神经网络训练后识别出手写图片,测试图片mnist数据集中的0.1.2.4.     ...

  10. 查看权限详情 将部门大类单据整合,将子类单据id去重合并

    /** * 查看权限详情 * @param id 部门id * @return */ @GetMapping("getListInfo") public R getDetail(S ...