13022619810222425X
摘要:本文旨在介绍数据库的需求并从安全、安装、稳定性能等方面分析对比和总结。
关键词:oracle、rac集群、数据库系统、Linux、Unix
1.现状分析
现在已经有的人力资源系统、财务系统、办公管理系统使用的SQL SERVER,近几年由于勒索病毒盛行windows系统容易感染病毒,迁安某钢厂就因勒索病毒导致数据库数据全部丢失,系统多数据多就需要找稳定可靠的数据库系统作为支撑。
2.oracle和sqlserver进行3方面的比较
2.1 操作平台
Oracle可以跨平台,支持windows系统、Linux系统、Unix系统、SUN Solaris、IBM AIX系统,其中应用最多的是Linux系统,Linux系统对Oracle有很好的支持,并且不需要安装任何杀毒软件。在linux下安装Oracle比较麻烦需要手动配置很多文件
sqlserver是微软出品的关系数据库支持windows系统不支持其他系统(sqlserver已经出linux版本但是稳定不稳定有待验证使用的也很少),sqlserver和微软的操作系统本就是一家所以在windows系统下操作简单,使用方便Windows系统对sqlserver整合了很多资源。
总的来说Oracle支持市面上大多数操作系统跨平台比较好,sqlserver还是以支持windows系统为主跨平台不好。
2.2 安全性比较
Oracle数据库是通过实例->表空间->用户,官方解释实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合,多个实例是完全分开的互补影响。进入实例就是用户,用户对应着表空间,每个表空间可以有多个用户但是每个用户只能有一个表空间,这样就从逻辑上解决了数据之间混乱的问题。表空间是数据库的逻辑划分,通过表空间创建不同的表。
Sqlserver是通过创建数据库来区分不同的数据库,不同的数据库需分配不同的用户,如果用户的权限够高都可以操作,权限控制要比Oracle稍逊,所以安全性和Oracle比会差些。
2.3性能比较
Benchmark Factory 使用这个性能测试软件测试的Oracle和sqlserver性能指标TPC-C其中值越大性能越低, 其中Oracle的测试TPC-C值为0.26,sqlserver的测试TPC-C值为0.45通过以上的测试不难看出Oracle的性能优于sqlserver。
单节点数据库,如果实例宕机了,如果一个业务链接在实例上面,那么这个业务就中断了。这个时候系统就不具有可用性了,那么这个时候单节点的可用性是很差的。对于RAC来说,和单实例一样,还是一份数据文件,都是相同的存储上面放着oracle的文件,但是是由三个实例共用同一份数据文件。这样的好处是在三个实例之间做了冗余,在上面三个实例当中任意两个坏了业务都可以链接到剩下的一个实例,都可以正常的工作。RAC提供了在实例级别的冗余。
RAC的特点
除了具有普通的数据库特性外:每一个节点的instance都有自己的SGA,每一个节点的instance都有自己的background process,每一个节点的instance都有自己的redo logs,每一个节点的instance都有自己的undo表空间,每一个节点的实例都有自己的SGA,但是之间在SGA里面的数据块都是需要相互传递的,每一个节点都有自己的redo,redo不是共用的。虽然redo是放在共享磁盘上面,但是每个实例都有自己的redo,各有各的。当实例2坏了,实例1做恢复的时候可以通过实例2的redo信息来进行恢复。
每个实例都要处理自己的一套事务,所以需要使用自己的UNDO。所以在RAC架构下面,每一套实例都有自己的东西。
现在市面上几个集群软件是IBM的HAMP、HP的ServiceGuard、SUN的Sun Cluster(sun已经被oracle收购)和Oracle的RAC
搭建Oracle的rac集群实现高可用和负载均衡。Oracle通过它的组件来保证数据库的高可用性,其中最主要的几个组件有Oracle RAC 集群管理软件、Clusterware重启系统后自动重启数据库和监听器、Oracle ASM逻辑卷管理器也就相当于windows下的磁盘管理器主要用在RAC中、Recovery Manager简称Rman用于对数据库进行备份与恢复。
公司系统多并且分在两个生产环境中所以要搭建两套RAC集群,MES和LES系统使用一套集群,ERP、EAM、ESB系统使用一套集群,为了数据不被各种病毒侵害保障数据安全操作系统选择Linux系统。
Oracle RAC共享存储,为了集群的所有实例都能访问数据库,所有的数据文件、控制文件、系统文件和重要日志文件都必须保存在共享磁盘上,并且能被所有节点服务器访问。为了防止日志文件和控制文件产生冲突,控制文件、数据文件和系统数据文件都分别部署在不通的磁盘上这样即使数据文件磁盘或者日志文件磁盘满也不影响系统的稳定,也能够处理,所以共享磁盘一般划分为4块系统数据磁盘、数据磁盘、表决盘和归档日志盘。
Oracle RAC和Oracle数据的安装步骤如下:
4.1需要安装最少两台Linux系统每台机器需要两个网卡(其中一个业务用一个做心跳线)两个FC光纤网卡(连接共享存储)并配置7个IP地址,业务用两个IP、两个电脑通讯的私有地址两个、VIP地址两个和一个scanIP(就是对外发布的虚拟IP)
4.2Linux系统环境和参数配置
修改全局,配置时间同步 关闭Linux系统自带的时间同步服务使用集群同步,修改共享内存段大小(共享内存段的大小必须大于SGA_TARGET值),两个物理服务器都需要设置ssh信任关系,配置共享存储。
4.3安装ORACLE GRID 其中安装GRID要用grid用户
需要将 grid 用户、oracle 用户配置好集群节点之间的互信机制。配置集群节点互信机制建议采用ssh 协议。
4.4以上都安装完成后在Oracle用户下安装Oracle数据库,执行目录中的runInstaller脚本,然后按步骤安装其中要注意增加中文支持,使用ZHS16GBK-GBK16字符集。
5.1oracleRAC11g显著降低了企业的运营成本,增加了灵活性,这样就使系统有更好的适应性。
5.2高可用性:如果一个系统用一台服务器,服务器发生故障系统就不能使用影响生产,使用oracle rac集群方式能均匀的分配并发做到负载均衡,又在一台服务器宕机也能使用,充分的达到了高可用和负载均衡,为各个系统保驾护航。