oracle中LOBSEGMENT类型存储的clob的内容过大,如何清除clob字段内容。释放表空间! 10
表空间告警,我查找问题步骤:1.查询SELECTBYTES/1024/1024AS空间大小M,SS.*FROMDBA_SEGMENTSSSWHERE1=1ORDERBYs...
表空间告警,我查找问题步骤:
1.查询SELECT BYTES/1024/1024 AS 空间大小M,SS.* FROM DBA_SEGMENTS SS WHERE 1 = 1 ORDER BY ss.BYTES DESC;查询出以下结果
2.根据SEGMENT_NAME查询对应的表:SELECT * from dba_lobs l WHERE AND l.SEGMENT_NAME='SYS_LOB0000106562C00012$$'
3.拥有clob字段的表结构为:
4.删除SYS_USER_OP_LOG表中一些记录,SYS_LOB0000106562C00012$$大小没有变化。
使用了delete from SYS_USER_OP_LOG where 。。。方式删除。
求助如何能SYS_LOB0000106562C00012$$占用的空间释放。 展开
1.查询SELECT BYTES/1024/1024 AS 空间大小M,SS.* FROM DBA_SEGMENTS SS WHERE 1 = 1 ORDER BY ss.BYTES DESC;查询出以下结果
2.根据SEGMENT_NAME查询对应的表:SELECT * from dba_lobs l WHERE AND l.SEGMENT_NAME='SYS_LOB0000106562C00012$$'
3.拥有clob字段的表结构为:
4.删除SYS_USER_OP_LOG表中一些记录,SYS_LOB0000106562C00012$$大小没有变化。
使用了delete from SYS_USER_OP_LOG where 。。。方式删除。
求助如何能SYS_LOB0000106562C00012$$占用的空间释放。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
3个回答
展开全部
使用truncate删除其中的blob字段 试试看效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
alter table 表名 modify lob(表里面大字段名 ) (shrink space);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CLOB BLOB字段要谨慎使用
即使只存入很少的内容,也可能占用很大的空间。
9i以前的版本,读写 也要额外处理。
我一般用varchar2(4000) 的字段替换处理;用业务逻辑拼接和拆分,分别存储。
本问题中从表中删除记录后,表的高水位不调整,所占空间不释放。
删除后可以 alter table tblname move 一下试试。
即使只存入很少的内容,也可能占用很大的空间。
9i以前的版本,读写 也要额外处理。
我一般用varchar2(4000) 的字段替换处理;用业务逻辑拼接和拆分,分别存储。
本问题中从表中删除记录后,表的高水位不调整,所占空间不释放。
删除后可以 alter table tblname move 一下试试。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询