system表空间增大是正常的,但急剧增大是不合理的。

1有可能是用户对象错误的放在系统表空间中

2也可能是system表空间的UNDO过大

3还有可能和高级复制的空间使用有关

可通过如下语句查看一下是不是有应用的段放到了SYSTEM中:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,BYTESfrom DBA_SEGMENTSwhere TABLESPACE_NAME='SYSTEM' andOWNER not in ('SYS','SYSTEM')

通过如下查询语句查看找出系统表空间中占用空间最多的Top9对象

SELECT *

FROM (SELECT BYTES, segment_name, segment_type, owner

FROM dba_segments

WHERE tablespace_name = 'SYSTEM'

ORDER BY BYTES DESC)

WHERE ROWNUM < 10

高级复制会使用 sys.IDL_UB1$

摘自,Database Administrator’s Guide 第70页

If you use Advanced Replication and intend to set up a large number of replicated

objects, then you are required to monitor the following data dictionary tables with

the SQL SELECT command:

n ARGUMENT$

n IDL_CHAR$

n IDL_UB1$

n IDL_UB2$

n IDL_SB4$

n I_ARGUMENT1

n I_SOURCE1I$

n SOURCE$

n TRIGGER

If necessary, increase storage parameters to accommodate storage requirements of

large numbers of replicated objects.

系统对象IDL_UB1$表的含义及作用

在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$TABLESYS

2 63979520 SOURCE$TABLESYS

3 12075008 IDL_UB2$TABLESYS

4 7749632 DEPENDENCY$TABLESYS

5 7356416 I_DEPENDENCY2INDEXSYS

6 6438912 I_DEPENDENCY1INDEXSYS

7 5521408 I_IDL_UB11 INDEXSYS

8 4341760 IDL_SB4$TABLESYS

9 3555328 I_ACCESS1 INDEXSYS

我们注意到占用空间最大的对象是IDL_UB1$系统表,空间占用近3G,那么这个表是做什么用的呢?

从sql.bsq中我们可以找到这个表的创建语句:create table idl_ub1$ /* 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 number not null, /* piece length */

piece long raw not null) /* ub1 piece */

storage (initial 10k next 100k maxextents unlimited pctincrease 0)

/

idl_ub1$表是用来存储PL/SQL的代码单元的,包括DIANA等,IDL在这里代表Interface Definition Language.

这个对象的含义可以从Ixora找到一点提示:It is an intermediate language in which the structure of database tables and the logic of PL/SQL program units can be consistently represented as attributed trees. Oracle uses the DIANA IDL, which comes from compilers for the Ada programming language. DIANA stands for Descriptive Intermediate Attributed Notation for Ada. Anyway, this is one of four tables in the data dictionary used to store the DIANA for PL/SQL program units, and the database objects that they reference.

在高级复制中会用到这个表,所以可能导致这个表快速增长,在Oracle10g之前,高级复制需要考虑的事情的确很多。

请参考:

oracle idl_ub1$,system表空间急剧增大原因分析相关推荐

  1. oracle system表空间扩容,Oracle 11g system表空间快速增长解决

    Oracle 11g SYSTEM表空间快速增长问题解决 一..查看SYSTEM表空间前9大的段 SQL> set lines 120 SQL> col owner for a30 SQL ...

  2. oracle表空间暴涨,Oracle 11g SYSTEM表空间暴增问题

    一..查看SYSTEM表空间前9大的段 SQL> set lines 120 SQL> col owner for a30 SQL> col segment_name for a30 ...

  3. 查看Oracle sys_lob,system表空间满的处理-SYS_LOB0003450292C00039$$

    今天同事发现一个库的system表空间快满了,正好没事,登录上去也分析一下. $ sqlplus '/ as sysdba' SQL*Plus: Release 10.2.0.2.0 - Produc ...

  4. oracle更改system表空间大小,收缩system表空间大小

    注:这种方法功能有限,如果system表空间末尾写入了一些系统表资料,那么是无法回收的. C:\Documents and Settings\Administrator.XY>sqlplus & ...

  5. oracle如何使用system,【千里之行始于足下】谈Oracle的system表空间

    编辑手记:SYSTEM表空间是Oracle数据库最重要的表空间,在创建数据库时被最先创建,其中包含了数据库的元数据,对于数据库来说生死攸关.对于很多初学者,全面了解system表空间就格外重要. 系统 ...

  6. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  7. Oracle数据库之表空间(tablespace)---面试再也不害怕系列之一

    Oracle数据库的江湖地位不用多说,懂得都懂,大型公司基本必备的数据库,没有之一.在咱们国家,虽然有喊口号--去o化,可口号喊得在响亮,身体却很诚实,因此,Oracle也是运维或者开发面试时所需要掌 ...

  8. oracle数据库解决system表空间已爆满的问题

    oracle数据库解决system表空间已爆满的问题 参考文章: (1)oracle数据库解决system表空间已爆满的问题 (2)https://www.cnblogs.com/chxmtl/p/1 ...

  9. oracle undo 缩小,缩小Oracle的系统表空间(SYSTEM、TEMP、UNDOTBS1、SYSAUX)

    缩小Oracle的系统表空间(SYSTEM.TEMP.UNDOTBS1.SYSAUX) 一.基础环境 操作系统:Windows 或 Linux 数据库版本:Oracle Database 11.2.0 ...

最新文章

  1. java程序ssh置顶_使用shell脚本启动远程(SSH)Java应用程序不会返回本地提示
  2. Azure 执行模型
  3. 为什么远程桌面不能复制?解决方法
  4. (仿头条APP项目)4.父类BaseFragment创建,用retrofit和gson获取并解析服务器端数据
  5. Discovery CentOS6.4 issue
  6. solaris11-text-安装GUI(gnome)
  7. 阿里巴巴对Java编程【命名风格】的规约
  8. 编译打包vue_Vue 源码分析( 一 )
  9. 从壹开始前后端分离【 .NETCore2.1 +Vue 2 +AOP+DI】框架之一 || 前言
  10. 双系统win7时间造8小时问题的解决
  11. 实体首部字段-四大首部字段之一
  12. [C#][SAMPLE][CODE][Control]RadioBox、CheckBox和Validating事件的相关处理
  13. 2020年9月中国旅游行业网络关注度分析报告
  14. 国内破解站点大全! -by[http://blog.csdn.net/netxiaoyue]
  15. 感性电路电流计算_第五讲 正弦交流电路分析
  16. SpringBoot初始化过程核心源码剖析
  17. MindManager Mac苹果版本教程激活码序列号秘钥下载详情
  18. REDIS HGETALL按序输出结果
  19. Apad Qzone项目总结(一)---发布!!!
  20. c++直角空心三角形_c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形...

热门文章

  1. 服务器测试文件怎么创建,如何创建一个“FTPS”模拟服务器以单元测试Java中的文件传输...
  2. Eclipse export导出war包报错(Module name is invalid.)
  3. Canvas之进度条的制作(矩形,圆环)
  4. mysql数据库代码_【代码总结】MYSQL数据库的常见操作
  5. io wait linux,另辟蹊径-诊断工具之 IO wait
  6. 手工画设计模式的类图
  7. php获取悉尼时间,php在使用澳大利亚/悉尼时区时给出错误答案
  8. mysql视图表修复_mysql中含有视图数据库在恢复数据时视图变成数据表的解决方法...
  9. python公式如何编写_如何编写 Python 程序,资深Python大咖教你玩转Python
  10. padding 后尺寸变化 设置_padding margin border 和元素大小