前言:中文期刊网精心挑选了数据库软件范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
数据库软件范文1
系统软件。数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用,另外,数据库管理系统的发展与计算机技术发展密切相关。
(来源:文章屋网 )
数据库软件范文2
论文关键词:实时数据库组态软件,模型,事务调度
1 引言
组态的概念是伴随着集散控制系统的出现逐渐被广大的生产过程自动化技术人员所熟识.概念最早来自英文configuration,含义是使用软件工程对计算机软件的各种资源进行配置,达到使计算机或软件按照预先设置,自动执行特定任务满足使用者要求的目的。组态软件就是指一些数据采集与过程控制的专用软件。它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式实时数据库组态软件,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
2 实时数据库
2.1组态软件实时数据库结构
实时数据库及其调度系统是组态软件的关键部分,也是设计的难点部分。实时数据库系统处于工控系统各功能模块数据交换的中心位置,在组态系统进入运行环境时,工业现场的生产情况将实时地反映在变量的数值中,操作者用计算机的指令也要迅速送达生产现场,所有这一切都是以实时数据库系统为媒介。
3.实时数据库系统设计
3.1 实时数据库的设计思想
3.1.1 实时数据库系统的存储策略
我们采取传统数据库系统、文件系统和内存数据库系统兼用,利用多种存储介质来构造系统的实时数据库系统。采用的存储策略是:①对于需要长期保存的非共享数据(如采样值的数模转换系数、控制组态值等)采用文件管理系统直接存取。②对于数据量大而工控软件无特殊要求的共享数据(如操作者纪录等),将其存放在外存数据库中。外存数据库采用access数据库,由运行系统通过数据库操作语言(DML)进行存取论文格式模板。③对于每个采样周期都要更新的数据。这样,通过使用外存数据库access数据库)、文管系统和内存数据库(实时数据库),既保证了
数据的共享性、完整性实时数据库组态软件,又节约了内存,保证了系统的响应速度。
3.1.2 实时数据库系统的分析与设计
实时数据库系统包括实时数据库及其事务调度系统。利用Windows的DLL(动态连接库)和全局共享内存技术来建立系统实时数据库的设计思想,并通过给用户提供一套接口标准----实时数据库系统接口,来实现I/O驱动程序与用户程序和实时数据库系统间的高速数据传递。实时数据库系统应具有以下功能特点:
现场数据采集:实时数据库提供了与典型数据源的接口,读写通讯设备寄存器的现场值,送到开辟的摘要求的用户进程放在服务器上,由实时数据库统一调度管理。
设计方面,我们采用面向对象编程(OOP)的设计技术,将实时数据库定义为类的形式。实时数据库的功能由类的方法和专门的管理程序实现,管理程序负责实时数据库的生成、数据库的查询、数据库的实时更新以及其它任务对实时数据库的实时请求、报警响应等操作。实时数据库类根据系统要求定义了如下功能模块:
实时数据库初始化模块:实时数据库是以数据链表的方式存放在内存中,系统运行之初是按照用户组态好的数据库动态地生成实时数据库类实时数据库组态软件,并将组态数据库域的内容赋给相应实时数据库类对象的属性,完成初始化工作。
基本操作模块:提供数据对象的基本操作,如对数据对象的查找操作,通过数据对象名或ID取得数据对象的其他属性,或通过名称取得数据对象的ID等等。
读写数据操作模块:根据实时数据库类对象的属性调用其相应方法,实现数据对象的读写数据操作,将存放在数据缓冲区的现场值写入实时数据库的数据对象的现场值属性中去,读取数据对象中的当前值。
图形显示链接模块:主要完成实时趋势、动态显示、数据链接功能,使图形显示的变化与数据库对象值的变化相一致。
窗口操作模块:读取用户窗口的名称,对指定的用户窗口进行操作,读取用户窗口的当前状态。
3.1.3实时数据库的事务调度系统
系统投入运行后。同时要进行与DCS数据采集、数据处理、图形显示刷新、历史数据存盘、紧急事件报警或越位报警等事务活动实时数据库组态软件,所有的这些事务都要并行处理,如等待时间太长,则无法满足实时性的要求。这样就要求我们实现一种并行编程。在上位机上,也就是要将CPU时间按照一定的优先准则分配给各个事件.定期处理某一事件而不会在某一事件上处理时间过长。用多线程的编程技术来实现这种并行编程,实时调度各事务.如图2所示。
图2 事实数据库事务调度系统
3.1.3数据模型的建立
实时数据模型由三要素组成:组对象及其结构、组操作和关于对象与操作的约束论文格式模板。实时数据模型的约束则更突出地包括时间限制。组态软件利用系统数据进行判断,更改系统的运行状态,以维护系统正常运行。计算数据则是在利用采集数据、系统数据的基础上,经处理后提到的中间数据(由其他参数间接推出)。数据模型归结为:模拟量、开关量、字符串型三种类型。
下面重点介绍模拟量,模拟量的典型属性有:
(1)采样点标志:控制软件同意编排的采样变量标志符;
(2)采样值:若采用12位A/D转换,2型表0—10mA对应0-4095,3型表0-20mA对应819-4095
(3)工程量:采样数据变换成工程量的系数;
(4)报警限:指定最大最小值实时数据库组态软件,即报警的上、下限;
(5)变化速率限:指定参数变化速率的极限值;
经过对各种不同数据的典型属性的抽象归纳,本文定义了数据库变量统一的存储结构,下面是数据库中的数据模型。
Typedef struct tagTagParam{
Char Name[ name_length];//变量名称
Chardescribe[name_describe];//变量描述
Int index; //变量序号
Unit type;//变量类型
Unit method;//转换方式
Word access; //读写权限
Attr attr;// 变量属性(类型,访问权限,转换方式)
Long minvalue;//最小值
Long maxvalue;//最大值
Double slope;//变换系数(斜率)
Double intercept;//迁移量(截距)
Rtdata rtdata;//实时数据
Void phisdata;//历史数据缓冲区指针
Void address;//报警入口地址
} tagparam;
数据库变量的属性成员(attr)包括下列信息:
(1)变量的数据类型:整数类型、实数类型、布尔类型或字符串类型;
(2)变量的转换方式:不变换、线性变换、平方根变换、逻辑取反变换;
(3)变量的访问权限:只读或读写。
为了节省空间,数据库变量的属性信息由一个位结构存储,其定义如下:
Typedef struct tagattr{
Word type:3//类型
Method 3;// 转换方式
Access 1;//访问权限
Unused 9;// 保留
}attr;
实时数据库以及工程变换则使用联合存储,这样就能满足保存不同类型的数据值的要求。联合的定义如下:
Typedef union tagrtdata{
Long dvalue;
Double fvalue;
Bool bvalue;
}rtdata
4.结束语
实时数据库结构和功能的规划设计是工控组态软件设计的核心,本文在分析实时数据库的应用特点和关键技术的基础上提出了一个具有普遍意义的实时数据库模型及其体系结构。实时数据库技术必将成为一个新的数据库研究方向,有广阔的发展空间。
参考文献
1.马国华监控组态软件及其应用2001
2.殷民.舒坚基于ODBC的CiscoSecure ACS认证数据库的设计与实现[期刊论文]-微计算机信息 2006(22)
3.康一梅嵌入式软件设计2007
4.彭江平.黄万艮c++语言及面向对象程序设计 2004
5.丁伟新型DCS组态软件实时数据库研究与开发 2009
数据库软件范文3
【关键词】数据库设计;软件工程;作用分析
1软件工程技术的相关背景和基本概念及原理
1.1软件工程技术概述
软件工程技术是一种新兴的信息工程技术,现已被广泛的运用在人们生产和生活的各个领域。软件工程技术的开发与应用,显著的提高了计算机水平和推动了科学技术的发展,将软件工程技术运用到数据库的设计过程中也是非常常见的。传统的软件开发从某种意义上来说就是一种从“高层概念”到“低层概念”的映射,以实现高层逻辑转变为低层逻辑。但是就大型软件系统而言,软件的开发工作涵盖的内容和范围更多、更广,包含了技术人员、相关技术、开发途径以及成本和进度等许多方面,所以可以将软件工程技术综合定义为是一类可以用来满足客户需求并以软件产品和工程为对象的学科,其应用原理包括计算机科学理论和工程管理原则,主要内容是设计模式、程序语言设计和数据库等方面。早期的软件工程技术开发模型主要为瀑布式,随着科学技术,尤其是计算机技术的不断发展,其开发模型已经逐步演变成为螺旋式的迭代开发,再到目前的软件工程技术敏捷开发,软件技术不断的发展和完善,越来越成熟。当然,不管是处于哪个时期,软件工程技术都要遵守采用科学的手段进行管理,同时通过合作的形式来提高软件生产效率的基本原则,国内外的许多专家和学者通过软件工程技术发展的过程总结出了许多新的软件开发方法,并由此诞生了软件工程学。软件工程学是对软件工程技术相关理论知识的归纳与总结,很大程度上解改善了软件工程技术的现状,但是由于软件工程学科本身具有理论性强、实践局限性较大的特性,致使软件危机仍然活跃在人们的生产生活中。近年来,通过不断的研究与探索,软件工程领域出现了许多新的思想和方法,像软件再开发利用、软件自动生成器等等,推动着软件工程技术向自动化和标准化方向发展。
1.2软件设计中的工程技术分析
软件设计中的工程技术主要包含的是软件的生存周期、规格说明书以及软件设计。其中软件的生存周期主要由要求分析、规格说明、设计、编码、测试和维护这六个环节组成。前两个环节主要是根据客户的要求来进行的,要求达到明确软件设计目的的任务,后面四个环节是针对计算机系统而言的,要求通过各种技术手段来实现由之前两个环节确定的软件设计目的。软件开发的最终目的是为人们的生活服务,所以在进行软件设计的时候一定要严格执行软件生存周期中的要求分析和规格说明,也就是说一定要按客户的要求进行设计;规格说明书环节就是指把用户的需求输入并整理结果,从而得到软件的具体规格说明;软件设计环节就是通过计算机技术以及其它的一些硬件设备来实现规格说明书中的内容,最终实现软件的开发。
2软件工程技术在数据库设计中的实际应用分析
2.1用于分析数据库的可行性
使用软件工程技术,结合既有的计算机技术及人工控制条件,对数据库的经济效益、技术以及操作方便性等方面进行考察,从而实现对数据库设计任务可否完成的初步估计。在分析时要注意记录分析结果,整理并书写相关的可行性报告。
2.2用于制定数据库的开发计划
当数据库可行性的分析工作结束后,结合可行性报告,如果认为该项目具备很强的可行性,则可以开始制定该数据库的开发计划。数据库项目的开发计划内容应该包括有关人员的组成、人员的分配、项目进度、项目验收方式与验收标准和开发过程中的重点环节等等。除此之外,要注重用户界面的开发,只有方便、美观且友好的用户界面才会被客户接受,所以在数据库项目开发计划中应该包括用户界面的开发工作。
2.3用于分析数据库系统的需求
将软件工程技术运用于对数据库需求的分析工作,分析的主要内容包括:数据的需求、运行环境的需求、系统性能的需求等等。通过分析数据库的需求,可以了解建立数据库需要的软件配置标准和运行环境,从而为开发数据库提供参照标准和数据支持。
2.4用于数据库的设计阶段
数据库的设计和建立是数据库系统的关键环节。数据库的设计质量直接影响着数据库系统的运行效率和效果。一个成功的数据库软件系统一方面可以简化运算方式,提升运行效率,另一方面还可以帮助数据库的用户简便快捷的获取需要的信息,同时还需要保证数据库中数据的完整性,为完成数据库的设计提供便捷。设计数据库的基本操作是分析。首先要分析数据库的概念和结构,大致掌握用户的具体需求,然后依据这些来拟定一个数据库系统的实体联系图;其次是分析数据库的逻辑结构,将理论中的E-R图转换为程序语言,以使其与DBMS系统相匹配,从而实现将实体之间关系转化数据库系统之间的关系。另外,数据库系统的物理结构的设计内容应该包括数据的存取方法和数据的存取结构。通常,数据库的物理结构设计分为两个环节,其一是确定数据库系统的物理结构,其二是评估该物理结构的运行效率,通过综合考虑这两个环节来对数据库物理结构的合理性进行最终的评价。
2.5用于数据库的详细设计和概要设计
数据库系统的详细设计是设计程序框架,而不是编写程序。总的来说,数据库系统的概要设计分为两个阶段:第一,制定数据库系统的实施方案;第二进行软件结构设计。
3总结
总而言之,将软件工程技术应用与数据库的设计具有重要的战略意义,一方面可以提高数据库设计的工作效率,另一方面还可以增加数据库的灵活性和适应性。所以在软件工程技术的实际应用中,要不断的探索与研究,对其应用方式进行改进和完善,以保障数据库的顺利设计与建立。
参考文献
[1]曹杨帆.数据库设计中软件工程技术的作用[J].电子技术与软件工程,2016(03):202.
数据库软件范文4
关键词:数据库;软件产业;大数据
中图分类号:F124.3 文献标志码:A 文章编号:1673-291X(2013)15-0223-02
数据库软件是一种非常重要的基础软件,是中国信息化建设中需求量最大、应用最广泛的软件之一。经过三十多年的发展,国产数据库软件产业已经初具规模,国产数据库软件已经成功应用于政府、军队、教育、电力、金融、农业、卫生、交通、科技等许多行业。然而,中国数据库软件与国外主流数据库软件产品相比还存在很多差距。近年来,随着大数据的兴起,国产数据库软件企业面临诸多机遇。
一、国产数据库软件产业发展情况
近年来,在国家软件扶持政策、“核高基”重大专项以及政府采购等的支持下,国产数据库软件市场规模以20%以上的速度快速增长,国产数据库软件在中国数据库软件市场中的份额占比逐年提高。2012年,国产数据库软件市场整体规模达3.4亿元,比2010年增长32%。国产数据库软件在中国数据库软件市场的占比约为8%,比2007年翻了一番。
人大金仓、达梦、神舟通用、南大通用等企业的国产数据库软件产品的功能和性能都有长足的进步,已经成功应用于政府、军工、电信、电力、金融、教育等行业,并在政府、电信、电力等局部领域击败国外竞争对手。在电子政务领域,由于信息安全有保障、售后服务贴近用户,国产数据库软件逐渐替代Oracle、DB2、Sybase、SQL Server等国外数据库软件,加快了政府部门软硬件全国产化进程。
国产数据库软件在越来越多的行业得到应用。在军工行业,神通数据库已成功应用于火箭、神舟飞船等型号设计。在电力行业,国家电网调度通信中心采用了达梦数据库作为基础平台。在电信行业,中国联通统一综合结算系统采用了神通海量数据管理整体解决方案。在金融行业,中国农业银行、民族证券采用了人大金仓数据库。
二、国产数据库与国外数据库的差距
虽然国产数据库产业发展取得了长足的进步,但与欧美发达国家相比,在市场、技术、应用等方面还存在较大的差距。
从市场角度看,国产数据库在市场宣传方面做得还不够,成功应用案例少。国内许多单位的CIO们对国产数据库认知、认可程度低,采用国产数据库的单位还很少。
从技术角度看,国产数据库软件企业研发投入少,核心技术人员少。Oracle每年研发投入10多亿美元,而国产数据库软件企业的研发投入一般只有几千万元人民币。Oracle公司的核心技术人员有五六百人,而国产数据库软件企业一般只有七八十人。在技术方面,国产数据库比国外数据库落后五至八年。
从应用角度看,在简单应用方面,国产数据库与国外数据库没有差别。两者差距主要体现在高端应用领域,如电信、金融、社保等。这些高端应用的特点是“大用户、大数据”。用户特别多,并发量很大,数据海量。国产数据库在关键技术、产品稳定性等方面与国外数据库还有一定差距。
三、国产数据库软件产业发展对策
建议有关政府部门加强对数据库软件在软件产业中的基础性作用的认识,进一步加大对国产数据库软件研发的资金支持力度。在电子党务、电子政务、军队信息化建设中,同等条件下优先采购国产数据库软件。对国产数据库产品使用过程中出现的问题,应适度宽容。加强协调,注重引导,为国产数据库软件发展创造良好的环境。严格落实软件知识产权保护制度,依法打击盗版等各类侵权行为。鼓励、支持国产数据库软件企业通过并购等方式进行产业链整合。支持符合条件的国产数据库软件企业上市融资。支持国产数据库软件企业开展面向“云计算”、“大数据”的数据库产品研发和应用推广。支持数据加工、联机分析、数据挖掘等数据服务业发展,以带动国产数据库软件产业的发展。国产数据库软件起步晚,但近年来发展速度较快,政府部门对国产数据库软件要有信心和耐心,要下定决心支持国产数据库软件产业的发展。
数据库软件范文5
数据库重构不仅适用于新数据库开发,也适用于正在进行维护和修改的现有数据仓库。在数据库重构过程中要高度结构化和安全化,确保被其支持的应用程序正常运行。出现如下情形时数据库必须重构。
(1)有太多的行和列数据库中的表展现了其在性能方面存在的问题,通常数据库包含一些含有10多亿行的表,像这种情形可能更适用于分段数据库或系统记录资料库。
(2)出现多功能表和多用途列用于数据语义的列在很多情况下取决于上下文是否需要重构。例如,使用一个数据列存储用户生日还是雇员日期,取决于记录指代的是一个用户还是一个雇员。表缺乏内聚力,其中的一列不能完全明确用途,试图存放来自多个不同实体的数据,这种情况下需对列进行处理。(3)存在冗余信息重复数据展现了数据不一致的可能性,例如,在多个源数据系统中客户信息是重复的,解决数据重复是数据库的功能之一。
(4)存在复杂的ETL现象当ETL包中存在太多流动路径和复杂的变换节点时,故障排除和维护就变得困难。围绕这些多用途的ETL对象,编写测试用例会很困难,因此,建立简单、单一用途的ETL对象集合并使用序对象链接它们是非常可取得。
(5)存在大型SQL模块当一个SQL脚本或者预存程序视图完成太多内容时,它经常会是一个很大的、包含多个SQL语句的脚本。这样的脚本存在着代码重复的风险,所以应该分解为一小组独立的、高内聚低耦合的模块。
(6)存在不符合的维度有两个或两个以上维度,并包含重叠数据的多维度数据模型会引起数据重复和不一致性,必须创造单一的、多功能的维度来避免这个问题。
(7)滥用物化视图有索引的视图或物化的视图是现代关系型数据库管理系统的一个很强大的功能。明智地使用,它们可以是数据存取和基表物理实现之间的一个有效缓冲区。然而,滥用物化视图会严重地混淆数据库设计。
(8)物化视图利用不够如果数据库仅仅依赖访问基表,那么就存在脆弱性的风险。也就是说,这些基表物理实现的轻微变化,会对这些基表的不同访问器产生意想不到的效应。物化视图的选择需要在查询性能、视图维修成本和基表灵活性之间取得适当的平衡。
(9)过度依赖文档数据库中的表、列、脚本、预存程序、ETL模块和其他组件,如果在没有所附文件的情况下难以理解,那么表明它们可能需要重构。和软件一样,数据库中的组件需要自我记录和自我解释。干净的设计可以减少对文档的需求。
2如何重构
(1)验证重构是否适当首先应思考如下问题:①这个重构有意义吗?②现在所做的修改真的需要吗,是否可向后推迟?③修改后在哪些方面得到优化?
(2)选择适当的重构一旦确定要进行重构,一定要选择一个适当的重构。有时候需要评估对重构可能产生影响的数据模型等其他领域。例如,某一个项目团队可能希望引入列在财务表中添加结余,但是没有意识到客户表中已经存在表示结余的列,在这种情况下,移动列将是一个最合适的重构。
(3)弃用原有的架构当用一个产出的数据仓库重构一个数据模型时,可能需要建立一个过渡或折旧时期,确保所有BI应用能够正常地工作。在此期间,原始架构和重构架构并行运行。一个BI应用使用原始架构或新架构,但不是两个都使用。两个架构的数据必须同步,以确保BI应用无论使用哪个架构都能正常工作。在折旧期,BI应用被修改,并从过时的架构移动到新的架构。最后,过时的架构下线,开始最终测试,确保没有数据损坏。折旧的过程需要尽可能自动化,以确保重构期间无缝转变。
(4)在之前、之中、之后测试安全更改数据模型的唯一方法是有一个健康的在任何时候均可运行和重复运行的测试组,并与更改紧密相连。在开始更改之前,要确保所有测试全部通过,并评估测试组的完整性,增加任何希望拥有的测试用例。测试BI应用数据架构的所有方式。此外,要创建一个测试组来验证数据迁移策略。测试所有BI应用,确保它们在数据或者行为中不发生更改。最为重要的是,为新引入的架构更改增加新的测试,删除过时或无关的测试。测试自动化是在整个数据库重构过程中唯一可行的测试或复验方法。
(5)修改数据库架构可使用小的、高度凝聚的、脚本化的变化来实现已经计划了的重构。使用测试驱动数据库开发方法进行很小的测试,建立一个可以持续使用的回归测试组。编写完新代码并通过新测试,检查这些更改已经在版本控制系统中。
(6)迁移源数据许多重构需要把数据从旧架构迁移到新架构中,尤其当重构是一个产出的数据仓库时。移动数据重构是专门针对此项而进行的设计。但有时候,如何提高数据质量是重构的一个目标,可进行一个或多个数据质量重构,例如,采用标准版本或者引入通用格式这样的重构。数据迁移也应该编写脚本,但其需要经过测试,以证明支持数据迁移。
(7)重构外部访问程序通常这涉及让BI应用适应新架构,但也有可能涉及修改访问数据仓库的自定义程序。修改这些外部程序需要遵循规范的重构步骤。
(8)运行所有测试所有测试都必须在重构前进行,所有在重构过程中添加的新测试也需要在完成重构之后全部通过。理想情况下,让所有测试自动化进行,并且在重构期间重复第运行它们。
(9)控制版本确保向版本控制系统提交所有修改过的文件和新文件,包括任何新部署或修改过的脚本或ETL对象、测试数据、生成代码、测试用例、文档和模型。
(10)宣布重构向数据仓库和商业智能团队中的每个人宣传重构。除了直接访问数据仓库内部架构的所有团体之外,确保所有人都正确地使用新架构。
3结论
数据库软件范文6
【关键词】Oracle;高可用性;数据泵
0 引言
随着船舶设备软件的飞速发展,数据库已经成为其组织和管理数据的必需成员。由于Oracle数据库相对其他数据库显现出稳定性好、安全性高、数据处理性能强等优点,逐渐成为船舶设备软件数据库的首选。Oracle数据库高可用方案往往需要资深的数据库管理工程师的配合与维护,而船舶设备软件的操作船员无法实现相关维护。根据Oracle数据库的高可用方案的功能与使用方法,结合船舶设备的使用特性,提出了一套适用于船舶设备软件的Oracle数据库方案,对船舶设备软件数据库的应用具有一定的借鉴意义。
1 Oracle高可用方案概述
高可用性有两种不同的含义,在广义环境中是指整个系统的高可用性,在狭义方面一般指主机、服务的冗余。高可用性不仅包含了系统本身故障、应用层的故障、网络故障、人为操作的错误等,还包含数据的冗余、容灾及计划的维护时间等。
1.1 Oracle RAC
RAC通过不同的节点使用一个或多个Oracle实例与一个数据库连接,该数据库存放于多个节点的公用存储上,通过高速缓存合并技术使得集群中的每个节点都可以通过高速集群互联高效的同步其内存高速缓存,从而最大限度的降低磁盘IO,并自动并行处理及均匀分布负载,当其中一个节点发生故障时,可以自动容错和恢复能力来实现节点的故障切换,从而保证数据库长时间的高效可用。
1.2 Oracle Data Guard
Data Guard一般包括两套数据库环境,一台主要数据库,一台备用数据库,与RAC不同的是只有一个节点处于活动状态,所有应用都连接到主服务器上,只有当主服务器发生故障才考虑切换到备用服务器。Oracle Data Guard可以实现数据库主机及存储的完全冗余保护,该冗余甚至可以跨地域做成容灾保护,是Oracle主推的容灾产品。在这种模式下,主数据库必须运行在归档模式下,以保证备用节点的数据一致性,因此该特性并不适合数据仓库。
2 适用于船舶设备软件的Oracle数据泵方案
Oracle数据泵方案利用Oracle数据泵技术,结合操作系统脚本与计划任务,搭建一套适用于船舶设备软件使用环境的数据库方案。该方案以Oracle 10g数据库与Solaris 10操作系统为例进行数据泵的搭建。
2.1 Oracle数据泵技术介绍
Oracle 10g的数据泵技术能够帮助用户将数据库的数据和元数据快速移动到另一个Oracle数据库中。数据泵导出是使用EXPDP工具将数据库对象的数据或元数据导出到转储文件中;数据泵导入是使用IMPDP工具将转储文件中的数据或元数据导入到Oracle数据库中。数据泵导入导出可以再数据库用户之间、数据库之间进行数据的移动。
2.2 数据泵方案
使用两台数据库服务器,分别安装Oracle 10g数据库,每台服务器拥有独立的存储,一台高配置的服务器作为主数据库服务器,另外一台作为备用数据库服务器。
数据泵方案的基本内容如下:
(1)将主数据库导入到备用数据库的命令形成脚本,在备用数据库所在操作系统通过计划任务定期运行,而不需要对主数据库服务器进行任何配置;
(2)在完成主数据库导入到备用数据库操作后,使用EXPDP工具将备用数据库导出到备用数据库服务器本地文件系统;
(3)每一天夜间对主数据库进行数据泵导出,导到主数据库服务器本地文件系统,在主备数据都出现故障时恢复数据使用;
(4)当系统管理员需要对数据库进行及时备份时,可以直接调用备份脚本;
(5)编写主数据库自动启动脚本,使主数据库服务器开机后自动启动数据库服务,并启动数据库监听;
(6)编写主数据库自动关闭脚本,使主数据库服务器关机时自动关闭数据库服务;
(7)编写备用数据库自动启动脚本,使备用数据库服务器开机后自动启动数据库服务,但不启动备用数据库的监听程序;
(8)编写备份数据库自动关闭脚本,是备用数据库服务器关机时自动关闭数据库服务。
备用数据库同步与备份脚本如图1所示:
图1 备用数据库同步与备份脚本
在使用主数据库时,主数据库的监听程序处于启动状态。当发生故障时,关闭主数据库的监听程序,启动备用数据库的监听程序,令备用数据库对外提供服务。
上述备用数据库从主数据库中同步数据的脚本运行周期需要适当地选取。不同的数据库环境同步的时间是不相同的,从几分钟到几十分钟不等。如果在一次同步尚未结束时,又开始了另一个同步操作,虽然不会出现错误,但会出现排队现象,主数据库的性能也会降低。选择同步的周期可以根据使用数据库的频率和新增数据的重要性来选取。
另外,数据泵方案使用的是Oracle数据库的逻辑备份工具,解决的是数据库数据失效的问题,对于物理文件的恢复不具有解决能力
3 数据泵方案的测试
3.1 测试环境与工具
测试环境的主数据库机器选择Sun Fire V490服务器、双核1500MHz的CPU、8G内存,备数据库机器选择Dell OPTIPLEX780台式机、2926MHz的CPU、2G内存。使用Quest Spotlight On Oracle测试工具监视Oracle数据库服务性能,包括CPU、内存、网络的使用情况;Benchmark Factory测试工具测试数据库性能和扩展性,在非生产环境下模拟成千上万用户在实际数据库上的事务处理。
3.2 测试内容
(1)在备用数据库上运行脚本,一次将主数据库scott用户的所有对象导入备用数据库。结果:导入成功,耗时4分钟。
(2)在备用数据库上运行脚本,仅将主数据库scott用户的表数据导入备用数据库,导入数据量500M。结果:由于备用数据库在做改变时不断写归档日志,当归档日志空间未满时,耗时3分钟;当归档日志空间已满时,不能完成导入。
(3)将备用数据库改为非归档模式,在备用数据库上运行脚本,仅将主数据库scott用户的表数据导入备用数据库,导入数据量为500M。结果:导入成功,备用数据库在做改变时不再写归档日志,耗时2分钟。
(4)在主数据服务器上运行脚本,将主数据库scott用户的表数据导出到主数据库服务器文件系统,即生成dump文件。结果:导出成功,耗时小于2分钟。
(5)联机重做日志设置为3组,每组3各成员,每个成员50M。联机重做日志在备用数据库所在操作系统上设置计划任务,每3分钟同步一次。结果:运行2天后,联机重做日志写入出现故障。
(6)联机重做日志设置为7组,每组3个成员,每个成员200M。联机重做日志在备用数据库所在操作系统上设置计划任务,每5分钟同步一次。结果:运行8×24小时,正常运行。
3.3 测试结论
数据泵方案能够满足功能以及特定的性能需求,操作简单。数据泵方案的同步过程会不断的修改备用数据库,产生大量重做日志,如果重做日志的组数较少,会导致一组日志尚未写完,又一个写操作已经来临,可能导致重做日志写失败使重做日志损坏。因此备用数据库要指定多组重做日志组,每组的成员不能太少,如果备用数据库处于归档模式,很快归档空间就会装满导致数据库无法启动,因此备用数据库处于非归档模式。
4 结束语
通过对Oracle数据泵方案的测试,此方案得到了验证。Oracle数据泵方案能够有效的满足数据库高可用性,同时兼顾方便船员的使用,充分考虑了不同的使用环境、不同使用需求,提高了设备软件数据库的可用性、可维护性。此方案在应用时,用户应当根据具体需求,考虑调整同步的周期、数据库日志的配置以及对应的备份策略等方面的问题。
【参考文献】
[1]吕海波.Oracle内核技术揭密[M].机械工业出版社,2014,09:113-149.