Oracle 扩展sysaux,oracle 清理SYSAUX表空间
简介
oracle 清理SYSAUX表空间
处理思路
1、查询表空间使用情况1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
2、查看一下表空间是否开启自动扩展功能1
2
3
4SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;
3、查询下SYSTEM和SYSAUX表空间的使用率1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38SELECT * FROM (
SELECT D.TABLESPACE_NAME,
SPACE || 'M' "SUM_SPACE(M)",
BLOCKS "SUM_BLOCKS",
SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",
ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'
"USED_RATE(%)",
FREE_SPACE || 'M' "FREE_SPACE(M)"
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(+)
UNION ALL
SELECT D.TABLESPACE_NAME,
SPACE || 'M' "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
USED_SPACE || 'M' "USED_SPACE(M)",
ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)",
NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)"
FROM ( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,
SUM (BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE,
ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
ORDER BY 1)
WHERE TABLESPACE_NAME IN ('SYSAUX','SYSTEM');
4、查看下使用SYSTEM和SYSAUX表空间的比较大的表有哪些1
2
3
4select * from (
select segment_name,sum(bytes)/1024/1024 total_mb,tablespace_name from dba_segments where tablespace_name in
('SYSTEM','SYSAUX') group by segment_name,tablespace_name order by 2 desc)
where rownum <=20;
5、可见,大表大部分都是AUD $和$ WRH开头的AWR基表,AUD $使用SYSTEM表空间,AWR的基表使用SYSAUX表空间,下面再查看下SYSAUX表空间的使用情况,可以通过V $ SYSAUX_OCCUPANTS视图查询到。1
2
3
4
5
6SELECT occupant_name "Item",
space_usage_kbytes / 1048576 "Space Used (GB)",
schema_name "Schema",
move_procedure "Move Procedure"
FROM v$sysaux_occupants
ORDER BY 1 ;
6、首先清理审计的数据,如果要保留部分AUD $里面记录的审计数据,可以把想要的数据插入到一张临时表,然后直接截断这张表就可以了,截断操作会直接回收AUD $占用的空间。
但由于是正式库,怕truncate操作会带来其他的一些问题,不直接做truncate,而是执行以下命令:1
2
3
4
5
6truncate table sys.aud$ reuse storage;
alter table sys.aud$ deallocate unused keep 8640m;
alter table sys.aud$ deallocate unused keep 7000m;
alter table sys.aud$ deallocate unused keep 6000m;
...
alter table sys.aud$ deallocate unused keep 10m;
truncate过程1-2分钟之内结束,最后sys.aud$变成10M。
解释:思路就是在前面执行truncate的时候,降低了HWM但没释放空间。 alter table sys.aud$ deallocate unused keep 6000m; 这个命令,就是一点一点释放HWM之上的自由空间,最后保留10m空间,因为我们这个表是要继续使用,而不是要删除。
7、清理WRH$表 生成删除段内容语句1
2
3
4
5
6select distinct 'truncate table '||segment_name||';',s.bytes/1024/1024
from dba_segments s
where s.segment_name like 'WRH$%'
and segment_type in ('TABLE PARTITION', 'TABLE')
and s.bytes/1024/1024>100
order by s.bytes/1024/1024/1024 desc;
8、删除表1
2
3
4
5
6
7
8
9
10truncate table WRH$_ACTIVE_SESSION_HISTORY;
truncate table WRH$_EVENT_HISTOGRAM;
truncate table WRH$_LATCH;
truncate table WRH$_SQLSTAT;
truncate table WRH$_SYSSTAT;
truncate table WRH$_PARAMETER;
truncate table WRH$_SQL_PLAN;
truncate table WRH$_LATCH_MISSES_SUMMARY;
truncate table WRH$_SEG_STAT;
truncate table WRH$_SYSTEM_EVENT;
9、验证表空间1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
以上,
End
Oracle 扩展sysaux,oracle 清理SYSAUX表空间相关推荐
- oracle 增加ora容量_oracle数据库报错:ORA-01653无法在表空间扩展解决办法 ,增加表空间或表空间增加数据文件...
当Oracle数据库的数据量越来越大,表空间的大小不够用的时候,会报错:"ORA-01653 ", 即表空间满了,无法在表空间扩展解决办法 ,增加表空间或表空间增加数据文件.在这里 ...
- oracle还原system备份包,SYSTEM表空间管理及备份恢复
--============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracl ...
- Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...
- Oracle之同义词,DBLINK,表空间
昨天讲了物化视图了,今天讲一下同义词的这个概念 就是synonym,反正这个我叫习惯了,这个同义词了解过吗,这个可能了解的不多吧,MYSQL里面有同义词的概念吗,给我点反馈,你用MYSQL里面有同义词 ...
- oracle plsql创建表空间,Oracle在PLSQL Developer上创建表空间和用户脚本 - 龙卷风的日志 - 网易博客...
Oracle在PLSQL Developer上建立表空间脚本 创建表空间 一. create tablespace MOF_TEMP //name datafile 'D:\oracle\produc ...
- Oracle入门(七)之表空间
表空间 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在指定的表空间中.但主要存放的是表, 所以称作表空间. Oracle数据库中至少存在一个表空间,即SYSTEM的表 ...
- 玩转oracle 11g(5):表空间的作用
表空间是oracle内部定义的一个概念,是为了统一oracle物理和逻辑 上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数 据文件构成的(至少1对1,可以1对多),从逻辑上来 ...
- linux oracle 删除为空的dbf,Linux上Oracle误删除一个没有用的dbf表空间文件
在Linux下面安装好Oracle只有,Linux 下面就会有一个Oracle用户,Linux上Oracle误删除一个没有用的dbf表空间文件,导致数据库连接 在Linux下面安装好Oracle只有, ...
- oracle 11g的audit导致system表空间快速增长的问题
oracle 11g的audit导致system表空间快速增长的问题 分类: oracle 2012-03-23 16:20 ...
- oracle有几种类型表空间,oracle 数据创建时如何指定表空间类型
oracle建表时指定了表空间为何没起作用? oracle 12c /windows ,实验过程如下: 1.建第一个表空间data_tbs_01,数可以直接在创建语句后面追加"tablesp ...
最新文章
- Element-ui表格选中回显
- 学习Web前端需要避免哪些错误
- 计算机公式column,函数公式的左膀右臂:ROW、COLUMN函数知多少
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定...
- ARM的UART实验
- 小贷公司的风险成因及应对策略——风险篇
- vue 设置背景图地址_vue-生成自动铺满的背景图
- 涂鸦智能传感合作伙伴大会圆满落幕,打造安防传感新生态
- 最新最全git使用大全
- Excel作统计图表
- conda命令:管理包、管理环境
- TestNG单元测试框架详解
- 2019.9.6HTML5学习心得02
- Vue.js实战——内置指令(二)
- java毕业生设计学习类视频网计算机源码+系统+mysql+调试部署+lw
- RS422的接终端电阻设计
- TCPIP详解Protocol 读书笔记(三) IP协议讲解
- 飞凌 修改ip地址 linux,[新手指导]imx6开发板 IP及MAC地址修改
- Image加载二进制数据图片
- 分布式文件系统 -- Minio
热门文章
- 07.移动先行之谁主沉浮----控件之轮流轰炸——布局类控件
- T4生成实体,单张表和多张表
- HTTP Error: 413 Request Entity Too Large的解决
- 解决Redis修改bind域名绑定后出现Could not connect to Redis
- 关于K-Means算法
- Exchange 2003 升级 2010地址列表升级
- 使用Profiler Blocked Process Report Alert 监控数据库Blocking
- asp.net页面的验证码代码
- (47)LINUX应用编程和网络编程之二Linux文件属性
- 抛物线、导弹线轨迹计算