如何提供oracle rac 检测报告

发布网友 发布时间:2022-04-23 13:06

我来回答

2个回答

热心网友 时间:2022-04-09 22:41

  1 测试目的 测试目的, 在于验证多节点 RAC 的可用性、 稳定性,以及多节点 RAC 相对于普通的 Oracle 环境性能的提升情况 2 2.1 2.2 术语、定义和缩略语 术语、定义 无。 缩略语 本文件应用了以下缩略语: RAC Real Application Cluster Caps Call per Second Oracle 公司数据库集群软件 智能网名词,指每秒处理的呼叫数 3 测试环境描述 本次测试,由 4 台 IBM 小型机(2 台 B80、2 台 P630)搭建了一个内部网络,组成 4 节 点的 RAC 环境, 网络内的各个节点通过 10/100M 网卡相互访问, 包括 RAC 节点间的 heart beat 信息;RAC 数据库以裸设备方式建在共享磁阵上,各节点通过光纤交换机访问磁阵;呼叫测 试时,各节点上的智能网应用,则通过光纤交换机与模拟呼叫仪进行通讯。 硬件信息: 小型机:IBM B80 2 台,每台 2 颗 450M 主频的 POWER3 CPU 和1G 内存 小型机:IBM P630 2 台,每台 2 颗 1.2G 主频的 POWER4 CPU;2G 内存 存储: StorageTek 的 D240 磁阵, 块 72G 的硬盘, 6 其中 4 块做 RAID 0+1, 块为 HOT SPARE 2 光纤交换机:2 台,型号为 IBM 3534-F08 模拟呼叫仪:INET、MGTS 软件信息: 操作系统:IBM AIX 5.2 补丁级别 02 双机软件:IBM HACMP V5.1 补丁级别 04 RAC 版本:Oracle 9.2.0.5.0 智能网平台版本:V3.50.05.06_0_2004/08/23 业务版本:IIN-GSM_PPSV2.01.01@V3.50 第 2 页 共 18 页 Oracle RAC 测试报告 4 测试过程描述 本次 RAC 的测试,主要是分成三个阶段,第一是 RAC 的性能测试,第二个阶段,则 主要是针对在性能测试中发现问题的处理,第三个阶段是 RAC 的功能测试、稳定性测试。 4.1 性能测试 由于受到模拟呼叫仪处理能力的*,在性能测试过程中,4 节点的 RAC 中并没有所 有节点都同时使用的情况,大部分情况是启动其中的 2 个 instance,相当于两节点的 RAC。测试前提: 1. 智能网应用与 Oracle 的 instance 同时在同一台主机上运行 2. 智能网的数据库连接为指定连到本机的 instance,没有做 load balance 和 failover 3. 测试时业务表 s1cardinf 的记录数为 32 万 4. 双节点时测试时,每个节点上的应用分别处理不同的号段,无交叉现象 4.1.1 两台 B80 组成的单、双节点 RAC 性能测试 测试目的: 测试在 B80 上,两节点的RAC 相对于单机方式的性能提高情况 测试步骤: 1. 启动一台机器上的 oracle instance 和智能网应用 2. 根据应用的处理情况逐步提供呼叫仪的呼叫数,直到应用无法及时处理 3. 同时启动两台机器上的 oracle instance 和智能网应用 4. 根据应用的处理情况逐步提供呼叫仪的呼叫数,直到应用无法及时处理 测试结果: 单实例方式下,应用的最大呼叫处理能力可达到140caps,此时 CPU 达到 100%, 而应用出现消息积压的情况; 双节点方式下, 每个节点应用的最大处理能力为 140caps。 4.1.2 两台 P630 组成的单、双节点 RAC 性能测试 测试目的: 测试在 P630 上,两节点的 RAC 相对于单机方式的性能提高情况测试步骤: 1. 动一台机器上的 oracle instance 和智能网应用 2. 根据应用的处理情况逐步提供呼叫仪的呼叫数,直到应用无法及时处理 3. 同时启动两台机器上的 oracle instance 和智能网应用 4. 根据应用的处理情况逐步提供呼叫仪的呼叫数,直到应用无法及时处理 测试结果: 单实例方式下,应用的最大呼叫处理能力可达到 210caps,此时 CPU 达到 100%, 而应用出现消息积压的情况; 双节点方式下, 每个节点应用的最大处理能力为 210caps。 4.1.3 两台 B80 和一台 P630 组成的三节点 RAC性能测试 测试目的: 测试三节点的 RAC 的性能情况 测试步骤: 1. 同时启动两台 B90 和一台 P630 上的 oracle instance 和智能网应用 2. 根据应用的处理情况逐步提供呼叫仪的呼叫数,直到应用无法及时处理 第 3 页 共 18 页 Oracle RAC 测试报告 测试结果: 最终的处理结果是两台 B80 上的最大呼叫能力为 140caps,当时 CPU 为 100%,出 现消息积压情况;而受制于呼叫仪的处理能力,P630 上达到 160caps,而 cpu 占有率为 81%,消息处理正常。 4.2 功能测试 4.2.1 RMAN 备份和恢复测试 测试目的: 测试 RMAN 的备份 测试步骤: 1. 使用 rman,执行语句,进行整个数据库的备份 2. 使用 rman,执行语句,备份归档日志 测试结果: 按照预期的结果,生成了备份文件。 测试目的: 测试 RMAN 的恢复 测试步骤: 1. 使用 dd 破坏控制文件的设备/dev/rrcontrol1,使用 RMAN 恢复 2. 删除表空间 zxin_data,利用之前的备份,使用 RMAN 恢复 测试结果: 对于删除 control file 的测试, 恢复失败, 因为使用的是 rman nocatalog 进行的备份, 在 nocatalog 方式下,备份信息是存放在 control file 中的,现在 control file 损坏,无法通过 rman 进行恢复; oracle 建议在使用 nocatalog 方式备份时需将 control file 和 spfile 单独使用操 作系统命令进行备份。后者的表空间恢复正常。 4.2.2 exp 备份和 imp 恢复测试 测试目的: 验证 exp/imp 进行数据库的备份和恢复 测试步骤: 1. 使用 exp 进行整库备份 2. 删除用户 zxin,使用 imp 恢复 3. 删除表空间 zxin_data,使用 imp 恢复 测试结果: exp 备份正常,恢复测试同样没有问题。 4.2.3 正常呼叫时,smap 界面对数据的大批量查询和修改。 测试前提: 节点 zxin1 和 zxin2 上正常处理呼叫,呼叫量均为 100caps 测试步骤: 1. 查询某卡号段的信息 2. 另外同时通过 sqlplus,按照卡号段查询 s1cardinf 信息 测试结果: 第 4 页 共 18 页 Oracle RAC 测试报告 由于只使用了一个 smap 界面程序操作,因此看不出影响。 4.2.4 正常呼叫时,后台 cron 任务对数据的大批量查询和修改。 测试前提: 节点 zxin1 和 zxin2 上正常处理呼叫,呼叫量均为 100caps 测试步骤: 1. 利用 shell 通过 sqlplus,按照卡号段循环查询 s1cardinf 信息 2. 通过 sqlplus 修改 s1cardinf 信息,按照卡号段循环 update s1cardinf 信息 测试结果: 后台对同一个表的连续的大数据查询、修改,对呼叫影响很大,查询时 cpu 占有率 上升了 5%,如有多个同时运行的话,消息处理积压的现象将会非常明显。 4.2.5 大事务测试 测试目的: 测试在异常情况下数据的一致性、完整性 测试步骤: 在节点 zxin1 和 zxin2 上同时运行同一事务批量修改数据,数据有交叉 测试结果: 多次测试,数据更新正常。 测试步骤: 1. 在节点 zxin1 和 zxin2 上同时运行同一事务,在 zxin2 回滚事务 2. 在节点 zxin1 和 zxin2 上同时运行同一事务,在 zxin2 kill 该 session 测试结果: 测试结果正常,未见数据异常。 测试步骤: 在节点 zxin1 和 zxin2 上同时运行模拟程序,通过 sqlplus 连到数据库,批量更新数 据,然后退出重连;此过程循环一晚 测试结果: 根据处理的日志看,操作正常。 4.2.6 load balance 测试 测试目的: 验证 oracle 的负载均衡功能 测试前提: 1. 在 zxin1、zxin2 上启动实例 2. 修改 zxin2 上 tnsnames.ora,启用 load balance 测试步骤: 1. 在 zxin2 上运行 zxstart,建立 SDF 连接 2. 利用测试程序,每隔几秒通过 sqlplus 建立 10 个连接 测试结果: zxstart 多次测试的结果,12 个 SDF 连接基本是平均分布,有时则是 5 个在 zxin1 第 5 页 共 18 页 Oracle RAC 测试报告 上,7 个在 zxin2 上;而手工建立的 sqlplus 连接,则是完全平均分布的。 4.2.7 connetc-time failover 的测试 测试目的: 验证在客户端连接时的 failover 功能 测试前提: 1. 启动 zxin1、zxin2 上的实例 2. 关闭 zxin2 的 listener,zxin1 机器上的 listener 正常 3. 实例 zxin2 上的 tnsnames.ora 中配置 Address List= (ADDRESS = (PROTOCOL = TCP)(HOST = zxin2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = zxin1)(PORT = 1521)) 测试步骤: 1. 在 zxin2 上启动 zxstart 2. 利用测试程序,在 zxin2 上每隔几秒通过 sqlplus 建立 10 个连接 测试结果: 两种方式下,数据库连接都在 zxin1 实例上 4.2.8 TAF 测试 测试目的: 验证 Transparent Application Failover 功能及切换时间 测试前提: 1. 实例 zxin1、zxin2 正常运行,listener 正常 2. 实例 zxin2 启用 Failover 功能 3. 主机 zxin1、zxin2 上的时间一致 测试步骤: 1. Zxin2 上运行 zxstart,启动平台程序 2. 启动模拟程序,不停通过 sqlplus 连接 zxin2,记录无法连接 zxin2 实例的时间 3. 通过正常、异常关闭 zxin2 实例,异常关闭 zxin2 主机进行测试 4. 在 zxin1 上查看 v$session 中各 SDF 连接及 logon_time 测试结果: zxin2 实例在正常、异常关闭或者 zxin2 主机被异常关闭之后,所有连到实例 zxin2 的数据库连接自动切换到了 zxin1,但是数据库连接的切换时间每次都不太一样,从 8 秒到 59 秒不等,维持在 1 分钟之内。 测试目的: 测试正常呼叫情况下 TAF 的切换时间 测试前提: 1. 实例 zxin1、zxin2 正常运行,listener 正常 2. 实例 zxin2 启用 Failover 功能 3. 主机 zxin1、zxin2 上的时间一致 测试步骤: 1. zxin2 上运行 zxstart,启动平台程序,有 100caps 的呼叫处理 2. 启动模拟程序,不停通过 sqlplus 连接 zxin2,记录无法连接 zxin2 实例的时间 3. 通过正常、异常关闭 zxin2 实例,异常关闭 zxin2 主机进行测试 第 6 页 共 18 页 Oracle RAC 测试报告 4. 在 zxin1 上查看 v$session 中各 SDF 连接及 logon_time 测试结果: zxin2 实例在正常、异常关闭或者 zxin2 主机被异常关闭之后,所有连到实例 zxin2 的数据库连接自动切换到了 zxin1,而且切换时间非常快,很多情况下都在 1-2 秒左右,没 有超过 10 秒的,可能跟呼叫有关,在有操作的情况下,zxin1 实例能够更快的获取 zxin2 实 例 down 的情况,从而更快的切换。 4.3 稳定性测试 4.3.1 模拟呼叫,保持 24 小时 测试目的: 测试 RAC在长时间的呼叫处理下是否正常 测试步骤: 1. 在节点 zxin1、zxin2 上启动数据库 2. 在节点 zxin1、zxin2 上分别启动平台程序,接受呼叫 3. 模拟呼叫仪接入,模拟 100caps 的呼叫量,连续呼叫 24 小时 测试结果: 系统运行正常,数据库访问正常,业务处理正常。 4.3.2 网线异常对实例的影响 测试目的: 测试公网 ip 异常对 RAC 的影响 测试步骤: 1. 实例 zxin1、zxin2 启动,在 zxin2 上启动平台程序 2. 使用 ifconfig en1 192.1.1.102 delete 删除 public ip 3. 拔掉 zxin2 上 public 网线 测试结果: zxin2 上建立的到数据库实例 zxin2 的 SDF 连接,进行 failover,切换到 zxin1 上, 客户端无法以 zx192_1_1_102 这个 connect string 连到实例 zxin2。待到重新加入 ip 或者插 上网线之后,恢复正常。 测试步骤: 测试私网 ip 异常对 RAC 的影响 测试步骤: 1. 实例 zxin1、zxin2 启动,在 zxin2 上启动平台程序 2. 使用 ifconfig en0 10.1.1.102 delete 删除 private ip 3. 拔掉 zxin2 上用于 RAC 节点间通讯的 private 网线 测试结果: 无论是删除 ip 还是拔掉网线,对于 Oracle 来说,效果一样。以其中一次测试的过 程为例:大概在 11:03 拔掉网线,然后在 oracle 日志显示,在实例 zxin1、zxin2 分别在 11: 09 和 11:08:45 进行 Communication recofiguration,zxin1 等待 split-brain resolution;10 分 钟之后,11:19 分,实例 zxin2 down 下来,zxin1 实例恢复正常。在多次测试的结果中,发 现在拔掉网线到实例进行 communication 重组之间、和实例等待 split-brain resolution 的过程 中,除了有一次能够通过访问 zxin1 而不能访问 zxin2 外,其他几次都无法通过 sqlplus 访问 第 7 页 共 18 页 Oracle RAC 测试报告 zxin1、zxin2,而且这两个阶段的时间都固定为 5 分钟跟 10 分钟。 后来,发现第二个阶段等待 split-brain 的时间跟数据库中参数的设置有关,修改参 数_imr_splitbrain_res_wait 为 60 秒后, 等待时间由 10 分钟缩短为 1 分钟; 但是, comminucation 重组之前的超时判断无法缩短,可能跟 tcp 有关,修改了 rto_high 等几个参数设置后,时间 依然为 5 分钟左右,没有改变。

热心网友 时间:2022-04-09 23:59

可以使用raccheck工具来对集群进行一个全面的检查。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com