Informix数据库备份详解

更新时间:2024-07-10 00:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

Informix数据库 1、备份表结构

Dbschema -d dbname -t all -ss

(1)导出数据库中所有的表结构到文件db.sql $>dbschema -d your_database -t all db.sql

(2)导出数据库中所有的存储过程到文件db.sql $>dbschema -d your_database -f all db.sql

(3)导出数据库中的所有对象(包含表,存储过程,触发器。。。)到文件db.sql $>dbschema -d your_database db.sql

(4)导出数据库中一个表的结构到文件db.sql

$>dbschema -d your_database_name -t your_table_name db.sql

(5)导出一个存储过程定义到文件db.sql

$>dbschema -d your_database_name -f your_procedure_name db.sql

(6)如果导出更多的表的信息(EXTENT...)

$>dbschema -d your_database_name -ss db.sql

(7)导出数据库中对用户或角色的授权信息 $>dbschema -d your_database_name -p all $>dbschema -d your_database_name -r all

(8)导出数据库中的同义词

$>dbschema -d your_database_name -s all (9)导出数据库中数据

unload to *.txt select * from table_name where ...

Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义/检查等特性而得到广泛应用。

Informix-Online数据库常用的三种数据备份方式: a. 使用ontape工具进行数据备份 b. 使用dbexport命令进行数据备份 c. 使用Onunload命令进行数据备份

一. 目的与优缺点

「数据库系统」可说是一个企业的心脏,许多承先启后的宝贵数据,存放在数据库中。除了日常效能的调整与系统的基本监控维护,最重要的莫过于「备份机制的建立」,与「灾难复原演练」。企业一旦有一份完整的「数据库备份与灾难回复机制」后,就像对数据库做了妥善的保险,是非常、非常重要的。

2

二. 数据库备份方案

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

(1) ontape工具具有如下功能:备份和恢复Online数据、备份和恢复逻辑日志、改变数据库日志状态等

(2) 执行ontape备份数据的语法 ontape备份语法为:

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

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

(3) 优缺点

优点: a. 可在线进行备份,无需停机,非常适合用于7*24小时的工作机制。 b. 备份方式简单

c. 可以备份到磁带或者磁盘上,只要在参数中设置相应的路径。

缺点: a. 在低版本中(IDS低于9.4)版本中进行备份时,当备份的路径为磁盘上,数据达到2G时,需手工交付式进行备份,负责备份将不成功。

b. 不能使用后台方式执行备份命令(UNIX下的&&),因为备份采用交互方式进行

(4) 使用ontape工具进行数据备份需要注意的问题

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

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

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

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

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

f. 备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,

3

否则备份会被中断。

2. 使用dbexport命令进行数据备份 (1) dbexport命令简介

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

(2) dbexport 命令语法如下

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

a、导出,首先创建导出一个目录,示例中在/db/目录下创建tmp的一个文件夹 dbexport dbname -c -ss -o /db/tmp

b、导出完成后,在tmp生成一个dbname.exp的目录,找到该目录下的dbname.sql模式脚本文件,需要利用工具(如sqleditor)来验证一下脚本的语法的正确性(导出的脚本可能存在语法上的错误),需要加以修改纠正。

c、导入,在导入之前,需要按照存储情况先划分好DBSPACE

dbimport dbname -i /db/tmp dbname -c -l buffered -d default_db spacename d、导入完成后,,进行数据库级别的统计更新 update statistics ; 以上命令中参数的意义如下:

<>中包括的内容为必选项,[ ]中的内容为可选项。 -c:指示如果没有错误,则输出全部信息。

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

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

-o:指定数据输出文件的磁盘目录。 -t:指定数据输出文件的备份介质名称。 -b:指定备份介质块大小。 -s:指定备份介质的最大存储量。

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

(3) 优缺点

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

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

缺点:a. dbexport以独占方式(exclusive mode)占用数据库,备份期间其他用户不能对

4

数据库进行查询和修改及插入操作对于7*24时的数据库来说,此方法不可取。

b. 模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型,无法达到实时备份。

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

a. 执行dbexport命令必须是Informix用户或具有DBA访问权限的用户。 b. 用dbexport备份的数据必须用dbimport命令恢复。

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

3. 使用Onunload命令进行数据备份 (1) Onunload命令简介

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

(2) Onunload命令的语法

onunload [-l] [-t ] [-b ] [-s ] [:[owner.]] 以上参数代表的意义如下:

l:指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读入磁 带设备、块大小和备份设备容量值 t:指定备份设备名 b:指定备份设备的块大小 s:指定备份设备的存储容量 database:指定要备份的数据库 owner:指定表的属主 tabname:指定要卸出的表

(3) 优缺点

优点: a. Onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。 b. 可单独备份一些重要的table。

缺点: a. onunload/onload不能实现不同版本的online之间的数据转移。

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

(4) 使用onunload需要注意的问题

a. onunload备份的数据必须用onload命令进行恢复。

b. 只能将onunload卸出的数据装入online管理的数据库或表。 c. 用户必须具有DBA访问权限,才能执行onunload命令。 d. onunload不保留初始表上定义的访问特权。

5

e. onunload不保留初始表上定义的同义词。

三. 数据库恢复方案 1. 恢复方法 (1) ontape命令 (2) dbimport命令 (3) onload命令

2. 使用ontape工具进行数据恢复 (1) 语法 ontape -r (2) 使用方法 这里以0级备份为例 a. onmode -ky 数据库 b. /informix/etc>ontape –r c. 根据提示,来恢复数据库 (3) 注意事项

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

3. 使用dbimport命令进行数据恢复 (1) 语法

dbimport -c -d dbspacename -l dbname (2) 使用方法

通过dbimport命令,指定到用来恢复的备份文件,然后进行恢复动作。

4. 使用onload命令进行数据恢复 (1) 语法

onload database:tablename (2) 使用方法

使用onload命令,指定要恢复的数据库或者表,然后进行恢复动作。

本文来源:https://www.bwwdw.com/article/ziv.html

Top