使用二进制数据文件实现IQ数据库表级跨平台迁移的方法
下面以HP平台(大端字节序)到 Linux(小端字节序)迁移为例,说明使用二进制数据文件方式实现表级快平台迁移的方法:
1. 把HP-UX64 Itanium平台上(即大端字节序,big endian)的一个IQ数据库表lineitem中的数据导出到一个二进制格式文件中。导出方法如下(即iq server端重定向方法):
--打开server端重定向功能
SET TEMPORARY OPTION Temp_Extract_Name1 = ‘lineitem_binary.dat‘;
--设置表输出为二进制格式的文件
SET TEMPORARY OPTION Temp_Extract_Binary = ‘on‘;
SET TEMPORARY OPTION Temp_Extract_Swap = ‘off‘;
--把表中的记录输出到lineitem_binary.dat文件中
SELECT * FROM lineitem;
--关闭server端重定向
SET TEMPORARY OPTION Temp_Extract_Name1 = ‘‘;
2. 在另一台Suse Linux机器上导入lineitem_binary.dat文件中的数据(前提是lineitem表已经建好)。load table语句如下:
LOAD TABLE lineitem
( l_orderkey BINARY WITH NULL BYTE,
l_partkey BINARY WITH NULL BYTE,
l_suppkey BINARY WITH NULL BYTE,
l_linenumber BINARY WITH NULL BYTE,
l_quantity BINARY WITH NULL BYTE,
l_extendedprice BINARY WITH NULL BYTE,
l_discount BINARY WITH NULL BYTE,
l_tax BINARY WITH NULL BYTE,
l_returnflag BINARY WITH NULL BYTE,
l_linestatus BINARY WITH NULL BYTE,
l_shipdate BINARY WITH NULL BYTE,
l_commitdate BINARY WITH NULL BYTE,
l_receiptdate BINARY WITH NULL BYTE,
l_shipinstruct BINARY WITH NULL BYTE,
l_shipmode BINARY WITH NULL BYTE,
l_comment BINARY WITH NULL BYTE )
FROM ‘/apps/data/lineitem_binary.dat‘
FORMAT BINARY
STRIP OFF
QUOTES OFF
ESCAPES OFF
BYTE ORDER HIGH;
COMMIT;
说明:
(1) 当使用load table装载二进制文件时必须使用"BINARY WITH NULL BYTE",并且要使用FORMAT BINARY子句;
(2) BYTE ORDER LOW表示二进制文件是从"小端字节序(Little-endian)"平台上的IQ数据库生成的;BYTE ORDER HIGH表示二进制文件是
从"大端字节序(Big-endian)"平台上的IQ数据库生成的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。