数据迁移工具

GBase 8s 提供了将数据从一个 GBase 8s 数据库移动到另一个数据库或从一个操作系统移动到另一个操作系统的工具、实用程序和 SQL 语句。

当具有不同的页大小或代码页时,您也可能想要使用数据迁移工具。例如,UNIX™ 或 Linux™ 以不同的页大小来存储数据。

当迁移涉及不同的操作系统时,您必须从一个数据库服务器导出数据及其模式信息并将导出的数据导入到其他数据库服务器。

通常,如果在同一个操作系统上进行迁移,那么您无需装入和卸载数据。

可以使用以下工具移动数据:

当从非 GBase 8s 数据源导入数据时,可以使用以下工具:

移动数据的最好方法依赖于您的操作系统以及您是希望移动整个数据库、选定的表还是表中选定的列。下表汇总了装入数据的各种方法的特征及其各自的优点和不足。该表还显示了可以使用这些工具的数据库服务器。

表 1. 数据移动工具之间的比较
工具 描述 优点 不足 可用性
dbexport dbimport 实用程序

向存储在磁盘或磁带中的文本文件导入或导出数据库

可以修改数据库模式并更改数据格式

可以在操作系统间移动数据

可选的日志记录功能

可以从非 GBase 8s 数据源导入数据

速度比 dbload 实用程序快,但比 onload 实用程序慢。

移动整个数据库

 
dbload 实用程序

将数据从一个或多个文本文件传送到一个或多个现有表中。

可以修改数据库模式

可以在操作系统间移动数据

可选的日志记录功能

适中的易用性

可以从非 GBase 8s 数据源导入数据

速度比 dbexport dbimportonload 实用程序慢  
onunload onload 实用程序

将数据库中的数据卸载到磁带或磁盘中的文件中;将通过 onunload 命令创建的数据装入到数据库服务器中

速度快 可选的日志记录功能

只在同一操作系统上具有相同版本的数据库服务器间移动数据

无法修改数据库模式

日志记录必须关闭

使用难度大

不可用于:

  • SE 7.22-7.25 SE 5.1 或更早版本
  • OnLine 5.1 或更早版本
UNLOAD 和 LOAD 语句

卸载和装入特定的行

可以修改数据库模式

可以在操作系统间移动数据

易于使用

可选的日志记录功能

仅接受指定的数据格式

 
HPL

从符合某些格式要求的任何 ASCII 或 COBOL 文件装入数据

对于特大型数据库,与其他 GBase 8s 数据迁移实用程序相比具有性能优势,因为它以并行方式执行 I/O 和代码集转换。

可以修改数据库模式

可以在操作系统间移动数据

可以从非 GBase 8s 数据源导入数据

需要较长的准备时间

不可用于:

SE 7.22-7.25 SE 5.1x OnLine 5.1x

非日志记录原始表 装入特定类型的大型表 可以快速装入特大型的数据仓储表

不支持主要约束、唯一约束和回滚

需要 SQL

不建议在事务中使用

 
外部表 允许您从数据库服务器外部的源执行读写操作,从而为由操作系统管理的文本文件中的数据或 FIFO 设备中的数据提供 SQL 接口。 执行快速(高速)和高级(数据检查)传输

需要 SQL

 
如果您正在选择数据装入工具,那么在图 1 中显示的问题将帮助您做出决定。

图: 在 dbimport、dbload 和 LOAD 中选择


使用 dbimport 移动整个数据库,使用 dbload 跳过某些行或落实插入,或者在数据格式可接受时使用 LOAD 语句。

除数据移动工具外,您还可以使用 dbschema 实用程序来获取数据库的模式并将输出重定向到文件,这样就可以将该文件提供给 DB–Access 来重新创建该数据库。