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

Posted

技术标签:

【中文标题】需要了解 Informix DB 中的 dbimport 实用程序【英文标题】:Need to understand dbimport utility in Informix DB 【发布时间】:2016-05-16 14:09:05 【问题描述】:

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

dbimport hw -c -q -d hwdbs01

【问题讨论】:

【参考方案1】:

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 中的架构和一组基于表名和“tabid”编号(例如stores.exp/isoto00305.unl)命名的卸载格式文件。 (这个数据库有一个表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 选项的意思是“安静”。 -c 选项表示“出错时继续”(如果可能)。因此,这会尽可能安静地完成最好的工作;如果有错误,则会报告它们,但会禁止其他报告。

我很高兴地假设您对 Informix 数据库有足够的了解以了解 dbspace 是什么 — 如果您不确定,那么您需要阅读有关该主题的内容;它主要与这个问题相切。不过,非常简洁地说,Informix 服务器使用的存储空间被分割成不相交的区域,称为“dbspace”。每个 dbspace 都有一个名称和一组一个或多个块(磁盘空间区域,每个区域由文件路径、起始偏移量和大小标识)。您可以根据需要将数据库、表和索引放置在 dbspace 中。初始默认 dbspace 通常称为rootdbs;在这个系统上,大概至少还有一个名为 hwdbs01 的其他 dbspace。

【讨论】:

谢谢乔纳森,这是完美的解释!! @appi 如果您对 JL 的解释感到满意,您应该接受答案。这就是 *** 的工作原理:***.com/help/someone-answers

以上是关于需要了解 Informix DB 中的 dbimport 实用程序的主要内容,如果未能解决你的问题,请参考以下文章

Informix 中的数据库别名

从 informix DB 填充我的下拉列表时遇到问题

如何删除在线表informix Db中的大量行

Perl 中的 Informix 错误:ISAM:107:ISAM 错误:记录被锁定。在 test_db_connectivity.pl 第 14 行

在 Informix DB 中将字符串转换为日期

当表没有 SELECT 权限时,如何在 informix db 中卸载表?