需要了解 Informix DB 中的 dbimport 实用程序

Need to understand dbimport utility in Informix DB

谁能帮我理解下面的命令? 我对 hwhwdbs01 以及 dbimport 实用程序的功能感到困惑。

dbimport hw -c -q -d hwdbs01

DB-Import 是 DB-Export/DB-Import 二重奏的第二部分。您可以在 IBM Informix 知识中心 (The dbexport and dbimport utilities) 中找到有关它们的文档。

DB-Export 创建一个 Informix 数据库的副本,其中 SQL 语句需要重新创建它并写入标准输出,并且存储卸载的数据和需要放入的 SQL 的副本命令创建的目录。

例如导出数据库stores:

 dbexport stores

这将创建一个目录 stores.exp,其中包含一个文件 stores.exp/stores.sql 中的模式和一组名称基于 table 名称和 'tabid' 的卸载格式文件数字,例如 stores.exp/isoto00305.unl。 (此数据库有一个 table isotopes,它在系统目录中的 tabid 为 305;这个数字只是确保数据文件名是唯一的,当然,14 个字符的限制是过去文件系统不允许使用更长名称的日子)。

当需要导入时,您可以使用 DB-Import。从理论上讲,您已经更改了服务器或其他内容。如果重新导入同一台服务器,则需要删除原始数据库或重命名原始数据库或调整导出文件。 导入的基本形式是:

dbimport newdb

这将查找 newdb.exp/newdb.sql 并期望 newdb.exp 中的卸载数据文件。我使用以下内容来使用导出的结果来导入 newdb.

mv stores.exp newdb.exp
mv newdb.exp/stores.sql newdb.exp/newdb.sql

您的 dbimport 命令版本是:

dbimport hw -c -q -d hwdbs01

这会将模式和数据从目录 hw.exp 导入数据库 hw-d hwdbs01 选项指定数据库应存储在dbspace hwdbs01 中。 -q 选项表示 'be quiet'。 -c 选项表示 'continue on error'(如果可能)。因此,它尽可能安静地完成了它能做的最好的工作;如果有错误,则报告错误,但禁止其他报告。

我很乐意假设您对 Informix 数据库有足够的了解,知道 dbspace 是什么——如果您不确定,那么您需要阅读有关该主题的一些资料;它主要与这个问题无关。不过,非常简洁地,Informix 服务器使用的存储 space 被分成称为 'dbspaces' 的不相交区域。每个 dbspace 都有一个名称和一组一个或多个块(磁盘区域 space,每个区域由文件路径、起始偏移量和大小标识)。您可以根据需要在 dbspace 中放置数据库、table 和索引。初始默认的dbspace 通常称为rootdbs;在这个系统上,大概有至少一个名为 hwdbs01.

的其他 dbspace