任何人都可以帮我理解下面的命令吗?
我对hw
和hwdbs01
以及dbimport
实用程序的功能感到困惑。
dbimport hw -c -q -d hwdbs01
答案 0 :(得分:4)
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通常称为rootdbs
;在这个系统上,可能至少有一个名为hwdbs01
的其他dbspace。