转: it168网站 原创 作者:刘炳林
在真实环境搭建一套Oracle RAC就好比是一堂劳动课,劳动前需要准备好劳动工具,对劳动课内容有充分的认识;按照步骤一步一步进行,需要考虑劳动过程中可能遇到的困难,掌握劳动过 程中的一些小技巧;劳动结束后需要对劳动成果进行检查,这样才能在保证劳动质量的同时提高劳动效率。
同样,一个成功的RAC实施首先需要对RAC整体架构有充分的认识,并对现场环境有充分的了解,掌握规范化的方法,还需要一定的技巧,而对RAC体系结构的充分认识是基础和前提。
搭建环境
包括笔者在内的很多人,在最初学习搭建Oracle RAC的时候,都使用虚拟机虚拟的服务器来搭建RAC环境,这样虽然能成功搭建一个RAC环境,但与实际生产环境相差较大,不利于对RAC体系结构的掌握。在使用虚拟机搭建的RAC环境中,很大程度忽略了存储的存在,这点和实际的环境相差最大。本章将使用3台PC机,其中两台作为数据库服务器,一台作为存储服务器,搭建一套和生产环境非常类似的RAC环境,帮助初学者充分掌握RAC的体系结构。
一. RAC的物理结构
本节使用普通的PC机来模拟一套类似生产环境的RAC。RAC和Data Guard的内容相互关联,最终形成一个具有最高可用性(RAC+Data Guard)、安全性(数据安全)的整体解决方案。下面对即将讨论的RAC环境结构做简要说明,后续章节还将对Data Guard、EM进行讨论。
▲RAC物理结构图
图中的每个组件及其相关属性如下表所示。
▲ RAC物理结构组件描述
下面对上表中构成RAC的主要设备及操作系统做出说明,包括服务器、存储及安装使用的操作系统。
1. 服务器说明
S1和S2是集群节点服务器,每台服务器都需要4个网卡,分别连接到公共网络、私有网络(两个网卡)和存储网络。S3是存储服务器,配置两个网卡和多个磁盘,两个网卡分别连接到公共网络和存储网络。
2. 存储系统说明
图2-1中的S3就是存储服务器。在第1章提到本书使用IP SAN作为共享存储的实现方式。将一台普通的PC机作为存储服务器,安装Openfiler软件来对外提供iSCSI服务,并将其接入公共网络和存储网 络。接入公共网络是为了让管理员可以通过公共网络方便地管理存储服务器,只做管理使用;接入存储网络是为了让存储服务器和数据库服务器进行高速数据交换使 用。
3. 网络说明
按网络的用途分为3种网络:公共网络、私有网络和存储网络。
图 2-1中的E1是一个公共网络,它是提供公共服务的网络,应用服务器通过此网络与数据库服务器通信、交换数据。为了保证企业数据的安全,使其免受外界的攻 击,企业往往有自己的内部网络,且内部网络和外部网络相互隔离,如果建设的项目是供企业内部使用的,那么内网也即公共网络。当然,有些企业还会对内网进行 分区域管理,区与区之间也是隔离的,这样公共网络的范围就更小了。
SW1是一个私有网络交换机,供集群节点之间传输心跳信息和RAC的Cache Fusion机制使用。每台服务器都有两个网卡接入私有网络交换机,这是为了使用11gR2版本中新特性HAIP技术,以实现私有网络连接的负载均衡和Failover。
SW2是一个存储网络交换机,供集群节点与存储服务器之间传输iSCSI磁盘数据使用。
由SW1和SW2构成的网络都是私有网络,并不提供公共服务,只供集群节点内部连接使用。也不能将应用系统直接接入私有网络或存储网络,私有网络和存储 网络都有自己特定的功能,不提供公共服务。当然,可以在一个交换机上划分多个VLAN,以创建相互独立的私有网络和存储网络,另一个交换机可以作为冗余交 换机使用。
4. 操作系统说明
本书所有的内容都是基于Linux平台讨论的。S1、S2都安装Red Hat Enterprise Linux Server 5.4 x86_64bit操作系统。S3是一个存储服务器,需要提供iSCSI服务,使用开源的Openfiler系统来提供这种服务。Openfiler也是 基于Linux内核开发的一个开源产品,常用在构建低成本的IP SAN存储服务器上。
通过RAC的物理结构图和前面的讨论可以看到,Oracle RAC的部署具有如下的特点:
·RAC Database使用共享存储,每台服务器都会通过一定的方式连接到共享存储。
·S1、S2两台服务器向下连接到共享存储,向上通过公共网络使用统一的接口对外提供服务,服务器之间通过高速内联网络连接完成内部数据的通信。
二、硬件环境
本书使用的硬件都是常见的PC机,使用3台PC机搭建一个两节点的Oracle 11gR2 RAC环境。通过整个RAC系统从硬件到软件自己动手完成,这样能够帮助大家更加深入地理解Oracle RAC体系结构,并熟练掌握各种相关技术。本书使用的相关硬件如下表所示。
▲搭建RAC环境使用的硬件说明
三、软件环境
Oracle 11G RAC:生产环境下架构的更多相关文章
-
VMware搭建Oracle 11g RAC测试环境 For Linux
环境如下: Linux操作系统:Centos 6.5 64bit (这个版本的redhat 6内核等OS在安装grid最后执行root.sh时会出现crs-4124,是oracle11.2.0.1的b ...
-
Oracle 11G DataGuard生产环境又一次启动具体过程
场景,重新启动数据库,不重新启动linux系统,所以不用考虑监听程序,#linux输入lsnrctl start1 数据库关闭1.1 关闭主库SHUTDOWN IMMEDIATE; SQL> ...
-
Oracle 11g RAC环境下Private IP修改方法及异常处理
Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...
-
Oracle 11g RAC 环境下单实例非缺省监听及端口配置
如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...
-
oracle 11g RAC 在Windows 7下安装
oracle 11g RAC 在Windows 7下安装 完全要参考RAC11gR2OnWindows.pdf 难点总是在Grid Infrastructure 而安装Grid Infrastruct ...
-
生产环境下,oracle不同用户间的数据迁移。第一部分
:任务名称:生产环境下schema ELON数据迁移至schema TIAN ######################################## 测试一:测试参数 数据泵数据导出:exp ...
-
生产环境下,oracle不同用户间的数据迁移。第二部分
任务名称:生产环境下schema ELON数据迁移至schema TIAN######################################## 测试二:测试参数remap_tablespa ...
-
生产环境下,oracle不同用户间的数据迁移。第三部分
任务名称:生产环境下schema ELON数据迁移至schema TIAN########################################前期准备:1:确认ELON用户下的对象状态se ...
-
转载:细说oracle 11g rac 的ip地址
本文转载自:细说oracle 11g rac 的ip地址 http://blog.sina.com.cn/s/blog_4fe6d4250102v5fa.html 以前搭建oracle rac的时候( ...
随机推荐
-
python 小程序 查找最大的python文件
使用os.path模块方法介绍 1. 扫描标准库目录 I 通过glob模块遍历一个目录下面的所有文件,glob接收shell中常用文件名模式语法:"?"代表任何单个字符,* ...
-
Java的CLASSPATH,趁还没忘赶紧写点
咳咳,睡眠不足加上年龄增长,真的赶脚记忆力不行啦. 接触Java以来,对于环境配置就是按照网上的教程,一路复制粘贴,也没啥想法; 最近决定啃啃ThinkInJava,没看两章就看到这CLASSPATH ...
-
Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
-
c# Json Dictionary序列化和反序列化
说明:Dictionary对象本身不支持序列化和反序列化,需要定义一个继承自Dictionary, IXmlSerializable类的自定义类来实现该功能.感觉完全可以把这样的类封装到C#库中,很具 ...
-
PHPExcel读取excel文件示例
PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...
-
android开发之wheel控件使用详解
出门在外生不起病呀,随便两盒药60多块钱.好吧,不废话了,今天我们来看看wheel控件的使用,这是GitHub上的一个开源控件,用起来十分方便,我们可以用它做许多事情,比如做一个自定义的datepic ...
-
初学c++
今天在计蒜客中学习了c++的语句编写方法.因为之前编程时候用的都是c,所以第一次看到c++的部分代码还是有点迷茫忙的. 初次接触c++,我学习到了c++中变量的定义以及输入输出. 代码如下: #inc ...
-
Django学习-6-路由系统
1.url(r'^index/', views.index), 函数处理 url(r'^home/', views.Home.as_view()), 类方法处理 ...
-
3-51单片机WIFI学习(开发板8266底层源码介绍)
上一篇链接 http://www.cnblogs.com/yangfengwu/p/8743502.html 直接上源码:注意源码有两部分,第一部分是一开始的时候写在模块内部的,另一部分是存在手机内 ...
-
《重构》中Tips总结
1 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达到目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性. 2 重构之前,首先检查自己 ...