下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何对Informix数据库进行备份与还原?

作者:课课家教育     来源: http://www.kokojia.com点击数:1702发布时间: 2018-10-29 14:13:05

标签: 数据库Informix数据备份

  Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义/检查等特性而得到广泛应用。对于使用中的数据库,数据备份的安全可靠性便成为人们关注的焦点。我们先来看一下Informix:数据库备份与还原:

  情景假设:

  最近在职场中遇到一个问题:移库

  将原来的A库的数据全部导入B库(典型的数据库备份还原)

  环境:Informix

  两条指令:

  dbexort

  dbimport

  准备:

  确保数据库无连接,不是停服务,而是将所有的数据库连接断开

 准备:    确保数据库无连接,不是停服务,而是将所有的数据库连接断开

  备份:dbexport

 备份:dbexport

  还原:dbimport

 还原:dbimport

  根据以往经验,小编对Informix-Online数据库常用的三种数据备份方式加以归纳和比较。下文所讲备份大多是备份到磁带上的热备份方法。

  一.使用ontape工具进行数据备份

  1.ontape工具的功能

  ontape工具具有如下功能:备份和恢复Online数据、备份和恢复逻辑日志、改变数据库日志状态等(本文着重介绍数据备份功能)。

  2.执行ontape备份数据的语法

  ontape备份语法为:

  ontape-s-L备份级别(0、1、2)

  在online处于联机或静止方式时,Informix用户或具有DBA权限的用户可以通过执行上面的命令进行备份。根据备份方案安排进行0级、1级、2级备份。0级备份是对整个数据库的所有数据进行完整备份;1级备份是只对0级备份以后修改过的数据进行备份;2级备份只是对1级备份以后修改过的数据进行备份。

  3.使用ontape工具进行数据备份需要注意的问题

  1)在执行ontape备份前要对Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。

  2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。对银行等重要部门数据,应每天进行0级备份。

  3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、Onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。

  4)必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,Informix-online将拒绝执行备份操作。必须先备份已使用过的逻辑日志,然后才能进行数据备份。

  5)保留Onconfig文件副本。在进行0级备份后,应备份Onconfig文件,因为在恢复0级备份时需要读Onconfig文件信息,如果online配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。

  6)备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,否则备份会被中断。

  7)不要使用后台方式执行备份命令(Unix下的&&),因为备份采用交互方式进行。

  二.使用dbexport命令进行数据备份

  1.dbexport命令简介

  dbexport命令以ASCII码格式将数据写到文件或备份介质上(如磁带)。dbexport卸出的文件包括数据库模式文件和数据文件。

  2.dbexport命令语法如下

  dbexport[-X][-c][-q][-d][-ss][{-o-t-b-s[-f]}]

  以上命令中参数的意义如下:

  <>中包括的内容为必选项,[]中的内容为可选项。

  -c:指示如果没有错误,则输出全部信息。

  -q:在标准输出设备上不显示错误信息、警告和所生成的SQL数据定义语句。

  -d:仅输出blob描述符,不输出blob数据。

  -ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent的大小、上锁方式、表所驻留的dbspace等信息。

  -o:指定数据输出文件的磁盘目录。

  -t:指定数据输出文件的备份介质名称。

  -b:指定备份介质块大小。

  -s:指定备份介质的最大存储量。

  -f:用于指定存储在备份介质上的模式文件名。

  database:指定备份的数据库名称。

  使用dbexport功能及需注意的问题

  1)执行dbexport命令必须是Informix用户或具有DBA访问权限的用户;

  2)用dbexport备份的数据必须用dbimport命令恢复;

  3)用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息;

  4)dbexport以独占方式(exclusivemode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作;

  5)模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型);

  6)用户可以使用dbexport/dbimport命令,将Informix-online和Informix-SE下的数据进行相互转换;也可以将数据在Informix-online的不同版本之间转换,这种转换对数据库服务器的结构和online的配置没有特别要求;

  7)使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。

  三.使用Onunload命令进行数据备份

  1.Onunload命令简介

  Onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。

  2.Onunload命令的语法

  Onunload[-l][-t][-b][-s][:[owner>.>

  以上参数代表的意义如下:

  <>中包括的内容为必选项,[]中的内容为可选项

  -l:指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读入磁带设备、块大小和备份设备容量值

  -t:指定备份设备名

  -b:指定备份设备的块大小

  -s:指定备份设备的存储容量

  database:指定要备份的数据库

  owner:指定表的属主

  table:指定要卸出的表

  使用onunload需要注意的问题

  1)onunload备份的数据必须用onload命令进行恢复;

  2)onunload/onload不能实现不同版本的online之间的数据转移;

  3)onunload/onload是以磁盘页大小为单位存储的二进制数据,卸出和接受数据的计算机必须具有相同的磁盘页大小;

  4)只能将onunload卸出的数据装入online管理的数据库或表;

  5)用户必须具有DBA访问权限,才能执行onunload命令;

  6)onunload不保留初始表上定义的访问特权;

  7)onunload不保留初始表上定义的同义词。

  以上三种数据备份方式各有特点,ontape备份对online参数配置前后一致性要求较高,但数据备份和恢复操作简单,备份和恢复速度较快;onunload备份以页为单位以二进制形式进行备份效率较高,数据恢复时只要计算机磁盘页大小一致即可;用dbexport所做的备份可以实现不同版本、不同Informix产品之间的数据转换,数据转移灵活方便。

  为保证数据能够安全恢复,数据备份至少应该选择两种方式。通过对Informix-Online数据库三种常用备份方法分析比较与归纳,用户可以根据实际情况选择适合自己需要的备份方式,来保证数据的安全恢复与转移。

  小编结语:

  更多内容尽在课课家教育!

赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程