DBA:可管理性
  下载
Oracle 数据库 10g
  关键词
rac, dba, clustering, 全部

Oracle RAC 测试


作者:Rich Niemiec 和 Murali Vallath

了解 Oracle RAC SIG 对 Oracle 真正应用集群执行严格测试后所得的结果。

2006 年 11 月发表

这是 Oracle 真正应用集群特殊兴趣小组 (RAC SIG) 创建的第四个年头。创建该组的目的是希望通过提供技术交流论坛来增强 RAC 客户的体验。

RAC SIG 对帮助改善网格控制和 RAC 产品一直保持着高度关注,最近,RAC SIG 在加州 Redwood Shores 举办的 Oracle HQ 中参与了一个名为“战舰春光”的测试活动。我们邀请了数个 Oracle 的著名大型客户参与其中。在此次活动中,编写 Oracle RAC 产品的开发人员都应邀到场,以便我们对该产品进行深度剖析以找出他们可以修复的缺陷。该活动邀请了来自世界各地的 15 个 RAC 用户(“黑客”),大家齐聚一堂,使用提供的工具和集群,为了同一个目标一起渡过了紧张充实的四天:“将测试进行到底,竭尽所能地整垮它,然后让开发人员来修复”。

虽然 Oracle 对于发布的每一款 Oracle 重要产品都举办了若干次这样的活动,但这可能是首次对与 RAC 有关的增强功能和为了帮助 RAC 管理而引入的工具给予完全关注。在本文中,我们将提供针对其中一些特性和工具的测试结果。

顺便说一下,独立的 Oracle 用户组 (IOUG) 是面向 RAC 用户的另一个重要资源。加入 IOUG 不仅可以获得一些重要的 RAC/网格最佳实践、信息以及资源,还可以在参加于拉斯维加斯举办的下一届 IOUG 活动 (Collaborate '07) 时享受优惠。

供应

在向集群添加节点时,DBA 惯于从堆栈开始并应用所有需要的组件和补丁。然后,在节点成为集群的一部分之前,安装所有需要的 Oracle 二进制文件。现在,该特性已内置于企业管理器网格控件中。如今,您可以通过部署一个预修补镜像并对一个或多个节点进行配置,将这些节点添加为现有集群的成员

2006 Oracle HQ 上的“RAC 黑客”

Alon Spiegel,Xpert-One
Amit Kumar,Webex
Charles Kim,Fidelity National Financial
Dan Norris,IT Convergence
Daniel Liu,First American Real Estate Solutions
Logan McLeod 和 Madan Gopal,Dell
Murali Vallath,Summersky Enterprises
Rich Niemiec,TUSC
Sanjay Shetty,MFG Systems Corp
Satish Mehta,Yahoo
Satya Krishnaswamy,Hewlett Packard
Sergio Del Rio,Templates 4 Business Inc
。无论源是镜像自现有节点还是来自软件镜像信息库(称为软件库),企业管理器都可为其提供选项。这样做的原因是,在测试节点上安装该软件,并将其修补到正确的级别,进行测试,然后批准它(金镜像)在企业范围内进行分发。在 Oracle 的金镜像创建步骤中,可以指向一个已安装在必须运行企业管理器代理 (Enterprise Manager Agent) 的现有主机上的 ORACLE_HOME(金镜像),然后企业管理器将对其进行压缩并存储在软件库中。

DBA 可能会记得,在 10.2.0.2 EM 中,可以通过几个简单步骤创建集群或对其进行无缝扩展:

  1. 代理部署
  2. Oracle 集群件部署 (CRS) 和配置
  3. ASM 部署(可选)
  4. RAC 软件部署
  5. 添加实例(针对新集群的“数据库创建”/针对扩展案例的“实例添加”)

所有这些步骤还可通过 EMCLI(命令行接口)公开,这使得集成人员可以直接从其他脚本对其进行调用。例如,如果 CPU 负载超过了阈值,您可以使用 EM 信息库(目前已开放并发布了 EM 模式)中的度量来添加 RAC 节点。

我们在 RAC 测试活动期间对该特性执行了一些 POC(概念验证)。作为测试的一部分,团队通过将第三个节点添加到现有集群对该特性进行了测试。然后,团队给出了一个需要修复的错误列表,后面是改进建议。

研讨会以规划演示的方式进行,其中提到在未来版本中,供应节点将是一个简单的一步式操作。企业管理器的智能足以自动确定新节点中的现有组件(在之前安装未完成的情况下),并递增地供应附加组件。

本白皮书中列出了 EM 10.2.0.1 版功能所需的一些补丁和变通方法。

第 1 步:代理部署。在该步骤中,需将代理推向集群中的新节点。以下是一个列出了源并指定了新代理安装的主屏幕。这是在从列表中选取源并验证了证书后的截图:

图 1

第 2 步:Oracle 集群件部署。此处我们将从第一个节点克隆到第三个节点。企业管理器将用需要运行的后克隆脚本 (post cloning script) 预先填充向导,如果超级用户证书是通过 sudo(允许用户作为超级用户或其他用户执行命令)在目标节点上设置的,那么这些脚本可自动执行。以下是七步向导中的一个重要屏幕,上面显示了 CRS 克隆的源和目标:

图 2
该屏幕显示了调度程序中作业的设置方式,在调度程序中可对作业进行监视:
图 3

第 3 步:ASM 部署(可选)。如果使用的是 ASM,以下是七步向导中的一个重要屏幕,其中显示了 ASM 克隆的源和目标:

图 4

该屏幕显示了调度程序中作业的设置方式,在调度程序中可对作业进行监视并在失败时重试:

图 5

第 4 步:RAC 部署。现在,我们可以开始克隆数据库主目录(还不是实例)了。我们打算将第一个节点的数据库主目录克隆到第三个节点。这是一个包含七个步骤的向导。再次说明,如果设置了 sudo 并对数据库和 ASM 软件执行了后克隆配置,则企业管理器可以自动运行 root.sh 脚本。这一次我同样从起始步骤开始,其中将显示所有“源”位置,然后跳至显示源和目标(与以前执行其他克隆一样)的步骤三。此外,还会有验证证书的步骤。

该屏幕显示了调度程序中作业的设置方式,在调度程序中可对作业进行监视:

图 6
第 5 步:添加实例。在该示例中,我们将演示一个带有两个节点(称为 racA1 和 racA2)的 RAC 集群 racA。我们将 racA3 作为添加实例进行添加。注意,这里只显示了几个屏幕截图,之前在 OTN 上列出的文档中提供了全部截图。下面快速看一下带有两个节点的 racA,这两个节点与其关联(无论是启动还是运行):
图 7

在 Administration 选项卡中,选择 Add Instance Link,提供一些证书,然后按如下所示添加实例:

图 8

会有一些查看和确认屏幕,然后安排作业以供查看:

图 9
最后一步:验证所有内容。之后,您可以通过企业管理器网格控制提供的多个屏幕验证所有内容。下面是一个有用的屏幕,其中显示了我们在该过程中克隆的许多内容。

图 10

供应特性可帮助 DBA 充分缩短软件和实例部署时间。因为所供应的经过测试的镜像是经过预修补的,所以省略了修补单个节点的复杂步骤,确保了所有节点的一致性。

适用于第三方应用程序的集群件

在 Oracle 数据库 10g 第 2 版中,集群件成为了一个普通产品,它可与非 Oracle 应用程序配合使用以提供高可用性。在 Oracle HQ 期间,Oracle 演示了该特性并通过实际操作演练使我们对该特性有所了解。

以下是 Oracle 集群件解决方案和 RAC 实施图,用以说明其所创建的高可用性 (HA) 解决方案:

图 12

通过 Oracle RAC 10g,无需供应商或第三方集群件,Oracle 集群件就可为 RAC 提供所有的集群功能。如果您选择使用供应商或第三方提供的集群件,那么仍需要安装 Oracle 集群件,它将检测供应商集群件并与其集成。以下是 10g 第 2 版 RAC 针对 Solaris (SPARC) 的认证图。注意,您可以使用 Veritas Storage Foundation for RAC、Sun 集群或 Oracle 集群件作为该操作系统的集群件:

图 13

现在,让我们看看该软件在 Oracle 数据库外的应用。集群件 API 提供了将第三方应用程序集成到 Oracle 集群件的选项,通过将应用程序或应用程序组件从一个故障的服务器移植到另一个服务器,允许该应用程序利用集群件技术并提供高可用性。详细论述已超出本文探讨范围,此处有三个关键控件可用:crs_startcrs_stopcheck 将调用该代理。该框架是一个简单的脚本语言。例如,您可能希望调用 apache 命令 apachectl -k start for crs_start

图 14

又例如,您可能希望调用 apache 命令 apachectl -k stop 用于 crs_stop(一旦编码,就可随意运行该命令):

图 15

您可能还希望调用各种命令,以检查是否可执行各种事项(“httpd 进程是否运行?”或“我可以请求 Web 页面吗?”)。您可将其置于 check 命令中:

图 16

卸载实用程序

要在使用 RAC 的测试阶段帮助 RAC 数据库管理员,并轻松卸载产品二进制文件,Oracle 在最新的 10g 第 2 版中引进了卸载实用程序。这是客户要求呼声最高的工具之一,这样可快速地将整个 RAC 安装及其配置卸载干净。

该产品可卸载 Oracle 集群件和 Oracle 主目录及其配置。最令人满意的是,它可与配置不成功(不仅限于成功配置)的 Oracle RAC 以及集群件主目录协同工作。它还可对升级失败的 Oracle 数据库进行降级。

我们对该产品执行了大量测试,并发现在新实施的测试阶段,这可以算是 Oracle 为 DBA 提供的最佳新产品之一。以下是该工具的用途:

  • 发现安装和配置的当前状态
  • 与用户交互以确认发现的数据
  • 提示用户为未发现的数据输入内容
  • 将用户输入保存到文件以备后用
  • 清除安装和配置数据文件
  • 删除 Oracle 软件
下图说明了发现并清除 Oracle RAC 主目录以及 Oracle CRS 主目录时程序的运行方式:

图 16

失败安装和配置状态发现(Oracle RAC 主目录)

 

图 17

清除安装和配置数据(Oracle RAC 主目录)

 

图 18

失败安装和配置状态发现(Oracle CRS 主目录)

 

图 19
清除安装和配置数据(Oracle CRS 主目录)


以下是一个来自卸载工具的日志示例:


		[oracle@bpo45 logs]$ more deinstall_deconfig.out2

############ CLUSTERWARE/RAC DEINSTALL DECONFIG TOOL START ############


######################## CHECK OPERATION START ########################
Install check configuration START

Checking for existance of the Oracle home location /rac01/app/oracle/product/10.2.0/db_2
Checking for existance of central inventory location /rac01/app/oracle/oraInventory
Checking for existance of the Oracle clusterware home /rac01/crs/oracle/product/10/crs
The following nodes are part of this cluster: bpo45,bpo46

Install check configuration END

Network Configuration check config START
Network de-configuration trace file location: /rac01/app/oracle/deconfig/clusterdeconfig/logs/netdc_check.log.
Some locally configured listeners were discovered in node bpo45 and they were stopped
Some locally configured listeners were discovered in node bpo45 and they were stopped
Some locally configured listeners were discovered in node bpo46 and they were stopped
Some locally configured listeners were discovered in node bpo46 and they were stopped

Specify the list of listener prefixes that are configured in this Oracle home []:

Specify the list of listener prefixes to be migrated to another database or ASM home of 
version Oracle Database 10g or above. This ensures that clients can continue to connect to other
 Oracle instances after the migration. Specify "." if you do not want to migrate any listener prefixes. 
 Listeners that you do not specify here will be de-configured. []:
Network Configuration check config END

Database Check Configuration START

Database de-configuration trace file location '/rac01/app/oracle/deconfig/clusterdeconfig/logs/assistantsdc_check51104.log
'

Specify the list of database names that are configured in this Oracle home [orclF]:

###### For ASM Instance ######
Specify the list of nodes on which ASM is configured []:

###### For Database 'orclF' ######

Specify the nodes on which this database has instances [bpo45, bpo46]: 

Specify the instance names [orclF1, orclF2]: 

Specify the local instance name on node bpo45  [orclF1]: 

Specify whether this was an upgraded database. The de-configuration tool will attempt to downgrade 
the database to the lower version if it is an upgraded database [n]: 

Specify the storage type used by the Database ASM|CFS|RAW [ASM]:

Specify the Oracle home where the ASM instance is configured [/rac01/app/oracle/product/10.2.0/db_1]:

Specify the local ASM instance on the node [+ASM1]:

Specify the list of disk_groups used for the database files, including the flash recovery area if configured [DATA,DEMO]:

Specify the list of directories if any database files exist on a shared file system. 
If 'orclF' subdirectory is found, then it will be deleted. Otherwise, the specified directory will be deleted. 
Alternatively, you can specify list of database files with full path [+DATA/ORCLF]:

Specify the flash recovery area location, if it is configured on the file system. If 'orclF' subdirectory is found,
then it will be deleted. []:
Specify the database dump destination directory [/rac01/app/oracle/product/10.2.0/db_2/admin/orclF]:
Specify the archive log destination directories []: Database Check Configuration END
Enterprise Manager Configuration Assistant START
Checking configuration for database orclF
Enterprise Manager Configuration Assistant END

######################### CHECK OPERATION END #########################


############################### SUMMARY ###############################
Oracle Home selected for de-install is: /rac01/app/oracle/product/10.2.0/db_2
Inventory Location where the Oracle home registered is: /rac01/app/oracle/oraInventory
Oracle Clusterware Home is: /rac01/crs/oracle/product/10/crs
The cluster node(s) on which the Oracle home exists are: bpo45,bpo46
Stopping of local listener LISTENER_BPO37 succeeded.
Stopping of local listener LISTENER_BPO37 succeeded.
The following databases were selected for de-configuration : orclF
Database unique name : orclF
Storage used : ASM
Will update the Enterprise Manager configuration for the following database(s): orclF
No Enterprise Manager ASM targets to update
No Enterprise Manager listener targets to migrate Log file location is /rac01/app/oracle/deconfig/clusterdeconfig/logs/deinstall_deconfig.out2
Error file location is /rac01/app/oracle/deconfig/clusterdeconfig/logs/deinstall_deconfig.err2

############# CLUSTERWARE/RAC DEINSTALL DECONFIG TOOL END #############

Oracle 企业管理器 10g 网格控制特性

现在,利用 Oracle 企业管理器 10g 网格控制,您可以拥有许多产品。本部分将提供几个屏幕截图,您可使用这些截图来监视网格。然而,需要注意的是,许多屏幕和工具永远不能替代产品。

本文之前提供了一个最佳屏幕:在其中可单击集群并查看节点是运行还是停用,以及查看单个节点。以下的集群 ioug 显示六个节点全部处于运行状态。要进入该屏幕,只需进入 Targets 选项卡并单击 ioug 集群。

图 20

将页面向下移一点,您可以看到与该集群关联的所有实例(都使用 ASM)。

图 21

如果单击 Topology 选项卡,可以查看所有六个实例的拓扑(每个实例位于一个单独的节点上,因此此处有六个单独的节点)。注意我的鼠标位于其中一个实例上,因此可看到有关该实例的附加信息。

图 22

如果单击 Performance 选项卡,然后单击 CPU Used 图表,您可看到“ioug”集群中所有节点的性能,每个节点的性能以不同颜色表示。

图 23

该工具可提供许多信息,例如互连信息和全局块信息。这是一个用于监视网格的出色工具。

特别感谢 Angelo Pruscino、Sohan DeMel、Erik Peterson、Debbie Migliore、Sudip Datta、Philip Newlan、Jagan Athreya、Anil Khilani、Bharat Paliwal、Ron Weiss、Ara Shakian、Prabhaker Gongloor (GP)、Barb Lundhild、Kirk McGowan、Carol Colrain、Stefan Pommerenk、Troy Anthony、Sue Tang、Joshua Solomin、Eunhei Jang、Supratim Chowdhury、Sourav Mukherjee 以及 Khethavath Singh (KP)


Murali Vallath 拥有 17 余年的数据库设计和开发经验。他在 Summersky Enterprises 提供独立 Oracle 咨询服务,主要致力于 Oracle 数据库的设计和性能调整。Vallath 已为知名企业成功完成了 60 多个大(TB 级)、中、小型 RAC 实施。Vallath 是 RAC SIG (www.oracleracsig.org)、Charlotte Oracle 用户组 (www.cltoug.org) 的主席,IOUG SELECT 期刊的特约编辑。

Rich Niemiec 是 Oracle 高级认证合作伙伴 The Ultimate Software Consultants (TUSC) 的 CEO。他还是 Oracle 出版社畅销书籍 Oracle9i Performance Tuning Tips and Techniques 的作者。Rich 在过去的 19 年里一直在讲授有关 Oracle 的课程并提供演示,他曾经是 IOUG 的前主席,目前是 Midwest Oracle 用户组 (MOUG) 的主席以及 RAC SIG 的副主席。

寄送此页面
Printer View 打印机视图