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