生产环境Oracle RAC集群测试最佳方法(支持Oracle 11g/12c/18c/19c RAC安装后期测试过程)
一、Oracle RAC集群测试背景
某中大型制造业公司,由于要新上项目,建设了一套业务系统-ERP系统,这套系统的数据库环境是Oracle RAC(RHEL Linux7+Oracle11gR2 RAC)架构 ,根据风哥提供的建设方案项目已经建设完成。
这套ERP系统的RAC集群数据库在上线之前,我们需要对RAC集群做一些功能测试,这个测试方法适用于Oracle11g/12c,也适用于oracle18c/19c,关于更多生产技术交流,请加入QQ群:787523185
二、Oracle RAC集群的介绍
在测试之前,这里风哥给大家介绍一下Oracle RAC是什么:Oracle 真正应用集群技术(Oracle Real Application Cluster )是Oracle 9i及以后版本,Oracle 9i之前叫OPS集群。Oracle RAC主要支持Oracle9i、10g、11g、12c版本(18c,19c)。 在Oracle RAC环境下,Oracle集群提供了集群软件和存储管理软件,集群软件CRS/GRID,存储管理软件ASM(自动存储管理),多个节点共享一份数据。
ORACLE RAC架构如下:
其中Oracle RAC在物理架构上,硬件设备主要包括如下部分:
服务器、共享存储设备(共享存储,光纤交换机,HBA卡,光纤线)、网络设备(网络交换机,光纤交换机,网线)
1)服务器
我们称这个服务器为“数据库服务器”,“数据库主机”,在RAC的术语中我们又称其为“节点”,服务器的配置应该相同,cpu,内存等。
2)网络设备
每台服务器上至少两块物理网卡,分别用于主机间私有通信和对外公用通信,也可以有多快网卡,进行网卡绑定,实现网卡的冗余。
私有通信的网卡叫private NIC,对应的IP为private IP。
公用通信的网卡叫public NIC,对应的IP为public IP。
3)共享存储设备
共享存储是整个RAC架构中的核心
每台服务器至少一块/两块HBA卡,用于共享存储的连接。
可以用光纤线直连存储,也可以通过光纤交换机,我们建议使用光纤交换机。
RAC是一个典型的“多实例,单数据库”架构,被所有节点共享,并行访问。
数据库数据文件,控制文件,参数文件,联机重做日志文件,甚至归档日志文件都放在共享存储
上,并保证可以被所有节点同时访问。IO性能要求比较高,一般用光纤线连接。
另外Oracle RAC还有两种集群模式:
Oracle RAC 同时具备HA(High Availiablity) 、LB(LoadBalance)。
1)Failover(故障转移):
它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用户感受而言, 是感觉不到这种切换。
2)LoadBalance(负载均衡):
就是把负载平均的分配到集群中的各个节点,从而提高整体的吞吐能力。
三、Oracle RAC集群功能测试
序号 OracleRAC测试项目 OracleRAC测试方法 OracleRAC正确结果 OracleRAC测试结果1 检查数据库的版本和补丁 select * from v$version; Oracle 11/12c相应版本 是否正常:
2 数据库启动和关闭 startup 能正常启动和关闭 是否正常:
Shutdown immediate
3 逻辑备份 exp,expdp 导出成功 是否正常:
4 字符集 select name,value$ from ZHS16GBK 、 UTF8 是否正常:
props$
where name like
'%CHARACTERSET%';
5 创建/删除 create tablespace fgedudata01 创建成功 是否正常:
表空间 datafile '+fgedudata1’ 删除成功
size 10m autoextend off;
drop tablespace fgedudata01
including contents and files;
6 创建/删除用户 create user fgedu identified 创建成功 是否正常:
by test default tablespace 删除成功
fgedudata01 temporary tablespace temp;
drop user fgedu cascade;
7 创建/删除表 create table fgedu.itpux 创建成功 是否正常:
(name varchar2(10),id number); 删除成功
drop table fgedu.itpux;
8 插入/删除数据 Insert into fgedu.itpux values('itpux01',’1); 插入成功 是否正常:
Commit; 删除成功
Delete from fgedu.itpux
Commit;
9 客户端连接到 sqlplus “sys/oracle@itpuxdb as sysdba”; 连接成功 是否正常:
数据库
10 修改数据库为归档模式 Alter system set db_recovery_file_dest='+dgrecover' scope=spfile; 归档模式 是否正常:
alter system set db_recovery_file_dest_size=200G scope=spfile;
Srvctl stop database -d fgerpdb
Sqlplus “/as sysdba”
Startup mount;
Alter database archivelog;
Shutdown immediate
Srvctl start database -d fgerpdb
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。