Oracle RAC集群测试-生产环境最佳方法(Oracle 11g/12c/18c/19 RAC)

生产环境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集群测试-生产环境最佳方法(Oracle 11g/12c/18c/19 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  

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。