oracle之 SYSAUX表空间维护

简介:

1、查询表空间使用率
SQL> set linesize 400
SQL> set pagesize 400
SQL> 
SELECT D.TABLESPACE_NAME 表空间名称,SPACE "表空间(MB)",BLOCKS 总块数,SPACE - NVL(FREE_SPACE, 0) "已使用(MB)",
ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) "使用率(%)",FREE_SPACE "未使用(MB)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) FREE_SPACE 
FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);


2、查询 sysaux 表空间详细占用情况
SQL> 
col Schema for a25;
col Item for a25;
SELECT occupant_name "Item", 
space_usage_kbytes / 1048576 "Space Used (GB)", 
schema_name "Schema", 
move_procedure "Move Procedure" 
FROM v$sysaux_occupants 
ORDER BY 1 ;

Item Space Used (GB) Schema Move Procedure
------------------------------ --------------- --------------------------- ------------------------------------------
AO .101318359 SYS DBMS_AW.MOVE_AWMETA
AUDIT_TABLES 0 SYS DBMS_AUDIT_MGMT.move_dbaudit_tables
AUTO_TASK .000915527 SYS
EM .11517334 SYSMAN emd_maintenance.move_em_tblspc
EM_MONITORING_USER .001953125 DBSNMP
EXPRESSION_FILTER .010620117 EXFSYS
JOB_SCHEDULER .002380371 SYS
LOGMNR .030822754 SYSTEM SYS.DBMS_LOGMNR_D.SET_TABLESPACE
LOGSTDBY .00402832 SYSTEM SYS.DBMS_LOGSTDBY.SET_TABLESPACE
ORDIM .001281738 ORDSYS ordsys.ord_admin.move_ordim_tblspc
ORDIM/ORDDATA .046875 ORDDATA ordsys.ord_admin.move_ordim_tblspc
ORDIM/ORDPLUGINS 0 ORDPLUGINS ordsys.ord_admin.move_ordim_tblspc
ORDIM/SI_INFORMTN_SCHEMA 0 SI_INFORMTN_SCHEMA ordsys.ord_admin.move_ordim_tblspc
PL/SCOPE .001831055 SYS
SDO .14440918 MDSYS MDSYS.MOVE_SDO
SM/ADVISOR .102294922 SYS
SM/AWR 1.22515869 SYS
SM/OPTSTAT 11.755188 SYS
SM/OTHER .020568848 SYS
SMON_SCN_TIME .004394531 SYS
SQL_MANAGEMENT_BASE .004943848 SYS
STATSPACK 0 PERFSTAT
STREAMS .002929688 SYS
TEXT .010437012 CTXSYS DRI_MOVE_CTXSYS
TSM 0 TSMSYS
ULTRASEARCH 0 WKSYS MOVE_WK
ULTRASEARCH_DEMO_USER 0 WK_TEST MOVE_WK
WM .010253906 WMSYS DBMS_WM.move_proc
XDB .317932129 XDB XDB.DBMS_XDB.MOVEXDB_TABLESPACE
XSAMD .015014648 OLAPSYS DBMS_AMD.Move_OLAP_Catalog
XSOQHIST .101318359 SYS DBMS_XSOQ.OlapiMoveProc

31 rows selected.

2.1、
SM/OPTSTAT:
这将存储更老版本的优化器统计信息。
我们在Oracle Database 10g中有了新的功能,可以让您恢复旧的统计数据,以防在刷新数据时遇到执行计划回归。此数据的默认保留时间为31天。关于如何使用这一点的更多细节可以在注释452011.1中找到。严格地说,这不是AWR的一部分,因此不受AWR保留参数的控制,相反,我们可以使用DBMS_STATS包的ALTER_STATS_HISTORY_RETENTION过程来设置和更改该数据的保留时间。例如,您可以先检查当前保留时间,然后将其更改为不同的数量(在几天内),例如10天:

select dbms_stats.get_stats_history_retention from dual;
exec dbms_stats.alter_stats_history_retention(10);

如果您喜欢在某个时间戳之前特别清除数据,您可以使用PURGE_STATS过程。例如:
exec DBMS_STATS.PURGE_STATS(to_timestamp_tz('01-01-2018 00:00:00 Europe/London','DD-MM-YYYY HH24:MI:SS TZR'));


2.2、 AWR部分
SQL>
col SNAP_INTERVAL for a20
col RETENTION for a20
select * from dba_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
213111497 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT

说明:
SNAP_INTERVAL=+00000 01:00:00.0 :表示采样间隔是1小时
RETENTION=+00008 00:00:00.0 :表示采样数据保留期限是8天

SQL> 
begin 
dbms_workload_repository.modify_snapshot_settings ( 
interval => 60, --每小时一次
retention => 7*24*60, --保留7天
topnsql => 100 
); 
end;

注意:如果快照太多,占用太多空间,也可以删除一些快照:
select min(snap_id),max(snap_id) from dba_hist_snapshot; --查询最最小和最大快照ID

--删除 编号 10758至10900 快照
begin 
dbms_workload_repository.drop_snapshot_range( 
low_snap_id => 10758, --根据情况设置
high_snap_id => 10900, 
dbid => 387090299); DBID根据实际情况
end; 
/

说明:
(1)如果AWR没有用的话,可以将采样时间间隔调整为最长100年,同时,把采样数据保留时间调整到最小1天的方式实现“禁用”AWR。
SQL> BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 36500*24*60,
retention => 1*24*60);
END;
/
select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
4134757407 +36500 00:00:00.0 +00001 00:00:00.0 DEFAULT

 


本文转自 张冲andy 博客园博客,如需转载请自行联系 原作者原文链接:http://www.cnblogs.com/andy6/p/8276494.html


相关文章
|
6月前
|
存储 Oracle NoSQL
Oracle 表空间、数据文件、schema的关系
Oracle 表空间、数据文件、schema的关系
187 2
|
SQL 监控 Oracle
Oracle创建和管理表空间
Oracle创建和管理表空间
97 1
|
Oracle 关系型数据库 数据库
9-4 Oracle管理表空间和数据文件
9-4 Oracle管理表空间和数据文件
122 0
|
3月前
|
Oracle 关系型数据库 数据库
[oracle]拆分多用户的公共表空间
[oracle]拆分多用户的公共表空间
|
6月前
|
SQL Oracle 关系型数据库
Oracle 数据泵导出导入(映射表空间、Schema)
Oracle 数据泵导出导入(映射表空间、Schema)
|
6月前
|
Oracle 关系型数据库 数据库
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
|
6月前
|
存储 Oracle 关系型数据库
Oracle表空间:数据王国的疆域规划
【4月更文挑战第19天】Oracle中的表空间是逻辑存储结构,用于存放数据库对象的物理数据,是数据库性能优化和备份恢复的基础。表空间类型多样,如永久和临时表空间,需根据业务需求进行规划和管理。通过监控使用情况、利用自动扩展功能,可有效管理表空间,提高数据访问速度和可靠性。深入理解表空间有助于优化数据库存储和管理。
|
6月前
|
Oracle 关系型数据库
oracle 修改表空间文件路径方法
oracle 修改表空间文件路径方法
|
6月前
|
Oracle 关系型数据库 数据库
Oracle系列之五:Oracle表空间
Oracle系列之五:Oracle表空间
|
6月前
|
SQL Oracle 关系型数据库
Oracle查看表空间 及表空间是否需要扩展
Oracle查看表空间 及表空间是否需要扩展
62 0