oracle dbf 超大,system01.dbf文件过大——SYSTEM表空间AUD$使用空间过大问题处理
巡检时发现oracle数据库的system01.dbf数据文件超大,有32G大小,下面对system01.dbf进行排查占用大的问题及缩小空间
1、检查system表空间中占用空间最大对象
SELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;
aud$为审计功能
或用下面语句查看更详细些
查看system表空间中各个段占用空间的情况:
SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, SUM(BYTES)/1024/1024 FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' and rownum<20 GROUP BY OWNER, SEGMENT_NAME, SEGMENT_TYPE ORDER BY 4;
2、截断占用空间最大的AUD$表(需要确认审计信息是否需要保留):
---查看该表的大小:
SQL> select TABLE_NAME,NUM_ROWS,BLOCKS*8192/1024/1024/1024 from dba_tables where table_name='AUD$';
SQL> select bytes/1024/1024/1024 from dba_segments where segment_name='AUD$';
---清除aud$的数据SQL> truncate table sys.AUD$; 或 truncate table aud$;清除都可
Table truncated.
SQL> select bytes/1024/1024/1024 from dba_segments where segment_name='AUD$';
BYTES/1024/1024/1024
--------------------
.000061035
---查看system表空间的大小
SQL> SELECT a.tablespace_name, a.bytes/1024/1024/1024 total, b.bytes/1024/1024/1024 used, c.bytes free, (b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100) / a.bytes "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name and a.tablespace_name='SYSTEM';
* system空间已回收,可根据审计文件信息是否需要,如若需要部分审计信息可用delete删除
3、更改AUD$表的表空间为其他表空间(视情况而定)BEGIN
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, AUDIT_TRAIL_LOCATION_VALUE => '&AUD_TBS_NAME');
END;
4、若确认不需要审计,直接将审计功能关闭alter system set audit_trail=none scope=spfile;
需要重启才生效
5、释放system01.dbf文件占用空间
---查询可以计算出来一个数据文件可以resize到的大小:select a.file#, a.name, a.bytes/1024/1024 CurrentMB,
ceil(HWM * a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM * a.block_size)/1024/1024 ReleaseMB,
'alter database datafile '''||a.name||''' resize '|| ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD
from v$datafile a,
( select file_id, max(block_id+blocks-1) HWM
from dba_extents
group by file_id) b
where a.file# = b.file_id(+) and (a.bytes - HWM *block_size)>0 order by 5;
FILE#
----------
NAME
------------------------------------------------------------------------------------------------------------------------------------------------------
CURRENTMB RESIZETO RELEASEMB
---------- ---------- ----------
RESIZECMD
------------------------------------------------------------------------------------------------------------------------------------------------------
1
/u01/app/oracle/oradata/utf8/system01.dbf
32730 1277.99219 31452.0078
alter database datafile '/u01/app/oracle/oradata/utf8/system01.dbf' resize 1278M;
---然后执行下列语句,system01文件即可到释放到1G的空间alter database datafile '/u01/app/oracle/oradata/utf8/system01.dbf' resize 1278M;
oracle dbf 超大,system01.dbf文件过大——SYSTEM表空间AUD$使用空间过大问题处理相关推荐
- oracle数据库offline,system01.dbf文件被offline,导致数据库报ORA-01245 ORA-01110故障恢复...
对于这样的情况,可以使用自研的Oracle Recovery Tools工具快速修改scn,然后online数据文件即可 有朋友找到我,说数据库做recover报ORA-01245和ORA-01110 ...
- oracle 11g system01.dbf,oracle数据文件system01.dbf上有坏块,如何修复
问题:数据库被一同事shutdown abort后,无法启动,报错如下: ksedmp: internal or fatal error ORA-00600: internal error code, ...
- LINUX下查找大文件及大的文件夹
文章系转载,便于查找和归纳,源文地址 https://www.cnblogs.com/gspsuccess/p/9262140.html 1.如何查找大文件 其实很多时候,你需要了解 /u01/app ...
- oracle 无备份恢复数据文件
场景: 1.数据库没有备份 2.数据文件损坏 3.不符合使用控制文件和日志文件恢复的场景 1.模拟数据文件损坏 SYS@orcl11g> host cp /etc/passwd /u01/ ...
- oracle 如何添加数据文件,Oracle教程 误添加数据文件删除方法
如果是在Oracle10g之前,删除一个表空间中的数据文件后,其文件在数据库数据字典中会仍然存在,除非你删除表空间,否则文件信息不会清除. 但是从Oracle10gR2开始,Oracle允许我们彻底删 ...
- 【Oracle】重命名数据文件
1)查看当前数据文件位置 SQL> select file_id,file_name,tablespace_name from dba_data_files; FILE_ID FILE_NAME ...
- ORACLE实例控制文件删除恢复,Oracle案例:损坏控制文件的恢复方法
一: 损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了. 1.控制文件损坏, ...
- oracle不用密码备份,oracle用备份的控制文件恢复后不用resetlogs打开方式的恢复
在一般恢复备份 的控制文件,打开数据库 都要 用resetlogs 重置日志这种方式, 这是因为备份的控制文件恢复后,没有最新的当前在线日志信息 ,而重建控制文件 就 可以用 NORESETLOGS ...
- [Oracle]如何查看一个数据文件是否是自动扩展
开始 SQL> col file_id format 99 SQL> col file_name format a50 SQL> col tablespace_name format ...
最新文章
- 神鬼传奇小技巧:教你如何修改自己想要的时装
- Android老項目出现javax/xml/bind/JAXBException异常问题解决
- jQuery对象插件封装步骤
- Python 装饰器原理和基本实现
- JavaScript之childNodes属性、nodeType属性学习
- netty的Helloworld---netty学习笔记
- IOS开发基础之NSURLSession的使用
- mysql 大于号 优化_SQL优化 MySQL版 - 避免索引失效原则(二)
- Spring boot Mybatis 整合(注解版)
- 在不使用{}时,else执行到哪里结束
- WPF TextBox只能输入数字
- ipad如何与计算机连接网络连接不上,平板电脑网络连接不上怎么办
- css横向排列_CSS中伪元素和伪类的经典使用技巧
- 盘点各种程序员常用的框架,看看你是否落伍了?
- html5钟表带齿轮项目,基于HTML5的齿轮动画特效
- 1.2 cacti安装
- php7 aop,php之aop实践
- 数学分析:集合的基本概念
- 哪种存储器是非易失的_ROM是易失性存储器还是非易事性存储器?
- virutalbox 无线网卡桥接