教你 Informix 数据库的安全备份

日期:2008-6-20来源:ccidnet

  在SCO Unix下备份Informix数据库,一般的做法是通过tbtape或ontape命令在磁带介质上作各级备份。磁带备份具有使用灵活、存储方便和成本较低等特点。但是,采用磁带备份也会带来因磁带质量不佳而产生的可靠性问题。当所存储的业务数据的安全性和完整性至关重要时,我们就需要采用更安全的数据备份方法,例如双机热备份等等。这些方法相对来说十分可靠和安全,并且实时性强,可是所需要的软硬件投资很大。在实际工作中,我们找到了一种比较经济实用的方法,采用另外的一台计算机实现备份,即异机备份。

  一、备份的思路

  下面介绍一种方便实用而又十分安全可靠的Informix数据库文件异机备份方法,其指导思想是充分利用现有的软件和硬件资源,利用SCO Unix 5.0捆绑的NFS网络协议。为此,需要编制一个脚本,将Informix数据库文件于每个工作日夜晚的某一时刻自动备份到另一台SCO Unix主机上,这台主机有可能是企业升级主服务器后淘汰下来的闲置设备,或者是一台性能稍低、经过扩充硬盘后专门用于备份数据的服务器。备份机上可以没有安装Informix数据库管理系统,也不需要像双机热备份那样需要复杂的软硬件支持,一台普通的SCO Unix服务器就足够了。备份的方法是,首先在用于备份的主机(下面简称备份机)上安装NFS网络协议,再建立专用的备份目录,比如/u/archive,然后将此目录"输出"(export)到网络中。在运行Informix数据库的主机(下面简称主机)上先"安装"(mount)备份机的/u/archive目录到本机的某个目录,比如安装到/mnt目录,再利用Informix用户的定时文件/etc/cron/crontabs/Informix,自动在某一指定时刻使用数据库迁移命令dbexport进行备份。

  这个备份方法的最大优点是安全可靠,因为是异机备份,所以主服务器的崩溃与否不会影响到备份机; 另外,硬盘的可靠性本身就比磁带高得多,所以备份数据十分可靠。dbexport命令一般用于数据迁移,这里我们用它来备份数据,主要优点是: 首先,该命令除了备份数据外,还会在备份盘上用SQL语句写上数据库里各种表的结构和授权方式等信息,便于系统管理员在系统崩溃后重新建数据库,即使我们建数据库时的各种原始参数丢失了都没有关系,不像用ontape命令在磁带上写的备份数据,其格式只有在磁带机上才能阅读; 其次,因为不同的主机位于不同的物理位置,大大提高了数据的安全性和隐蔽性; 最后,系统的运行方式是通过自动定时文件的方式来完成的,时间可以由系统管理员任意选定,增加了备份的灵活性。采用这种方法和原有的磁带备份相结合,可以真正做到重要业务数据的万无一失。

  二、备份的实施

  实现异机备份的条件是,企业已经有了一个运转良好的计算机局域网,并且有通过TCP/IP连接到一起的2台SCO Unix主机,假设一台机器命名为app01,其IP地址是10.100.0.11,把它作为备份机使用;另一台机器命名为app02,其IP地址是10.100.0.22,是运行Informix数据库的主机。要求SCO Unix操作系统的版本为5.0以上,这点很重要,因为只有5.0以上版本的SCO Unix才捆绑备份所要用到的网络协议--Sun公司的NFS网络协议。此外,使用OperServer 3.0企业版或类似的版本也可以,这种版本也捆绑了NFS协议。以下是详细的操作步骤。

  第一步:配置和检测网络协议

  在备份机app01上以root身份登录,然后使用netconfig命令检测系统是否除了TCP/IP外,已经配置好NFS网络协议,若还没有配置,则增加该协议。

  第二步:建立关联

  用root身份在备份机app01上的/etc目录下建一个文件,文件名为exports,不用设置文件的属性,在文件中写上以下一行内容:

  /u/archive -accesss=app02
 
  说明:/u/archive是我们已经在独立分区建好的一个空目录,预留的空间应该比较大,以便于存放数据库的数据。参数access的意思是只允许名为app02的主机访问这个目录,从安全的角度考虑,这样设定是必须的。注意: 这里此目录是读写属性,不能定义成只读属性,否则我们无法通过网络在此目录区写信息。假设app02主机的IP地址是10.100.0.22,在备份机app01的/etc/hosts文件中应该有以下一行内容:

  10.100.0.22 app02
 
  存盘退出后运行命令exportfs:

  # exportfs /u/archive

  这个命令的含义是将目录/u/archive输出到网络上,您只需要运行一次即可。以后系统在重新启动时,会自动将/etc/exports文件中定义的目录按规定的属性输出到网络上。

  在备份机运行exportfs命令检测一下:

  # exportfs

  系统显示如下信息:

  /u/archive -access=app02
 
  这表示我们已经成功地将目录/u/archive输出到网络上。

  第三步:配置主机

  首先在app02主机上对备份机刚刚输出到网络的目录进行安装和测试。以root身份登录,运行如下命令:

  # mount app01:/u/archive/mnt

  注意:主机app02的/etc/hosts文件中应该有如下一行:

  10.100.0.11 app01
 
  10.100.0.11是备份机app01的IP地址。运行上述mount命令后就把备份机app01上的目录/u/archive映射成了主机app02上的/mnt目录。

  注意上面的最后一行,系统告诉我们,/mnt目录现在映射的文件系统是备份机app01上的目录/u/archive,已用空间达76%。上面的信息表示主机和备份机的TCP/IP网络、NFS等运行等一切正常。

  在app02主机以Informix身份登录,确认此时只有您一个人在使用数据库,否则采用onmode -s命令进入静态后,再执行onmode -m命令进入online状态,运行下面的命令

  $ dbexport database1 -c -q -o /mnt
  $ dbexport database2 -c -q -o /mnt

  这样,我们就把主机app02上的2个Informix数据库文件database1和database2备份到了备份机app01上的/u/archive目录下。在备份机上检查/u/archive目录,会发现已经有了主机app02上database1和database2的数据库文件。

  三、备份的方法

  现在我们看看在主机app02上用数据迁移命令配置自动定时备份的具体方法。假设主机上app02已经给Informix用户授予了运行mount和umount的权限,我们在Informix的根目录下编制一个shell脚本,脚本的算法结构如下:

  用ping检测与备份机网络连接正常与否?

  if 正常 then

  安装备份机的/u/archive目录到本机的/mnt目录

  使Informix保证单一用户状态

  用数据迁移命令dbexport逐个输出数据库到/mnt目录

  if 备份成功

  发送备份成功的邮件给Informix用户

  else

  发送备份不成功的邮件给Informix用户

  end

  卸载(umount)/mnt

  else

  发送网络不通、备份不成功的邮件给Informix用户

  end

  shell脚本编制完毕后,假设脚本名叫backup,设置为隐含和可执行,以便防止用户无意读写破坏脚本文件。可以在存盘时在文件名中加上一个控制符^A。这样,在列表显示目录时,该文件名看起来一切正常,但是实际上在中间隐含了一个控制符,不知道控制符的人永远打不开这个脚本。在$提示符下运行crontab -e命令,编辑Informix用户的定时执行文件,在文件中加上这样一行:

  30 23 * * 1,2,3,4,5 /u/Informix/back^Aup
 
  存盘后退出即可。上面一行的意思是,在星期一至星期五的晚上11点30分,系统自动运行文件/u/infomix/backup。

  至此,采用数据迁移方式通过NFS网络协议将Informix数据库备份到异地主机上的操作就基本上到此为止了。我们采用这种备份方式之后,至今一直十分可靠,并且在一次主服务器的意外崩溃的情况下,使用备份机的业务数据成功地恢复了数据库。

  实际上,可以对上述方法举一反三。比如,若我们尚未配置磁带机或磁带机发生故障,或根本不打算把数据备份到磁带机上,可以先在备份机app01上的独立分区内建立2个目录,一个叫/u/archive,用于存储主备份数据;另一个叫/u/logfile,用于存储逻辑日志。然后将这2个目录加到/exports文件中。在主机app02上运行mount命令,将备份机的上述2个目录分别安装到主机的/archive和/logback目录上,再运行onmonitor命令,将Informix的主备份磁带设备定义为/archive目录(这也是SCO Unix的优点之一: 系统将所有外设都作为文件系统来管理,反之亦然),逻辑日志的磁带设备定义为/logback目录。这样,当使用tbtape或ontape命令进行备份时,系统实际上是将数据写在备份机的/u/archive目录下,而逻辑日志写在备份机的/u/logfile目录下。

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Informix数据库>更多

  • 趣解数据库市场竞争格局

    数据库咨询顾问Curt Monash对数据库技术的发展格局进行了趣味解读,包括如Oracle、IBM、Sybase鞥厂商之间的竞争关系。

  • 盘点数据库2014:一步之遥到云端

    年终将至,盘点开始。数据库技术重换青春,市场竞争也达到了前所未有的激烈程度。可以肯定的是,数据库未来将沿着“云”和“大数据”这两个主要方向发展。

  • IBM 2014技术峰会开幕 “融合(Mix)”成今年主题

    IBM 2014技术峰会今天在北京正式拉开帷幕。在本次大会上,IBM全面解析了应对数字经济时代发展的全新“组合式业务”(Composable Business)理念。

  • SAP针对HANA发布最新预测分析软件

    SAP日前宣布将推出最新的预测分析软件BusinessObjects Predictive Analysis,它将以两种方式发布,一种是独立的软件平台,另外一种是与SAP HANA进行集成。

相关推荐

  • DBA五大致命失误:你的备份可靠吗?

    每个人都会犯错,DBA也不例外。不过DBA犯错时,通常他们也是第一个发现错误,并立刻修正错误。但,有些错误是不可原谅的。那什么样的失误会让DBA可能丢掉工作饭碗?

  • MySQL到OpenStack Swift的备份与恢复

    在OpenStack中MySQL数据库的使用很普遍。OpenStack核心服务计算(Nova),存储(Cinder),Neutron(网络),镜像(Glance)和认证(Keystone)都使用MySQL数据库。

  • 有效的MySQL备份与恢复

    如果您接手了一个MySQL生产系统,但不确定它是否运行了MySQL备份策略,这时需要做哪些保障措施呢?

  • 非DBA人士要不要接受数据库知识培训?

    对于IT业内人士来说,想成为合格的SQL Server DBA或程序员似乎必须先接受培训才行。然而,对于不想成为DBA或程序员的人来讲,SQL Server相关培训也是必要的。

技术手册>更多

  • 限制用户的访问权限

    在上一个技术专题中我们提到了数据库安全,本篇继续介绍数据库安全的内容,包括如何限制用户的访问权限,并详细阐述了有关如何限制单一用户的访问权限、限制多个用户的访问权限、确保不同用户的安全以及如何限制用户使用其他方式访问数据库这四个方面的内容。

  • 2008年Oracle Top 10专家答疑

    无论你是否有Oracle错误、备份、升级或Oracle相关工作问题,SearchOracle.com就会有一个专家小组帮组你。今年我们的专家回答了所有以下的话题的问题。在这里我们一起回顾一下2008年最受欢迎的专家答疑。

  • SAP HANA实用手册

    在选择SAP HANA的时候,CIO需要关注哪些问题?在产品的选型、实施与上线阶段,都有哪些经验可以借鉴?在本次的TechTarget电子书中,我们将为您一一解读。它也将成为企业选择HANA时,最有实用价值的参考资料。

  • SQL Server 2008 R2中文教程

    微软最新的数据库管理平台SQL Server 2008 R2正式发布已经有半年多的时间了,虽然真正部署的用户并不多,但是有许多企业已经在筹划将SQL Server迁移到R2平台了。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • SOA
  • 云计算
  • 商务智能