分析Linux系统下DB2数据库的备份与恢复方法

2013-06-25 08:45于顺森
中国信息化·学术版 2013年3期

于顺森

【摘 要】所谓的Linux为一种自由与开放的unix电脑操作系统,它存在着很多不一样的Linux类版本,不过其均采用了Linux内核。要提到的是,Linux可以安装于各种类型的计算机硬件设备中,例如平板电脑、视频游戏控制台、大型与超级计算机一级手机。路由器、台式电脑等。Linux为一个前卫的操作系统,现阶段世界上运算速度最快的超级计算机其使用的均为Linux的操作系统。原则上讲,Linux其本身只是表示Linux内核,不过实际上人们早已习惯使用Linux来表述整个的基于Linux的内核,同时采用GNU工程中的各种工具以及Database的操作系统。由于Linux操作系统使用较为广泛,接下来,本文通过详细的Database故障实例进行分析,且就Linux操作系统中DB2 Database的备份和恢复进行研究探讨,希望对有关工作者能有所帮助。

【关键词】Linux操作系统;DB2数据库;备份恢复

【中图分类号】TP309.3 【文献标识码】A 【文章编号】1672-5158(2013)03-0166-02

Linux一般被用于服务器的操作系统,主要是由于它的UNIX背景、廉价以及灵活性。通常,以Linux系统为基础的LAMP技术,不但已经在开发者人群中广泛使用,同时提供了网络服务供应商经常使用的平台,由于Linux成本较低以及高度的可设置性,这使得Linux经常被使用在嵌入式系统中比如移动装置、机顶盒以及移动电话等。基于Linux使用功能较为强大以及应用范围较广等特性,本文将分析研究Linu操作系统下DB2 Database(即DB2数据库)的备份与恢复,以此为广大使用者提供方便。

1.DB2数据库

该数据将为IBM集团研发的一种关系型的数据库操作系统。DB2数据库系统主要使用于大型的应用系统中,该数据库具备较好的可伸缩性,能够支持从大型机至单用户环境,使用在Windows等平台下。它提供了层次较高的数据、完整性、可恢复性以及利用性、安全性,和小规模至大规模应用程序中的执行能力,有着和平台无关连的SQL命令以及基本功能[1]。DB2使用了数据的分级技术,可以使得大型机数据很快捷的下载至LAN 数据库系统服务器,致使服务器用户与基于LAN基础上的应用程序能够访问大型机数据,且使数据库系统远程连接与本地连接的透明化。它最大的优点是有着一个非常完美的查询优化器,它的外部连接有效的改善了查询的性能,且支持多任务同时查询。同时,DB2有着非常好的网络支持功能,各个子系统能够连接成千上万个分布式用户,能同时激活一千多个活动线程,特别适合大型的分布式应用系统。

DB2 数据库系统不但能够提供主流的VM操作系统,和AS/400系统(为中等规模),同时International Business Machines Corporation(即IBM公司)还提供了跨越平台(主要包含基于UNIX中的Linux,SunSolaris,和hpux、SCOUnixWare;另外,用于个人电脑中的OS/2的操作系统,和微软公司的Windows XP与其早期研发的系统)中的DB2产品[2]。我们知道,DB2 数据库系统能够借助使用微软公司的开放数据库系统连接(即Open Database Connectivity)接口,同时Java 数据库系统连接(Java Data Base Connectivity)接口,或是Common Object Request Broker Architecture接口代理被所有的应用程序访问。

本世纪初,IBM公司(即International Business Machines Corporation)全球同步发行了一款有着划时代意义的数据库系统产品——即DB2(“DB2”为IBM 数据库系统产品系列的名称)。此数据库系统最大特点就是率先实现了能扩展标记语言以及关系数据之间的无缝交互,而并不需要考虑数据的位置、格式以及平台。

2.DB2 Database(即数据库)的备份

首先,在一台型号是IBM XSETIES 225的服务器上,将Red Flag的操作系统、以及DB2 数据库系统和Fix pack相关软件安装好,借助参数配置以满足某应用系统的运用,其系统运行正常。

有关DB2 数据库系统备份的分类:第一类,按照备份对数据库系统的使用影响可以分为脱机备份(同时也叫冷备份或者离线备份)以及联机备份(可称为热备份或者在线备份):在线备份时其数据库系统仍然能够供用户使用,离线备份时,一定要断开所有和数据库系统连接的应用[3]。第二类,按照数据的备份范围可以分为增量备份以及完全备份,增量备份为备份数据库系统中的部分数据,而完全备份则是将数据库系统中的全部数据进行备份。

依照此应用系统的数据库系统情况以及业务的需求,其数据备份每周实施一次离线完全备份,详细的实施方法是:编写脚本文件,其名字是3dbbackup,每周固定的时间对数据进行备份,其备份的内容是三个主要数据库系统:db03、db10以及db02。当然,为了保障数据的安全,其系统管理员需在备份之后的第二天早上将备份内容复制于移动硬盘中,并将半年的备份数据保留,同时为了空间的限制,每个星期只保留一份最新的备份文件。

3.故障的发生和分析

当系统的管理人员对系统进行日常检查时,如果发现使用普通的用户名登录其系统界面之后,所得到的系统提示为无法访问数据库系统。

在这种情况下,首先需要检查其服务器上的数据库系统文件,此时会发现脚本文件用户下的所有文件都消失了。于备份任务所指定的文件夹中,无3db文件夹,同时也没有任何数据库文件文件,就好像数据库文件在一夜之间就消失的无影无踪。

然后,登录WAS(全称为Websphere Application Server)管理控制台,之后在“资源”下的数据源中,而对于日常的三个数据源即db10、db03以及db02,测试时提示为“测试节点其localhost中的服务器(即serverl)中的数据源(指db01)失败,包含有下面的异常:SQLCONNECT、java.spl.solexception以及java.lang.unsatisfiedlinkerror。之后查看JVM日志,以此获得进一步的具体信息” [4]。此种情况初步判断为因为数据库系统文件丢失引发的系统故障。

下面分析研究故障原因,因为故障出现的时间是在数据备份之后的第一天,不过数据备份的当系统的运行都正常,另外备份的文件也不见了,这显示备份没能成功执行。将备份脚本(即3dbbackup)打开,逐行分析研究命令,显示:假若3dbbackup文件夹本身不存在的话,而$cd$i以及$cdbf此两条命令没能执行成功,致使$rmrf$i的命令执行之后,其删除的为db2admin中的和数据库系统文件同名的一些文件。此问题为之前编写脚本的时候出现的疏忽,没能充分考虑到假若3dbbackup不存在的情况下,在执行备份时会将db2admin中的某些数据删除掉。

4.数据库(即Database)的恢复

如果数据库系统文件被完全破坏,那么事实全面整体恢复为最佳的解决方法。Database恢复步骤如下:

(1)修改Database配置

首先Database所在表面空间为mdmspae,所以新建其mdmspae的文件夹,同时修改权限是888。也就是**chok888#mdmspae[5]。其次,修改Database配置,并支持联合视图。

(2)Database db03、db01以及db02的恢复

首先*su-db3admin,其次$db3disconnrct all。最后切换至备份文件所处于的目录在,$db3 recyoro db db03。接下即可恢复Database db03。

(3)当Database回复完之后,需重新启动服务器

当服务器启动之后,根据开机操作,将WEBSPHERE以及db03启动,即系统正常运行。