ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle rac 11g实战指南

Oracle rac 11g实战指南

原创 Linux操作系统 作者:hzbook2008 时间:2011-06-08 16:45:45 0 删除 编辑


图1.1   集群的硬件连接
在每个节点上需要运行相同的操作系统,安装相同的集群管理软件和应用程序。当安装集群管理软件后,在每个节点上将运行一个称为“集群管理器”的进程。集群管理器有两个基本功能:一是通过心跳信号监视每个节点的状态;二是进行资源组的切换,一旦发现某个节点出现故障,集群管理器将把这个节点上的资源组切换到另外一个节点上。资源组是资源的集合,每个资源组代表一个应用程序,在资源组中包含当前应用程序所需要的资源。资源组可以在集群范围内进行切换,这就意味着应用程序在不同节点之间的切换。
在集群中需要为每个应用程序定义一个资源组,资源组中需要包含以下资源:
1)IP地址
应用程序将监听这个IP地址,用户通过这个地址访问应用程序。这个IP地址是可以漂移的,如果当前节点出现故障,IP地址将随着资源组的切换而漂移到另外一个节点上。
2)应用程序的启动脚本和停止脚本
应用程序虽然安装在每个节点上,但是只在一个节点上运行,集群管理器通过启动脚本启动应用程序,通过停止脚本关闭应用程序。
3)存储设备
应用程序所需要的数据都存储在这个存储设备中,存储设备在应用程序所运行的节点上打开,如果这个节点出现故障,存储设备将随着资源组的切换而在另外一个节点上打开。在不同的操作系统中,对存储空间的称呼是不一样的,如在AIX和HP-UX系统中,这样的存储空间称为卷组,在Solaris中称为磁盘集。这里所说的存储设备,是指同时连接在所有节点上、所有节点都可访问的外部共享存储设备,如磁盘阵列。
为了保证应用程序的高可用性,在集群中需要为应用程序定义一个资源组,在资源组中至少需要包含三种资源:用于向用户提供访问的IP地址、应用程序的启动脚本和停止脚本、用于存储应用程序的数据的存储设备。当集群启动时,资源组在其中一个节点上打开,这就意味着应用程序在这个节点上运行。当这个节点由于故障而不可用时,资源组便切换到另外一个节点上,在另外一个节点上打开。资源组也可以在管理员的控制下手工切换到另外一个节点上。
资源组的切换情况如图1.2所示。假设某个应用程序先在节点1上运行,它所对应的资源组在节点1上打开。如果节点1出现故障,资源组便切换到节点2上,应用程序所用的IP地址也将漂移到节点2上,应用程序的数据所在的存储设备在节点2上打开,应用程序的启动脚本在节点上也将自动执行,于是这个应用程序便在节点上运行。当节点1的故障解决后,应用程序所对应的资源组可自动切换到节点1上,也可以继续在节点2上保持打开状态。如果资源组继续在节点2上处于打开状态,那么当这个节点出现故障时,资源组便切换到节点1上。

图1.2   集群的资源组切换
在图1.2中,资源组在其中一个节点上打开,其他节点都是空闲的。如果在每个节点上都运行一个应用程序,就可以充分利用这些节点的处理能力。在集群中运行多个应用程序的情况如图1.3所示:在集群中为每个应用程序分别定义一个资源组,每个资源组在不同的节点上打开。如果节点1出现故障,那么这个节点上的资源组将切换到节点2上,这时在节点2上将打开两个资源组。尽管节点2的负载大大加重,但是两个应用程序对用户都是可以访问的。当节点1的故障解决后,以前在这个节点上打开的资源组便可再次切换到这个节点上。

图1.3   两个资源组的切换情况

目前主流的集群管理软件主要有以下几种:
  • IBM公司的HACMP
  • HP公司的ServiceGuard
  • SUN公司的Sun Cluster
  • Oracle公司的RAC
其中前三种产品只能安装在各个公司自己的操作系统中。它们的工作原理基本上是相同的。它们的基本功能就是通过资源组切换的方式来保证应用程序的高可用性。RAC可以安装在适合Oracle数据库运行的任何操作系统中,它不仅可以实现资源的切换,而且可以向用户提供并发访问,用户可以通过任何一个节点访问数据库中的数据。
集群是一个完整的应用环境。在配置集群时,需要在每个节点中安装集群管理软件,还需要在集群中安装应用程序,如Weblogic、Websphere、Oracle等。上述前三种软件仅仅是集群管理软件,而RAC本身就可以提供一个完整的应用环境,其中集群管理器的功能由Clusterware来提供,而Oracle数据库就是运行在这个集群管理器之上的应用程序。

1.4   Oracle的高可用性产品

Oracle公司不仅向用户提供了一个优秀的数据库产品,而且提供了许多用于保证数据库高可用性的产品。具体来说,Oracle通过以下组件或产品来保证数据库的高可用性:
1)Oracle RAC
Oracle RAC是所有集群管理软件中功能最复杂、最难配置的一种。本书的主要内容就是介绍RAC的结构、功能和详细的配置过程。
2)Oracle Restart
Restart是从Oracle 11.2开始出现的一个组件,它的功能是在硬件或软件故障之后,或者在重新启动系统时,自动启动数据库、监听器以及其他相关组件,并且保证这些组件之间的正确启动顺序。Restart只能工作在单实例数据库中,在RAC环境中,Restart所具有的功能是由Clusterware来实现的。
3)Oracle Data Guard
Data Guard的功能是实现Oracle数据库的异地容灾,防止数据库所运行的站点发生灾难性的故障,如业务系统所在的机房出现火灾、水灾,或者遭到人为破坏。两个相互独立的数据库通过网络保持同步:其中一个数据库向用户提供正常的访问,这个数据库称为主数据库(Primary);另一个数据库保持闲置,或者向用户提供少量的只读访问,如产生报表、对数据库进行备份等,这个数据库称为Standby。当用户在主数据库中执行DDL或DML语句修改数据时,数据库服务器将产生重做日志,Data Guard通过网络将重做日志传输到Standby数据库, Standby数据库服务器通过重做日志产生同样的数据。当主数据库出现故障时,用户的访问将切换到Standby数据库。这两个数据库一般分开放在两个不同的城市,甚至两个不同的国家。
4)Advanced Replication
高级复制(Advanced Replication)主要用在分布式数据库中。多个相互独立的计算机可以同时向用户提供访问,用户一般就近访问其中一个数据库。如果用户修改了一个数据库中的数据,这些修改将被复制到其他数据库中。
5)Oracle Streams
Streams是一种特殊的高级复制技术,它提供了功能更强大、更加灵活的复制功能。
6)Oracle Flashback
利用Flashback技术,我们可以查询一个表在过去某个时刻的数据,或者在过去一段时间内在一个表上所发生的事务,可以把一个表或者整个数据库恢复到过去某个时刻,还可以还原对表的DROP操作。
7)Oracle ASM
ASM(Automatic Storage Management)是Oracle强力推荐的存储管理技术,它是Oracle公司提供的逻辑卷管理器,这种技术目前主要用在RAC环境中。
8)Recovery Manager
RMAN(Recovery Manager)用于对数据库进行备份和恢复,它是一种强有力的备份与恢复工具,利用这个工具,可以对整个数据库、一个表空间或者一个数据文件进行完全备份和增量备份。
9)LogMiner
LogMiner的功能是对重做日志文件进行分析,将其中存储的重做日志还原为文本格式。通过分析重做日志,可以确定一条DML或DDL语句的精确执行时间,可以跟踪用户在某个特定表上的DML或DDL操作,也可以获得DML语句所对应的反操作,通过这样的反操作,可以取消用户所执行的DML语句。

1-1.jpg

1-2.jpg

1-3.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16502878/viewspace-697423/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 数据库重构
请登录后发表评论 登录
全部评论

注册时间:2008-10-23

  • 博文量
    209
  • 访问量
    756883