ykyxgz 发表于 2011-05-04 16:57

请问:informix的chunk被rm掉了,现在不想要这个chunk了,如何把chunk删除

informix的chunk被rm掉了,现在不想要这个chunk了,如何把chunk删除。这个chunk上已经有300万数据了

liaosnet 发表于 2011-05-04 17:08

这个看是在online下rm掉chunk,还是offline下rm掉的。。。

不管哪种,都应该先把该chunk上所有的数据删除后,再删除chunk..
删除chunk使用onspaces -d 命令。。

wolfop 发表于 2011-05-04 17:26

没戏,没法删除,从备份恢复吧。

ykyxgz 发表于 2011-05-04 18:19

回复 3# wolfop


    表总共有4000w的数据,数据库可以重启,也能再次的导入数据,但是这个chunk状态为PD,并且上有数据,所以在高优的时候会报错如下:
252: Cannot get system information for table.

155: ISAM error: Primary and Mirror chunks are bad
Error in line 1
Near character position 42

如果要初始化的话,代价太大了

liaosnet 发表于 2011-05-05 09:57

回复wolfop


    表总共有4000w的数据,数据库可以重启,也能再次的导入数据,但是这个chunk状态为PD,并 ...
ykyxgz 发表于 2011-05-04 18:19 http://bbs.chinaunix.net/images/common/back.gif


    :sleepy: 重启了话就基本上没戏了。。

升腾 发表于 2011-05-08 19:43

二、dbspace与块信息
*sysdbspaces ————>; dbspace
*syschunks ————>; 块
*syschkio ————>; 块I/O
*syschfree ————>; 块自由空间 注:syschfree是个不支持的表

create table "sysmaster".sysdbspaces {dbspace配置}
(
dbsnum smallint, {dbspace号 }
name char(18), {dbspace名 }
owner char(8), {dbspace拥有者 }
fchunk smallint, {dbspace第一块 }
nchunks smallint, {dbspace块数 }
is_mirrored integer, {dbspace是否镜像 1=YES,0=NO}
is_blobspace integer, {dbspace是否大对象空间 }
is_temp integer, {dbspace是否临时,1=YES,0=NO }
flags smallint {dbspace标志 }
);
grant select on sysdbspaces to public;

create table "sysmaster".syschunks {chunk配置}
(
chknum smallint, {chunk号 }
dbsnum smallint, {dbspace号 }
nxchknum smallint, {dbspace中下一个块号 }
chksize integer, {chunk中的页 }
offset integer, {设备页偏移量 }
nfree integer, {块中未用页数 }
is_offline integer, {chunk是否脱机,1=YES,0=NO}
is_recovering integer, {chunk是否恢复,1=YES,0=NO}
is_blobchunk integer, {chunk是否blobchunk,1=YES,0=NO}
is_inconsistent integer, {chunk是否不一致,1=YES,0=NO }
flags smallint, {由bitbal转换的块标志 }
fname char(128),{设备路径名 }
mfname char(128),{镜像设备路径名 }
moffset integer, {镜像设备偏移量 }
mis_offline integer, {镜像是否脱机,1=YES,0=NO }
mis_recovering integer, {镜像是否恢复,1=YES,0=NO }
mflags smallint {镜像块标志 }
);
grant select on syschunks to public;

create table "sysmaster".syschfree {显示块中的未用空间块}
(
chknum integer, { chunk number 块号 }
extnum integer, { extent number in chunk 块区域号 }
start integer, { physical addr of start 开始物理地址 }
leng integer { length of extent 区域长度 }
);
create unique index syschfreeidx on syschfree (chknum, extnum);
revoke all on syschfree from public;
grant select on syschfree to public;

create table "sysmaster".syschkio {块设备I/O统计信息}
(
chunknum smallint, {块号 }
reads integer, {读操作数 }
pagesread integer, {读页数 }
writes integer, {写操作数 }
pageswritten integer, {写页数 }
mreads integer, {镜像读操作数 }
mpagesread integer, {镜像读页数 }
mwrites integer, {镜像写操作数 }
mpageswritten integer {镜像写页数 }
);
grant select on syschkio to public;

原帖: http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=2897869C26000
页: [1]
查看完整版本: 请问:informix的chunk被rm掉了,现在不想要这个chunk了,如何把chunk删除