畜牧业/渔业数据库

利用外部表装完数据后建索引失败

数据库是11.50FC6,一个大表要重建,我使用的是外部表先将数据卸出,再装入:CREATE EXTERNAL TABLE ffhz1_ext SAMEAS ffhz1USING (DATAFILES(     "DISK:/tmp/ffhz1_ext1.unl",     "DISK:/tmp/ffhz1_ext2.unl",    &nbs...显示全部
数据库是11.50FC6,一个大表要重建,我使用的是外部表先将数据卸出,再装入:
CREATE EXTERNAL TABLE ffhz1_ext SAMEAS ffhz1
USING
(DATAFILES(
     "DISK:/tmp/ffhz1_ext1.unl",
     "DISK:/tmp/ffhz1_ext2.unl",
     "DISK:/tmp/ffhz1_ext3.unl"
),
FORMAT informix, express
);

set isolation dirty read;
set environment IFX_BATCHEDREAD_TABLE '1';
INSERT INTO ffhz1_ext SELECT * FROM ffhz1_bak ;

Alter table ffhz1 type (raw);
INSERT INTO ffhz1 SELECT * FROM ffhz1_ext;

速度倒是很快,就是装入后建索引失败,错误号-105
有两个大表都这样。
对装完数的表做chechk报错:
TBLspace data check for easydb:easycon.ffhz1
                  Table fragment partition datadbs3 in DBspace datadbs3
WARNING: data page 0x42568 in tablespace 0xe00002 appears to be
         more or less full than is indicated in the bitmap.
         Bitmap mode: 0xc, Calculated mode: 0x4.
Reset the bitmap mode for this page?


请各位帮忙。

测试数据:
使用2个.sql建两个表,将数据装入ffhz1_bak,执行test.sh,完成后test_tab表建索引失败

附件:

附件图标a.part01.rar (7.11 MB)

附件图标a.part02.rar (5.49 MB)

收起
参与13

查看其它 12 个回答kingsword123的回答

kingsword123kingsword123数据库管理员CMBC
num of pages的数目,跟bitmap中的描述不一样所以就会报错。
觉得是在外部表导入后,数据库对bitmap的更新没有成功。
具体原因。。。有待实验室的去看代码。。
从我查到的资料来看。。貌似正在做这个bug的fix中。

现在看到最高版本还有这个问题的是 11.7FC2

建议别在多分区环境中使用外部表了。等他们fix完了,再说。
政府机关 · 2011-01-27
浏览690

回答者

kingsword123
数据库管理员CMBC

kingsword123 最近回答过的问题

回答状态

  • 发布时间:2011-01-27
  • 关注会员:0 人
  • 回答浏览:690
  • X社区推广