LOB 导入注意事项

因为 IMPORT 实用程序将单个列值的大小限制为 32 KB,所以导入 LOB 时有一些额外注意事项。

缺省情况下,IMPORT 实用程序将输入文件中的数据视为要装入列中的数据。 但是,如果大对象 (LOB) 数据存储在主要输入数据文件中,那么数据大小被限制为 32 KB。 因此,为避免丢失数据,应将 LOB 数据存储在主要数据文件以外的位置,并且应在导入 LOB 时指定 lobsinfile 文件类型修饰符。

LOBS FROM 子句会隐式激活 lobsinfile。 导入数据时,LOBS FROM 子句会将导入数据时用于搜索 LOB 文件的路径列表传递至 IMPORT 实用程序。 如果未指定 LOBS FROM 选项,那么假定要导入的 LOB 文件与输入关系数据文件位于同一路径中。

指示存储 LOB 数据的位置

导入 LOB 信息时,可以使用 LOB 位置说明符 (LLS) 将多个 LOB 存储在单个文件中。 指定 lobsinfile 后,EXPORT 实用程序会生成 LLS 并将其存储在导出输出文件中,并且 LLS 会指示 LOB 数据的位置。 导入使用指定的 lobsinfile 选项修饰的数据时,数据库要求每个对应 LOB 列都有对应的 LLS。 如果 LOB 列遇到的不是 LLS,那么数据库会将其视为 LOB 文件,并且将整个文件作为 LOB 装入。

对于 CREATE 方式下的导入,可通过使用 LONG IN 子句指定将创建 LOB 数据并将其存储在单独表空间中。

以下示例显示如何导入 LOB 存储在不同文件中的 DEL 文件:
IMPORT FROM inputfile.del OF DEL 
	LOBS FROM /tmp/data 
	MODIFIED BY lobsinfile
	INSERT INTO newtable