10g: SYSAUX 里面都有些什么东西

Isabella says:
SYSAUX 暴涨
有什么东西在调控,需要关掉的么?
ora-600 says:
ash会自动收集信息,
数据库越繁忙,收集的信息占用的空间越大
Isabella says:
然后呢?没有自动清掉?能不能手动清理
ora-600 says:
默认保留大概7天的统计信息,印象中是
空间会循环使用
Isabella says:
我去找文档
Isabella says:
什么破玩意。500 M 都不够
ora-600 says:
呵呵,我见过的一个4、5t的库,aux大概3-5个g
Isabella says:

ora-600 says:
呵呵,这也算是我见的最大的库勒
Isabella says:
一般来说 几百G 就已经很大了
ora-600 says:
呵呵,是啊,我知道得上t的库也就那么几个
Isabella says:
都有道
ora-600 says:
呵呵,公司的库一般都不会很大,生产库大多几十个g
Isabella says:
有人抱怨过 sysaux 的设置么?
ora-600 says:
呵呵,目前还没有,我是第一个,你是第二个
Isabella says:
没有很多人在 10g 上面的缘故?
ora-600 says:
那倒不是,小库aux没啥问题
Isabella says:
几十G 不算大
ora-600 says:
呵呵,几十个g,正常的话aux不应该很大的,大概几百m足够
Isabella says:
我的是 500M 几乎 full 了,我才注意到

****************************

我倒是真的好奇了 SYSAUX 里面到底是啥东西呢。

SYSAUX 是 Oracle 10g 数据库必须建立的一个 tablespace.  原先必须建立的有 system, temp, undo, logs(至少两个), 至少一个 user, 现在又加了这个。Oracle 的解释说,这个是 system tablespace 辅助 tablespace, 把原先一些放在 system tablespace 里面的东西移动过去了;一些 10g 新收集,自我 optimizer 之类所需要的信息;还有,比方以前一些功能,都需要自己建立一个 tablespace, 比如 RMAN 现在,这些东西都统统放在 sysaux 里面了。(好?还是不好?还没发现)

所以这样说来,sysaux 需要更大的空间,也没有选择,加大就是了,跟 system tablespace 一样,啥都做不了。

不对!

其实还可以做一些的。可以做啥?

10g 针对 sysaux tablespace 创建了一个新的 view,名字叫做: V$sysaux_occupants:

SQL> desc v$sysaux_occupants
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OCCUPANT_NAME                                      VARCHAR2(64)
 OCCUPANT_DESC                                      VARCHAR2(64)
 SCHEMA_NAME                                        VARCHAR2(64)
 MOVE_PROCEDURE                                     VARCHAR2(64)
 MOVE_PROCEDURE_DESC                                VARCHAR2(64)
 SPACE_USAGE_KBYTES                                 NUMBER

在这个 view 中,我们可以看到使那些信息使用了 sysaux, 我们还可以使用这个 view 里面所给出的 procedure 把这些信息转移到其他的 tablespace 里面,清理出 sysaux 所占用的空间,不过,放哪里都是放东西,如果能放在缺省的地方,管理起来比较容易吧。

一个sample selection about v$sysaux_occupants:

SQL> select * from v$sysaux_occupants;

OCCUPANT_NAME
----------------------------------------------------------------
OCCUPANT_DESC
----------------------------------------------------------------
SCHEMA_NAME
----------------------------------------------------------------
MOVE_PROCEDURE
----------------------------------------------------------------
MOVE_PROCEDURE_DESC
----------------------------------------------------------------
SPACE_USAGE_KBYTES
------------------
LOGMNR
LogMiner
SYSTEM
SYS.DBMS_LOGMNR_D.SET_TABLESPACE
Move Procedure for LogMiner
              6016

LOGSTDBY
Logical Standby
SYSTEM
SYS.DBMS_LOGSTDBY.SET_TABLESPACE
Move Procedure for Logical Standby
               896

STREAMS
Oracle Streams
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
               512

XDB
XDB
XDB
XDB.DBMS_XDB.MOVEXDB_TABLESPACE
Move Procedure for XDB
                 0

AO
Analytical Workspace Object Table
SYS
DBMS_AW.MOVE_AWMETA
Move Procedure for Analytical Workspace Object Table
               768

XSOQHIST
OLAP API History Tables
SYS
DBMS_XSOQ.OlapiMoveProc
Move Procedure for OLAP API History Tables
               768

XSAMD
OLAP Catalog
OLAPSYS
DBMS_AMD.Move_OLAP_Catalog
Move Procedure for OLAP Catalog
                 0

SM/AWR
Server Manageability - Automatic Workload Repository
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
            107072

SM/ADVISOR
Server Manageability - Advisor Framework
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
             22464

SM/OPTSTAT
Server Manageability - Optimizer Statistics History
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
            113792

SM/OTHER
Server Manageability - Other Components
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
              4864

STATSPACK
Statspack Repository
PERFSTAT

Use export/import (see export parameter file spuexp.par)
                 0

ODM
Oracle Data Mining
DMSYS
MOVE_ODM
Move Procedure for Oracle Data Mining
                 0

SDO
Oracle Spatial
MDSYS
MDSYS.MOVE_SDO
Move Procedure for Oracle Spatial
                 0

WM
Workspace Manager
WMSYS
DBMS_WM.move_proc
Move Procedure for Workspace Manager
                 0

ORDIM
Oracle interMedia ORDSYS Components
ORDSYS

*** MOVE PROCEDURE NOT APPLICABLE ***
                 0

ORDIM/PLUGINS
Oracle interMedia ORDPLUGINS Components
ORDPLUGINS

*** MOVE PROCEDURE NOT APPLICABLE ***
                 0

ORDIM/SQLMM
Oracle interMedia SI_INFORMTN_SCHEMA Components
SI_INFORMTN_SCHEMA

*** MOVE PROCEDURE NOT APPLICABLE ***
                 0

EM
Enterprise Manager Repository
SYSMAN
emd_maintenance.move_em_tblspc
Move Procedure for Enterprise Manager Repository
                 0

TEXT
Oracle Text
CTXSYS
DRI_MOVE_CTXSYS
Move Procedure for Oracle Text
                 0

ULTRASEARCH
Oracle Ultra Search
WKSYS
MOVE_WK
Move Procedure for Oracle Ultra Search
                 0

ULTRASEARCH_DEMO_USER
Oracle Ultra Search Demo User
WK_TEST
MOVE_WK
Move Procedure for Oracle Ultra Search
                 0

EXPRESSION_FILTER
Expression Filter System
EXFSYS

*** MOVE PROCEDURE NOT APPLICABLE ***
                 0

EM_MONITORING_USER
Enterprise Manager Monitoring User
DBSNMP

*** MOVE PROCEDURE NOT APPLICABLE ***
                 0

TSM
Oracle Transparent Session Migration User
TSMSYS

*** MOVE PROCEDURE NOT APPLICABLE ***
               256

JOB_SCHEDULER
Unified Job Scheduler
SYS

*** MOVE PROCEDURE NOT APPLICABLE ***
               384

26 rows selected.

一个sample 的 sysaux  中的 object,在不同 tablespace 的转移( Logminer 在 USER/SYSAUX 之间 ):

LOGMNR
LogMiner
SYSTEM
SYS.DBMS_LOGMNR_D.SET_TABLESPACE
Move Procedure for LogMiner
              6016
 

SQL> exec sys.dbms_logmnr_D.set_tablespace('USERS');
SQL> exec sys.dbms_logmnr_D.set_tablespace('SYSAUX');

关于 sysaux 的几个特性:

1. 对于 10g 数据库是必须建立的,没有可选择性
2. 建立和维护都需要 sysdba 的权限
3. DBCA 建立数据库时自动建立,缺省值 210M (升级的时候可以在升级前建好,空的;或者在 migration 模式下建立,oracle 建议 500 M 为什么是 500m 我也没搞明白)
4. 可以 resize 加大,或者增加一个 datafile 扩大空间
5. 不能 drop, rename, read only, 是一个不能 transport 的 tablespace

你可能感兴趣的:(oracle,sql,SQL Server)