谁能帮我理解下面的命令?我对该实用程序的功能hw
和hwdbs01
功能感到困惑dbimport
。
dbimport hw -c -q -d hwdbs01
DB-Import 是 DB-Export/DB-Import 组合的第二部分。您可以在 IBM Informix 知识中心(dbexport 和 dbimport 实用程序)中找到有关它们的文档。
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 中。通常调用初始默认数据库空间rootdbs
;在这个系统上,大概至少还有一个名为hwdbs01
.