免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: welion
打印 上一主题 下一主题

大表alter为何占用rootdbs空间? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-01-19 10:33 |只看该作者
1.首先要建立smart blob space 比如 (spspace) 。命令如下
       userid onspaces -c -S sbspace -g 4k  -p <path name > -o 0 -s 4000
2。将建立的 smart blob space 设置为默认值 ,修改 $INFORMIXDIR/etc/$ONCONFIG, 确认你的配置文件包含:
     SBSPACENAME sbspace

论坛徽章:
0
12 [报告]
发表于 2009-01-19 10:40 |只看该作者
如果表是之前建好的
alter table 表名 put 字段 in (sbspace);

论坛徽章:
0
13 [报告]
发表于 2009-01-19 13:42 |只看该作者

回复 #10 我是DBA 的帖子

也就是说如果没有专门的 blob空间,我做alter时候,blob字段数据会占用rootdbs?
可我alter的是其他varchar2的字段啊

alter table ** modify ( transerialid varchar(9) );

论坛徽章:
0
14 [报告]
发表于 2009-01-19 13:46 |只看该作者

回复 #13 welion 的帖子

你可以测试一下嘛,把那个字段删除,然后再进行alter操作,看会不会。。。
反正就是测试,

论坛徽章:
0
15 [报告]
发表于 2009-01-22 14:36 |只看该作者
我看LZ的表结构里并没有指定dbspace啊
系统默认用的是rootdbs
建议LZ把表里数据unload出来
重建表,指定dbspace
然后把数据load到表里

否则随着表数据增多,只有给rootdbs加chunk啦

[ 本帖最后由 日月如尧 于 2009-1-22 14:39 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2009-01-22 16:50 |只看该作者

回复 #15 日月如尧 的帖子

原来是 onload的时候,没指定表空间,放到root里面去了,
对于DDL建表,如果不指定,他应该会放到db创建的时候指定的dbs中,如不指定,就是rootdbs

论坛徽章:
0
17 [报告]
发表于 2009-02-04 09:34 |只看该作者
你没有使用 TEMPDBSPACE 这个环境变量吧,
在onconfig文件中填上 TEMPDBSPACE 或在用户的环境变量中设 TEMPDBSPACE=tempdbs

还要注意的一个,Informix 的空间不足,有时是系统的 /tmp 空间不足。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP