在ITPUB上有朋友遇到SYSTEM表空间快速扩展的问题
系统表空间异常扩展的情况遇到过很多:
有的和用户表空间或对象分配不当有关
有的和高级复制的空间使用有关....
经过如下代码查询,可以找出系统表空间中占用空间最多的Top9对象:
col segment_name for a25
col owner for a10
SELECT *
FROM (SELECT BYTES, segment_name, segment_type, owner
FROM dba_segments
WHERE tablespace_name = 'SYSTEM'
ORDER BY BYTES DESC)
WHERE ROWNUM < 10
/
这个朋友的Top9对象为:
1 3082174464 IDL_UB1{GetProperty(Content)}nbsp;TABLE SYS
2 63979520 SOURCE{GetProperty(Content)}nbsp;TABLE SYS
3 12075008 IDL_UB2{GetProperty(Content)}nbsp;TABLE SYS
4 7749632 DEPENDENCY{GetProperty(Content)}nbsp;TABLE SYS
5 7356416 I_DEPENDENCY2 INDEX SYS
6 6438912 I_DEPENDENCY1 INDEX SYS
7 5521408 I_IDL_UB11 INDEX SYS
8 4341760 IDL_SB4{GetProperty(Content)}nbsp;TABLE SYS
9 3555328 I_ACCESS1 INDEX SYS
我们注意到占用空间最大的对象是IDL_UB1$系统表,空间占用近3G,那么这个表是做什么用的呢?
从sql.bsq中我们可以找到这个表的创建语句:
create table idl_ub1{GetProperty(Content)}nbsp; /* idl table for ub1 pieces */
( obj# number not null, /* object number */
part number not null,
/* part: 0 = diana, 1 = portable pcode, 2 = machine-dependent pcode */
version number, /* version number */
piece# number not null, /* piece number */
length