`

Oracle SYSAUX 表空间 说明

 
阅读更多

. SYSAUX 说明

Oracle 10g 版本中,引入了SYSTEM表空间的一个辅助表空间: SYSAUX表空间。

SYSAUX 表空间存放一些其他的metadata组件,如OEM,Streams 等会默认存放在SYSAUX表空间里。这样也能降低SYSTEM表空间的负载。 因此SYSAUX 表空间也是在在DB 创建或者升级时自动创建的。 如果在手工使用SQL创建DB时没有指定SYSAUX tablespace,那么创建语句会报错。 无法执行。

在正常操作下, 不能drop rename SYSAUX 表空间。 如果SYSAUX 表空间不可用时, 数据库的核心功能还是可以继续运行的。只是一些存放在SYSAUX表空间里的功能收到限制,就如我们之前说的OEM

DB 创建时指定SYSAUX 表空间,必须指定如下4个属性:

(1). PERMANENT

(2). READ WRITE

(3). EXTENT MANAGMENT LOCAL

(4). SEGMENT SPACE MANAGMENT AUTO

我们不能使用alter tablespace 来修改这4个属性,同样也不能drop rename SYSAUX 表空间。

我们可以使用v$sysaux_occupants 视图来查看SYSAUX 表空间里的组件信息,如:

SQL> select occupant_name,schema_name,move_procedure from v$sysaux_occupants;

occupant_name schema_name move_procedure

------------------------- -------------------- ----------------------------------------

logmnr system sys.dbms_logmnr_d.set_tablespace

logstdby system sys.dbms_logstdby.set_tablespace

streams sys

xdb xdb xdb.dbms_xdb.movexdb_tablespace

ao sys dbms_aw.move_awmeta

xsoqhist sys dbms_xsoq.olapimoveproc

xsamd olapsys dbms_amd.move_olap_catalog

sm/awr sys

sm/advisor sys

sm/optstat sys

sm/other sys

statspack perfstat

odm dmsys move_odm

sdo mdsys mdsys.move_sdo

wm wmsys dbms_wm.move_proc

ordim ordsys

ordim/plugins ordplugins

ordim/sqlmm si_informtn_schema

em sysman emd_maintenance.move_em_tblspc

text ctxsys dri_move_ctxsys

ultrasearch wksys move_wk

ultrasearch_demo_user wk_test move_wk

expression_filter exfsys

em_monitoring_user dbsnmp

tsm tsmsys

job_scheduler sys

26 rows selected.

这些组件占据这SYSAUX 表空间,所以这些组件的大小也就决定SYSAUX 表空间的大小。 根据这些组件创建时的初始化大小,SYSAUX 至少需要400M的空间。

还有一点要注意,就是这里的schema_name 对应的是用户名。

SQL> desc dba_users;

Name Null? Type

----------------------------------------- -------- ----------------------------

USERNAME NOT NULL VARCHAR2(30)

USER_ID NOT NULL NUMBER

PASSWORD VARCHAR2(30)

ACCOUNT_STATUS NOT NULL VARCHAR2(32)

LOCK_DATE DATE

EXPIRY_DATE DATE

DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)

TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)

CREATED NOT NULL DATE

PROFILE NOT NULL VARCHAR2(30)

INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)

EXTERNAL_NAME VARCHAR2(4000)

SQL> select username,account_status,default_tablespace from dba_users;

USERNAME ACCOUNT_STATUS DEFAULT_TABLESPA

------------------------------ -------------------------------- ----------------

MDDATA EXPIRED & LOCKED USERS

MDSYS EXPIRED & LOCKED SYSAUX

ORDSYS EXPIRED & LOCKED SYSAUX

CTXSYS EXPIRED & LOCKED SYSAUX

ANONYMOUS EXPIRED & LOCKED SYSAUX

EXFSYS EXPIRED & LOCKED SYSAUX

OUTLN EXPIRED & LOCKED SYSTEM

DIP EXPIRED & LOCKED USERS

DMSYS EXPIRED & LOCKED SYSAUX

DBSNMP OPEN SYSAUX

SCOTT EXPIRED & LOCKED USERS

WMSYS EXPIRED & LOCKED SYSAUX

SYSMAN OPEN SYSAUX

XDB EXPIRED & LOCKED SYSAUX

TSMSYS EXPIRED & LOCKED USERS

ORDPLUGINS EXPIRED & LOCKED SYSAUX

MGMT_VIEW OPEN SYSTEM

SI_INFORMTN_SCHEMA EXPIRED & LOCKED SYSAUX

OLAPSYS EXPIRED & LOCKED SYSAUX

SYS OPEN SYSTEM

SYSTEM OPEN SYSTEM

21 rows selected.

这里没有显示这些组件的描述信息,因为显示不全。 感兴趣的,可以自己查看一下。

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

v$sysaux_occupants 视图里有个move_procudure的过程。 这个过程就是用迁移组件信息的。就是对于已经安装好的组件,如果我们想把这些组件放到其他的空间,就可以使用这个存储过程。如果没有对应的过程,就不可移动。

这样做可以控制SYSAUX表空间的大小。 比如我们的AWR AWR SYSAUX 中占用空间最多的组件。 对于一个有10个并发session 的系统,就需要200M 的空间。当然,也可以修改AWR的保存策略来控制AWR所占用空间的大小。

. 示例:

2.1. Logminer SYSAUX 表空间,迁移到users表空间,在还原回来

1)查看之前的信息:

SQL> select OCCUPANT_NAME,OCCUPANT_DESC,SCHEMA_NAME,MOVE_PROCEDURE,SPACE_USAGE_KBYTES from v$sysaux_occupants where occupant_name='LOGMNR';

OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE SPACE_USAGE_KBYTES

--------------- --------------- -------------------- ---------------------------------------- ------------------

LOGMNR LogMiner SYSTEM SYS.DBMS_LOGMNR_D.SET_TABLESPACE 6080

2)移动

SQL> exec SYS.DBMS_LOGMNR_D.SET_TABLESPACE('USERS');

PL/SQL procedure successfully completed.

3)验证

SQL> select OCCUPANT_NAME,OCCUPANT_DESC,SCHEMA_NAME,MOVE_PROCEDURE,SPACE_USAGE_KBYTES from v$sysaux_occupants where occupant_name='LOGMNR';

OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE SPACE_USAGE_KBYTES

--------------- --------------- -------------------- ---------------------------------------- ------------------

LOGMNR LogMiner SYSTEM SYS.DBMS_LOGMNR_D.SET_TABLESPACE 0

--注意,这里占空的空间变成了0. 数据迁移到了USERS 表空间

4)还原到SYSAUX 表空间

SQL> exec SYS.DBMS_LOGMNR_D.SET_TABLESPACE('SYSAUX');

PL/SQL procedure successfully completed.

5)验证

SQL> select OCCUPANT_NAME,OCCUPANT_DESC,SCHEMA_NAME,MOVE_PROCEDURE,SPACE_USAGE_KBYTES from v$sysaux_occupants where occupant_name='LOGMNR';

OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE SPACE_USAGE_KBYTES

--------------- --------------- -------------------- ---------------------------------------- ------------------

LOGMNR LogMiner SYSTEM SYS.DBMS_LOGMNR_D.SET_TABLESPACE 6080

--大小又变回来了。

2.2 SYSAUX不能drop

SQL> drop tablespace SYSAUX including contents and datafiles;

drop tablespace SYSAUX including contents and datafiles

*

ERROR at line 1:

ORA-13501: Cannot drop SYSAUX tablespace

2.3 SYSAUX 不能重命名

SQL> alter tablespace SYSAUX rename to DAVE;

alter tablespace SYSAUX rename to DAVE

*

ERROR at line 1:

ORA-13502: Cannot rename SYSAUX tablespace

2.3 不能将SYSAUX 改成只读

SQL> alter tablesapce SYSAUX read only;

alter tablesapce SYSAUX read only

*

ERROR at line 1:

ORA-00940: invalid ALTER command

---------------------------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977() DBA3 群:62697850()

DBA 超级群:63306533(); DBA4 群: 83829929 DBA5群: 142216823

聊天 群:40132017 聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

分享到:
评论

相关推荐

    oracle ocp 052

    SYSTEM和SYSAUX是Oracle数据库中两个非常重要的表空间。SYSTEM表空间包含了数据库的数据字典表,这些表是任何Oracle数据库首先创建的对象。数据字典表和视图存储在SYSTEM表空间中。由于SYSTEM表空间在数据库打开时...

    Oracle数据库自带表空间的详细说明

    以下是对Oracle自带表空间的详细说明: 1. **SYSAUX表空间** SYSAUX表空间自Oracle Database 10g开始引入,作为SYSTEM表空间的辅助,旨在分散负担并优化数据库性能。它存储了除数据字典之外的其他元数据组件,例如...

    oracle11g系统结构说明

    - Oracle 11g中有几个特殊表空间,如`SYSTEM`表空间和`SYSAUX`表空间,它们是必须存在的表空间。 5. **段、区间和数据块**: - 段是由一系列区间组成的,而区间则是一系列连续的数据块组成。 - 数据块是数据库中...

    oracle 052题库解析

    选项A错误,因为AWR的所有表属于SYSMAN模式,存储在SYSAUX表空间中,而不是SYSTEM模式。选项B虽然提到AWR包含系统范围的跟踪和日志信息,但这个表述不够精确,因为AWR主要是收集性能统计数据。 3. 索引碎片化问题:...

    oracle常用操作语句

    ##### 特定表空间说明 - **UNDOTBS01.DBF**:存储回退信息,即执行数据修改语言(DML)操作后保留的旧数据信息。 - **SYSAUX01.DBF**:作为系统文件的辅助文件,用于存储支持Oracle系统活动的多种工具,如LogMiner。...

    ocp 052 最新认证题库,更新于2018年7月(157道题)

    数据字典基础表是任何Oracle数据库创建的首批对象,整个数据库的数据字典表和视图存储在SYSTEM表空间中。因为SYSTEM表空间在数据库打开时始终在线,所以在数据库打开时,数据字典始终可用。 - SYSAUX和SYSTEM表空间...

    手动建立oracle 9i资料库

    通常包括SYSTEM和SYSAUX表空间,用于存储Oracle的系统对象。 7. **初始化数据库**:运行`startup nomount`启动实例,然后用`CREATE DATABASE`命令创建实际的数据库结构。接着,挂载数据库(`ALTER DATABASE MOUNT`)...

    Oracle讲义

    系统表空间包括USERS、SYSTEM、TEMP、SYSAUX和UNDOTBS1,分别用于存储普通用户数据、系统数据、临时数据和撤销信息。自定义表空间允许用户根据需求创建,创建表空间需具备相应权限,语法包括指定表空间名称、数据...

    Oracle11g数据库管理基础二.docx

    - **关于SYSAUX表空间**:SYSAUX表空间用于存储辅助数据结构。 - **使用自动UNDO管理:建立UNDO表空间**:UNDO表空间用于存储事务回滚所需的数据。 - **建立默认固有表空间**:为默认的固有表空间设定名称和位置。 -...

    oracle11g OCM 题库_第一场

    - `SYSAUXDATAFILE`:指定SYSAUX表空间的数据文件位置及大小。 - `DEFAULT TEMPORARY TABLESPACE temp`:设置默认临时表空间为temp。 - `TEMPFILE`:指定临时表空间的临时文件位置及大小。 - `UNDOTABLESPACE ...

    Oracle的课堂ppt1

    常见的表空间包括SYSTEM(存放系统表和数据字典)、SYSAUX(辅助SYSTEM表空间)、UNDO(存储撤销信息)、USERS(推荐用户表空间)和TEMPORARY(临时表空间)。 2. **段** (Segment) 由表、索引和其他对象组成。 3....

    创建oracle数据库(RAC)实例过程说明.doc

    在Database Content页面中,不选择任何内容和功能,表空间设置为SYSAUX。这将创建一个空的数据库实例,供后续使用。 数据库服务 在Database Services页面中,点击左下角Add按钮,添加一个数据库服务。填入数据库...

    最新_Oracle_OCP_11G_题库中文版PDF

    正确答案D说明了当SMB占用超过30%的SYSAUX表空间时,会在警报日志文件中生成一个警告。 知识点五:自动存储管理(ASM) Oracle的自动存储管理(ASM)提供了一种用于管理数据库文件的高效方式,允许管理员简化磁盘...

    OracleRAC数据库测试报告.pdf

    - 表空间的大小、已使用空间和剩余可扩展空间被详细列出,例如DSSYNC、EXAMPLE、STAT、SYSAUX、SYSTEM、UNDOTBS1-3和USERS等表空间。大部分表空间的利用率都很高,但仍有足够的空间进行扩展。 5. **SQLNet网络侦听...

    【BBED】 SYSTEM文件头损坏的恢复.pdf

    在Oracle Database 10g及以后的版本中,一些之前占用SYSTEM表空间的对象被移动到了SYSAUX表空间,以减轻SYSTEM表空间的负担。这一改动使得在SYSTEM表空间文件头损坏时,依然可以从SYSAUX表空间获取一些关键信息来...

    oracle10g课堂练习I(2)

    SYSTEM 和 SYSAUX 表空间 1-18 段、区和块 1-19 逻辑和物理数据库结构 1-20 课程示例: HR 方案 1-22 数据库体系结构:结构化组件概要 1-23 小结 1-24 2 安装 Oracle 数据库软件 课程目标 2-2 Oracle ...

    oracle11G-OCP-052答案解析

    需要注意的是,A选项错误,因为AWR的所有表并不属于SYSTEM模式,而是属于SYSMAN模式,并存储在SYSAUX表空间中;B选项错误,AWR并不包含系统范围的跟踪和日志信息,而是专注于性能统计。 3. **索引碎片化**:索引的...

Global site tag (gtag.js) - Google Analytics