需要了解 Informix DB 中的 dbimport 实用程序
Posted
技术标签:
【中文标题】需要了解 Informix DB 中的 dbimport 实用程序【英文标题】:Need to understand dbimport utility in Informix DB 【发布时间】:2016-05-16 14:09:05 【问题描述】:谁能帮我理解下面的命令?
我对hw
和hwdbs01
以及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 实用程序的主要内容,如果未能解决你的问题,请参考以下文章
Perl 中的 Informix 错误:ISAM:107:ISAM 错误:记录被锁定。在 test_db_connectivity.pl 第 14 行