system表空间空间不足解决办法

场景描述:

系统表空间空间不足,导致应用无法正常连接!!!

环境描述:

ORACLE 11G

查看当前表空间的整体使用情况,以及有没有开启自动扩展,以及扩展的最大限制!!!

---tablespace status 表空间使用情况
set pages 12222 lines 132
set serveroutput on size 1000000
col tablespace_name format a30
col autoextensible format a7
select a.tablespace_name,
       round(a.s,2) "CURRENT_TOTAL(MB)",
       round((a.s - f.s),2) "USED(MB)",
       f.s "FREE(MB)",
       round(f.s / a.s * 100, 2) "FREE%",
       g.autoextensible,
       round(a.ms,2) "MAX_TOTAL(MB)"
  from (select d.tablespace_name,
               sum(bytes / 1024 / 1024) s,
               sum(decode(maxbytes, 0, bytes, maxbytes) / 1024 / 1024) ms
          from dba_data_files d
         group by d.tablespace_name) a,
       (select f.tablespace_name, sum(f.bytes / 1024 / 1024) s
          from dba_free_space f
         group by f.tablespace_name) f,
       (select distinct tablespace_name, autoextensible
          from DBA_DATA_FILES
         where autoextensible = ‘YES‘
        union
        select distinct tablespace_name, autoextensible
          from DBA_DATA_FILES
         where autoextensible = ‘NO‘
           and tablespace_name not in
               (select distinct tablespace_name
                  from DBA_DATA_FILES
                 where autoextensible = ‘YES‘)) g
 where a.tablespace_name = f.tablespace_name
   and g.tablespace_name = f.tablespace_name order by "FREE%";

 

系统表空间正常情况下只存放了数据字典之类的东西,所以占用的空间一般在500M以下。如果你的系统表空间占用比较多的空间,可能有以下几方面的原因:
1)没有为用户明确指定默认表空间,导致system系统表空间作为用户默认表空间
2)开启了审计,请检查此表的大小AUD$

可以运行以下查询来检查一下系统表空间哪些表比较大:
   
SQL> select * from (select SEGMENT_NAME,sum(bytes)/1024/1024 sx from
dba_segments
                where tablespace_name=‘SYSTEM‘ group by
segment_name)
                where sx>100 order by sx desc;

查看该表纪录数
   select count(*) sum from AUD$;

解决方法大概可分为以下几种:
一、为system表空间另外新增一个数据文件。
    
alter tablespace system add datafile ‘D:\oracleXE\oradata\XE\system_01.dbf‘ resize 1024M;

二、更改system表空间的数据文件SYSTEM.dbf分配空间。

  1. alter database datafile ‘D:\oracleXE\oradata\XE\system_01.dbf‘ autoextend on;
  2. alter database datafile ‘D:\oracleXE\oradata\XE\system_01.dbf‘ resize 1024M;

三、truncate掉AUD$表并关闭审计功能(我是使用的这种,效果立竿见影,不过如果不关闭此功能, 需要定期清理此表):

SQL> alter system set audit_trail=none scope=spfile;

SQL>shutdown immediate;

SQL>startup;

四、将AUD$默认表空间由system移出。

 

时间: 2024-10-05 03:36:49

system表空间空间不足解决办法的相关文章

不同类型的数据跨表空间迁移的解决办法

http://blog.csdn.net/passion_wang/article/details/6541369 Oracle10g数据跨表空间迁移 因某些开发人员由于对oracle数据库理解的不够深入,往往在建表的时候指定了当前用户非默认的表空间,这样就导致了在exp及imp等操作时候问题很多,因此需要将这些表及相关的数据迁移回当前用户的默认表空间里.Oracle10g数据数据库提供了一个Move命令可以把这样的数据对象进行跨表空间的迁移,也可以对含有BLOB.CLOB这样的二进制大字段的表

ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件

转自原文 ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件 当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了.经过定位发现是"ORA-01653 " 即表空间满了,在这里简单记录下处理办法,长期来看Oracle是顶不住了,需要尽快切到Hadoop的Hbase里存储数据 参考如下SQL ----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT

配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法

今天遇到了这个问题, 电脑系统:vs2010 win7系统 iis7 我运行在iis中配置的那个网站后,报错:错误代码 0x800700b7 配置错误定义了重复的"system.web.extensions/scripting/scriptResourceHandler"节 这个问题原因在于window7的IIS默认用的是ASP.NET v4.0应用程序池. 解决方法:把这个网站的应用程序池的.netframework版本改为 v2.0的,如图: 1:选中应用程序池-->在右侧右

未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法

错误消息: 未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法 解决办法: 1, 若要解决该问题,请在 Visual Studio 2010 命令提示符下运行下面的命令行: aspnet_regiis.exe -i -enable 如果出现以下错误的时候我们就用方法2.. PM> aspnet_regiis.exe -i -enable无法将“aspn

php history.back返回后表单数据丢失的解决办法

js使用history.back返回表单数据丢失的主要原因就是使用了session_start();的原因,该函数会强制当前页面不被缓存.本文章向码农介绍php history.back返回后表单数据丢失的解决办法,感兴趣的码农可以参考一下. 解决办法如下: 在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出. 还有基于session的解决方法,在session_start前加上

oracle 归档空间满的解决办法

问题现象: 通过命令提示符登陆数据库,一般提示"ora-03113:通信通道的文件结尾"错误,查看trace日志,可以看到详细信息.部分摘录如下(橙色部分给出了建议方案): Errors in file g:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1368.trc: ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用 100.00%,

Windows无法连接到System Event Notification服务的解决办法

前几天安装了一个Windows漏洞补丁,装完没啥问题,但是接下来几天就莫名其妙地出问题,每次开机后资源管理器先挂一次倒也罢了,难以忍受的是本来网络好好的,突然就什么都连不上了,必须清理DNS缓存重启才能解决问题,而重启后又会挂一次资源管理器--虽然这种断网的情况出现频率不高,但是联系几天每天一次已经够麻烦了. 联想到前几天刚打的补丁,怀疑是这个补丁的问题,于是怒卸补丁立即重启,问题来了:开机奇慢(大约2~3分钟),进入桌面后所有网络都不可用,并且右下角气泡警告,信息大致是这样: Windows无

.NET:System.Security.Cryptography.CryptographicException 的解决办法

问题描述:微信退款提示加载证书失败问题(System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile) 详细内容参考此网址:http://social.msdn.microsoft.com/Forums/en-US/ec93922a-fd1e-4225-b5cf-1472ebb3acd1/systemsecuritycryptographycryptographicexception-the-system-ca

表单重复提交解决办法

表单重复提交是在多用户Web应用中最常见.带来很多麻烦的一个问题.有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次. 点击刷新按钮. 使用浏览器后退按钮重复之前的操作,导致重复提交表单. 使用浏览器历史记录重复提交表单. 浏览器重复的HTTP请求. 几种防止表单重复提交的方法 禁掉提交按钮.表单提交后使用Javascript使提交按钮disable.这种方法防止心急的用户多次点击按钮.但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了. 我之前的文章曾说过用一些

Oracle10g忘记system和sys密码的解决办法

C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 1月 9 09:59:23 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba 已连接. SQL> alter user system identified by "manager"; 用