基于Linux的RAC的安装论文终稿分析.docx
- 文档编号:28731984
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:30
- 大小:1.29MB
基于Linux的RAC的安装论文终稿分析.docx
《基于Linux的RAC的安装论文终稿分析.docx》由会员分享,可在线阅读,更多相关《基于Linux的RAC的安装论文终稿分析.docx(30页珍藏版)》请在冰豆网上搜索。
基于Linux的RAC的安装论文终稿分析
本科毕业论文
基于Linux的RAC的安装与研究
学院:
计算机与信息工程学院
专业:
网络工程
学号:
101014106
姓名:
李策
指导教师:
郜晓晶
职称:
副教授
论文提交日期:
二O一四年六月
摘要
RAC是一项能够支持7*24小时有效服务的数据库应用系统,它是oracle9i数据库中采用的一项新技术,支持由低成本的服务器构成的高可用系统上自由部署应用,并且不需要更改底层的应用程序,具备强大的处理数据能力。
本次设计采取的是双节点的RAC服务,由Oracle的虚拟机系统安装两台虚拟机,采用OracleLinuxserver5.8系统,采用ASM存储方式,搭建Oracle自己的集群系统OracleCluster,安装的是Oracle11g数据库。
有效的解决数据库单点故障的问题,实现了负载均衡,缓解了单机数据库的数据处理压力。
关键词:
Oracle集群高可用高性能
Abstract
As the core of the IT system, the database server system should have high reliability,in order to ensure the application system can timely access to data in a database.
In contrast, data security, performance, availability, scalability, platform independence and low prices lead to traditional database application requirements are also getting higher and higher. RAC has successfully solved the traditional database application in the face of this problem. The high performance and high availability cluster RAC database server as a trend.
RAC Oracle9i database is a new technology used in, it can support24x 7 hours effective database application system, can be low cost server high availability system free todeploy applications, without changing the underlying application.
Keywords:
RACClusterHigh-availabilityHigh-performance
目录
1引言1
1.1本次毕业设计涉及的RAC的背景和意义1
1.2RAC集群服务的发展状态1
1.3RAC的应用及发展2
2ORACLERAC实时应用集群3
2.1RAC集群3
2.2RAC核心3
2.3RAC的组成结构4
2.3.1RAC的逻辑结构4
2.3.2RAC集群的体系结构5
3RAC的具体安装6
3.1RAC需要的安装环境6
3.2OracleRAC安装的任务流程7
3.3RAC的具体安装7
3.3.1OracleVMVirtualBox虚拟机的创建7
3.3.2安装OracleLinux5.88
3.3.3第二节点的克隆11
3.3.4配置共享存储11
3.3.5GridInfrastructureClusterwareGI集群软件的安装13
3.3.6Oracle11g的安装15
4RAC的测试18
4.1验证RAC集群18
4.1.1验证CRS服务状态18
4.1.2验证集群实例18
4.1.3验证ASM磁盘组19
4.2模拟大表环境验证数据库19
4.3故障切换验证20
4.4负载均衡的验证22
5结语24
致谢25
参考文献26
1引言
1.1本次毕业设计涉及的RAC的背景和意义
在今天这个急速发展的世界,数据与应用的高可用性已经成为业务中必不可少的元素。
而数据库系统正在以疯狂的速度向前发展,无论是从同时在线用户来看,还是从处理的业务来看,都是如此。
尽管大型的存储、活动数据库的服务器在性能和容量也有所提高,但是单台的服务器,无论它的功能有多么强大,也无法满足企业快速增长的业务需求,针对这一问题目前主要有两种比较常见的解决方案,第一是划分业务,将整体的IT系统分成多个小的IT系统,这样使得每个小的IT系统都能满足业务的需求,但是这种方式最大的缺陷是在无法预测将来数据业务发展的情况下,划分子系统是很困难的。
第二是使用一般服务器,通过集群的方式来实现数据高性能的计算、负载均衡、高可用性等,从而更大程度上满足了企业核心数据的组织与管理。
从某种意义上说,绝大多数的集群都是实现高可用性(HA),但是,对于OracleRAC来说,他是正是负载均衡(LB)和高可用(HA)的结合体。
RAC中使用DLM、投票算法、IO隔离等机制解决企业数据业务中许多问题。
一直以来,业界有这样的一个“潜规则”来衡量一个DBA的水平,那就是是否有RAC经历。
这反应出了RAC技术在Oracle中的尖端地位。
有很多因素导致了这样的“潜规则”的产生。
RAC的解决方案走在了业内该领域的前沿,其实施的成本是不言而喻的,除去硬件本身,第三方的Cluster软件成本以及人力成本也相当昂贵。
因此,RAC案例基本上都在银行业、电信业、制造业等大型企业中实行,中小企业极少涉及,大部分的DBA都不会或者说难以接触到这样的环境。
RAC的神秘很大程度上是几乎只有大型企业运用造成的,但是随着芯片等硬件技术的发展导致的物美价廉的PCSERVER的受到青睐以及越来越多的企业选择Linux系统作为其核心业务的首选平台,以及Oracle对Linux应用平台的重视导致PCSERVER+Linux就可胜任RAC的部署,不需要第三方的集群软件,不需要存储软件,甚至不需要第三方的人力资源,只需要一个DBA就可以独立完成这项任务。
所以,RAC相对走向了大众化、普及化,对RAC的研究以及精通就显得很有必要也很利于生产、商业等应用。
1.2RAC集群服务的发展状态
Oracle通过几十年的奋斗,由一家普通的数据库产品开发和销售的不入流的公司成为了当今广泛受到业内认可的数据库产品的领头羊。
近年来,数据库系统早已成为大部分企业的重中之重,而且企业对数据库的可用性以及可靠性的要求也越来越高。
具有高可用性理论数据库系统的日趋成熟,使企业对其越来越重视。
1.3RAC的应用及发展
技术含量达到业界公认的顶尖水准的Oracle数据库产品的市场占有率以及影响力是其他公司所无法比拟的,而且在不断上升。
Oracle数据库平台版本的不断更新,以及不断提高其数据库产品的可扩展性、功能性、便于管理等技术改进,使得数据库服务的简单化成为未来的趋势,这其实也是企业的需求所造就的。
整合、云计算、社交化&移动化将是未来十年IT界发展的重要趋势。
整合是一个不可阻挡的市场进程,因为企业的IT架构涉及网络、带宽、主机、存储、中间件、应用程序等,这对用户来说是相对比较复杂的。
用户想要的是一个整合方案,而不是在各个厂商、集成商间辗转,以及考虑产品的安全保证等等问题。
Oracle为了更好的满足用户对于简单化的需求,其产品线丰富和全面的优势会得到全面的发挥,将为用户提供更简单、更完整的IT解决方案,比如,为了降低集成难度而采用Oracle的数据库云服务器Exadata和中间件云服务器Exalogic等技术。
对于现如今很热门的云计算,Oracle的数据库云服务器、云中间件把软件和硬件一体化,这不但降低了成本,提高了性能,还能节约能源,节省空间。
2ORACLERAC实时应用集群
2.1RAC集群
集群实质是一种计算机系统,它把若干的计算机软件和硬件连接起来协同工作,就像一台计算机一样。
集群中每一个单独的计算机被称为节点,各个节点通过网络互连通信。
RAC实际上是多个服务器访问一个数据库,这样可以避免单点故障,同时也可以并行运算和负载均衡。
在应用环境当中,只有一个数据库,这样可以实现负载均衡。
物理上需大于等于两台的服务器和一个共享存储,还需要集群软件和RAC组件,所有服务器上的操作系统必须是相同。
用户发送请求时,RAC根据算法,将请求发给一台服务器处理,然后RAC访问存储设备。
从逻辑层面看,集群的节点是独立的,但节点之间通过软件通讯。
每个数据库实例有相同的cache,用于减少读写
集群通常都具有这样的特点:
多台计算机高度紧密的工作以便完成同一个任务,以求更高的工作效率,若有节点故障其余的节点依然可以代替完成工作。
2.2RAC核心
图2-1RAC集群拓扑图
如图2-1所示的是双节点RAC的拓扑,它从逻辑上显示了RAC集群的层次结构。
多个服务器节点组成了RAC集群,每个节点间通过心跳线连接,节点上都运行着一个或多个的实例,各个实例间通过集群的中间件协助,共同操作一个数据库。
所有的服务和程序通过操作系统去访问共享存储,最终完成数据的读、写操作。
而用户所能看到的仅仅只有一个数据库。
RAC是具有共享缓存体系结构的集群数据库,同时也是一个关系型数据库,它摆脱了传统的共享磁盘方法的限制,为所有业务应用程序提供一种具备可伸缩性和可用性的数据库解决方案,通常与Oracle集群或者是其他的第三方的集群软件共同组建成为Oracle集群系统。
RAC是一种数据库管理系统,它不是简单的数据存储,它为数据库系统提供了最大程度的并发访问--并发读取和并发修改。
对于RAC中多机上的多并发问题,通过多分布式锁管理器解决。
分布式锁管理器有仲裁的权限,记录节点对数据所做的何种操作,并能够协调和仲裁节点间的竞争。
RAC最核心的功能Cache Fusion(内存融合)是Oracle9i时引进的新技术,它将所有的系统全局区(SGA)虚拟成为一个大的系统全局区域,由高速的私有网络进行实例间的数据块的传递(其前提是网络间的传播速度要快于磁盘的读写速度)。
2.3RAC的组成结构
2.3.1RAC的逻辑结构
RAC的逻辑结构是由存储层、网络层、集群层、应用层组成。
存储层:
RAC中可能包含有多个实例,但是只有一个数据库运行在共享磁盘上,联机日志、数据文件、控制文件等文件在集群中都只有一份。
所有的RAC节点共同使用这些文件,没有优先级与主次的区别。
网络层:
在RAC集群中有三种不同的网络。
对外提供数据查询服务的Public网络。
用于连接RAC节点间心跳和Cache Fusion的Private网络。
还有一种就是存储设备和与之相配套使用的网络设备(通常在生产环境中使用的是光纤交换机和节点间的HBA卡)。
集群层:
集群环境中存储设备是共享的。
因为普通的操作内核只能控制单机上的多进程访问,实现不了多机间的协同工作。
所以使用一种新的控制机制,它就是处于Oracle和操作内核之间的Clusterware,Clusterware会先于操作内核截获请求,然后与其他节点上的Clusterware协商来解决完成上层的请求。
应用层:
Clusterware会对在集群环境上运行的应用进行监视,并在发生故障时进行重启、切换等操作,从而提高了集群环境的可用性。
这些被CRS(通常可以认为CRS=Clusterware=OracleClusterReadyService)监管的应用叫CRSResource,应用层是由多个CRSResource组成的。
2.3.2RAC集群的体系结构
与传统的单实例比较,RAC实例中的SGA部分多出了一个叫做GlobalResourceDirectory的模块。
Oracle在SGA中完成了全部操作,RAC的数据块在每一个实例的SGA中都会有备份,而且RAC需要知道这些备份的分布、版本、状态等信息,GRD就是存储这些信息的内存区域。
GRD位于SGA中,每个节点中的GRD合起来就是完整的GRD。
3RAC的具体安装
3.1RAC需要的安装环境
3-1RAC环境拓扑图
OracleRAC的安装过程中,环境的配置时十分重要的环节。
总的来说,RAC环境包括两部分:
硬件环境和软件环境。
硬件环境:
主要包括主机、存储设备、互联网设备。
由于是实验环境并不是真实的生产环境,所以的硬件环境主要包括以下方面。
主机,做的是双节点RAC,所以需要两台虚拟机,内存1.5G,CPU双核1.8G,磁盘配置完全一致。
存储设备,共享存储磁盘。
网络设备,两块虚拟网卡。
软件环境:
操作系统,Oraclelinux5.8
集群中间件,GridInfrastructureClusterware即GI集群软件
数据库,Oracle11g
3.2OracleRAC安装的任务流程
1.下载并部署OracleVMVirtualBox虚拟机管理软件
2.下载OracleLinux5.8镜像并安装虚拟节点1
3.配置虚拟节点1并克隆出虚拟节点2
4.配置共享存储磁盘
5.安装GridInfrastructureClusterwareGI集群软件
6.安装Oracle11g数据库软件并创建数据库
7.测试OracleRAC的整体性能
3.3RAC的具体安装
3.3.1OracleVMVirtualBox虚拟机的创建
OracleVMVirtualBox虚拟机是Oracle的一种虚拟机,它的安装包在网上就可以找的到,而且很容易的就可以完成安装,这里就不介绍具体的安装过程了,下面图3-2是安装好的OracleVMVirtualBox主机的截图。
图3-2OracleVMVirtualBox主机图
3.3.2安装OracleLinux5.8
OracleLinux5.8的镜像在Oracle的官网或者是其他的一些网站上也可以找的到,然后将其下载。
需要做的事新建一个虚拟机并配置其,使它可以胜任要将它作为节点的任务。
它的安装也不多做介绍了,主要介绍一下安装好后的虚拟机的配置
1)首先要做的是配置/etc/hosts文件
要写入的是所做的RAC中的双节点的主机名、Public网络和Private网络的IP地址等信息,以便于节点间的通信。
如下图3-3所示。
图3-3hosts文件配置
2)第二步,要做的是配置配置YUM软件源,以便于后期安装软件包
要先创建软件源的挂载目录,然后将OracleLinux5.8镜像中的包含软件源的CD盘挂载到所创建的挂载目录,如图3-4所示。
图3-4YUM源创建目录图
然后在配置YUM的主配置文件/etc/yum.repos.d,在其下一级目录新建一个配置文件public.repo并写入配置信息。
public.repo文件的配置内容如下图3-5所示。
图3-5YUM主配置文件图
3)第三步,要做的是创建集群管理用户grid以及其用户组、oracle用户及其用户组,并为grid用户以及oracle用户设置口令,命令如下
做完以上步骤,还需要在创建两个目录,并赋予权限,这是后面RAC的安装需要用到的,命令如下。
4)第四步,要做的是安装一个软件包,命令是yum-yinstalloracle-validated,这是因为数据库的安装需要依赖一些软件包,以及需要对内核参数做一些微调。
这个操作后系统会安装一些数据库依赖的软件包,并对内核做一些修改以确保数据库安装的顺利完成。
/etc/sysctl.conf与/etc/security/limits.conf文件中的配置信息被修改,前者修改了内核参数,后者是添加了一些对oracle用户以及grid用户的限制,如图3-6与图3-7所示。
图3-6/etc/sysctl.conf修改后的图
图3-7/etc/security/limits.conf配置文件截图
若是由于一些所不知道的因素,上诉两个配置文件未被修改,可以在网上找到数据库安装所需要的内核参数以及需对oracle、grid用户的限制的内容,然后手动的修改上述两个配置文件以达到安装数据库的要求。
3.3.3第二节点的克隆
这一步要做的就是克隆出第二个节点。
这一步要将刚才配置好的节点关掉,然后通过OracleVMVirtualBox虚拟机管理来克隆出下一个节点。
克隆完毕后要配置这个节点的主机名、网卡IP信息等。
3.3.4配置共享存储
这一步,要在节点1上创建8快磁盘,并设为可共享的磁盘来满足RAC安装队共享存储的需要。
创建好的虚拟存储如下图3-8所示。
图3-8创建存储图
然后通过OracleVMVirtualBox虚拟机管理,把这些已经创建好的磁盘添加给节点2,这样就初步完成了共享存储的创建。
创建好的磁盘还需要做udev的绑定才能使用,绑定后的磁盘就是所需要的共享存储。
首先去终端检测一下这8块磁盘在系统是否生效。
如下图3-9所示,sdb开始到sdi这八块磁盘就是所创建的,已经生效。
图3-9共享磁盘识别图
接下来要做的是得到这些磁盘的一些在系统中的关键信息,如UUID、种类、所属用户等信息,然后在讲其写入udev的主配置文件下的一个规则文件/etc/udev/rules.d/99-oracle-asmdevices.rules中来完成绑定。
由于磁盘块数较多,所以可以写个脚本来完成这件事。
脚本如下:
脚本执行后得到结果如下图3-10所示。
图3-10共享设备信息获取图
然后将得到的信息粘贴入已经创建好的/etc/udev/rules.d/99-oracle-asmdevices.rules配置文件中,然后启动udev,就会看到所绑定后的磁盘。
到这里,共享存储就已经创建好了,如图3-11所示。
图3-11udev绑定存储生效图
3.3.5GridInfrastructureClusterwareGI集群软件的安装
需要去网上下好三个软件压缩包,并将其上传到节点1中。
其中的第三个就是这一步安装集群所需要的压缩安装包。
这三个压缩包的大小以及软件号如下图3-12所示。
图3-12软件压缩包的名称
需要登录到grid用户,然后将第三个压缩包解压缩到之前创建好的/g01目录下。
然后在这个解压目录下就会生成一个grid目录,进到这个grid目录下执行一个叫做runInstaller的文件就会执行集群的安装。
图3-13解压缩目录的创建
图3-13所示就是在/g01下创建的解压目录。
执行集群安装的命令是./runInstaller,如下图3-14所示。
图3-14集群的安装
集群的安装是图形化的,虽然有许多细节要注意,但也都是点鼠标的操作,我在这里就不一一介绍图形化安装中各个步骤需要注意的选项与问题了。
安装过程中需要在两个节点上运行两个脚本,修改一个配置文件,做完这些,集群的安装才算是真正的结束。
这两个脚本需要以root用户的身份去执行。
如下图3-15与图3-16所示
图3-15/g01/grid/app/oraInventory/orainstRoot.sh脚本的执行
图3-16/s01/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh脚本的执行
在grid用户下,需要在.bash_profile配置文件里添加如图3-17所示的信息。
图3-17.bash_profile文件配置信息
3.3.6Oracle11g的安装
Oracle11g的安装需要以Oracle用户的身份进行。
以Oracle用户登录后,进入之前建立的/s01目录下,创建存放Oracle11g安装需要的软件包的目录。
图3-17Oracle11g安装目录的创建
然后将之前上传的压缩包的前两个解压缩到这个目录里,来完成Oracle11g安装的最后的准备工作。
如下图3-18所示为安装包的解压。
图3-18安装包的解压缩
解压缩完成之后,就可以进入具体的安装过程了。
进入下一级的database目录里,执行./runInstaller命令,就会自动进入图形化的安装界面。
安装过程比较简单,也都是点鼠标的选择、执行,这里也不将各个步骤做具体介绍了。
需要注意的是Oracle11g的安装需要环境变量的支持、以及系统从软件包、环境等的支持,这就需要执行必要的脚本、配置具体的环境变量。
解压缩完成后的oracle11g的安装过程,如图3-19所示。
3
图3-19Oracle11g软件的安装
如下图3-20,是环境变量的配置,也是对.bash_profile文件的配置,同样是以oracle用户的身份去配置的。
图3-20.bash_profile配置文件的配置信息
接下来要做的就是执行:
/s01/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh脚本,如下图3-21所示。
图3-21root.sh脚本的执行
最后,需要创建一个数据库实例。
还是以oracle用户的身份,直接在命令行输入dbca就可以进入图形化的安装。
做到这里RAC的安装也就基本完成了,接下来要做的就是对其的测试以及一些功能的研究了。
4RAC的测试
4.1验证RAC集群
4.1.1验证CRS服务状态
可以通过命令行crs_stat-t-v查看CRS的服务状态,如图4-1所示。
图4-1CRS服务状态图
4.1.2验证集群实例
由图4-2所示,实例在集群中的两个节点上运行。
图4-2实例运行图
4.1.3验证ASM磁盘组
如下图4-3和图4-4所示,对ASM磁盘组是否成功安装以及书记文件是否对实例可见做了验证。
图4-3ASM磁盘组状态图
图4-4数据文件在实例中的状态图
4.2模拟大表环境验证数据库
执行以下sql语句授权给scott用户dba的role:
grantdbatoscott;
依据scott的emp表创建test表,如下图4-5所示。
图4-5创建表
重复执行插入操作增加记录到300万条。
如图4-6所示
图4-6增加表记录
查看test表记录条数,有3670016条记录,如图4-7所示
图4-7查看表中记录条数
查看test表大小,约为80M.在这里,我将查询结果直接限制为M的单位。
如下图4-8所示
图4-8查看表大小
4.3故障切换验证
当客户端连接的RAC实例出现故障时,连接会被分配到正常的实例上,这对于客户端是透明的。
客户端并不会感觉到异常,所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux RAC 安装 论文 分析