日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle idl_ub1$,system表空间急剧增大原因分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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表空间急剧增大原因分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。