杂症二、SYSTEM表空间不足报错

一、杂症:

PLSQL登录,报错:

ORA-00604: 递归 SQL 层  出现错误

ORA-01653: 表.无法通过(在表空间中)扩展

ORA-02002: 写入审记线索时出错

二、病理:

1、表空间不足

2、数据库的审计功能已经开启引起(SYS.AUD$表)

三、病因定位:

先连接上数据库:

# su oracle

# sqlplus /nolog

SQL> conn /as sysdba          //重新连接

SQL> startup mount;             //挂起

SQL> alter database open;   //打开数据库

执行下面SQL,查看表空间使用情况

SELECT

UPPER(F.TABLESPACE_NAME) "TABLESPACE_NAME",

D.TOT_GROOTTE_MB "TABLESPACE_SIZE(M)",

D.TOT_GROOTTE_MB - F.TOTAL_BYTES "TABLESPACE_USED(M)",

TO_CHAR (ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "TABLESPACE_USED_BI",

F.TOTAL_BYTES "TABLESPACE_FREE(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;

SYSTEM表空间使用比 已经达到 99.81。

四、治疗:

表空间不足治疗:

方案一:若表空间不是自增,则修改为自增模式。(不适合此次原因)

先查看表空间是否自增

SQL > select FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;

YES 说明是自增的

如果是NO则执行下面 SQL,修改模式:

SQL > alter database datafile '/home/app/XXX/oradata/XXX/system01.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

注:根据自己SYSTEM对应的的数据文件路径填写,50M为每次自增的大小。

方案二:扩大表空间对应的数据文件大小 (不适合此次原因)

可得 对应的表空间文件已经 32G了。

规定 表空间所对应的数据文件不能超过32G。

若没有达到则可以通过 扩大表空间对应文件的大小,SQL为:

SQL > alter database datafile '/home/app/XXX/oradata/XXX/system01.dbf' resize 32000M;

方案三:为SYSTEM表空间增加一个数据文件SYSTEM02.DBF (不适合此次问题原因)

大小:500M ,  自增大小:50M

SQL> alter  tablespace "SYSTEM" add datafile '/home/app/XXX/oradata/XXX/system02.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

注:一个表空间能对应多个数据文件,但一个数据文件只能对应一个表空间

方案四:清空AUD$表数据并关闭审计功能(根本原因,笔者使用了该方案)

1、查sys.aud$及其索引 占用大小

SQL> SELECT t.owner, t.segment_name,SUM(bytes)/1024/1024/1024 as SIZE_G

FROM dba_segments t

WHERE t.tablespace_name = 'SYSTEM' and t.segment_name='AUD$'

GROUP BY t.owner,t.segment_name

ORDER BY SUM(bytes) desc;

可怕,就是这个审计表,达到了31个G了,问题就在此。

2、清空AUD$:

SQL> truncate table AUD$;

3、查看审计功能

SQL> show parameter audit

4、关闭审计功能:

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

如果只是清理 AUD$表,问题已经解决,但是时间久后,问题还是会复现,如果不需要审计数据可以关闭审计功能永久解决。

注:此上方案解决后,需要重启

SQL> shutdown immediate;   //关闭

SQL> startup mount;             //挂起

SQL> alter database open;   //打开数据库

转自:https://blog.csdn.net/heshushun/article/details/80899839

oracle问题之SYSTEM表空间不足 (二)的更多相关文章

  1. oracle数据库解决system表空间已爆满的问题

    有时会发现数据库system表空间增长很快,使用以下语句查看system表空间使用量.也可以使用toad直接看. select b.tablespace_name "表空间", b ...

  2. Oracle system表空间满的暂定解决方法

    Oracle system表空间满的暂定解决方法 数据库用的是Oracle Express 10.2版本的.利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过 ...

  3. [Oracle]System 表空间的文件丢失

    如果system 表空间的文件丢失,假设有备份的情况,可以恢复.数据库需要设置为mount 状态,然后restore/recover datafile 模拟实验: SQL> select nam ...

  4. 由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想

    0x00--目的 整理一下以前一个SYSTEM表空间和SYSAUX表空间使用率达到99%上限的处理思路和相关知识点,好记性不如烂笔头 0x01--表空间使用率现状 通过查询可得知目前表空间使用情况如下 ...

  5. ASM时的OFM特性对影的建数据文件名称的影响及为SYSTEM表空间的数据文件使用别名

    客户遇到个DG的问题,存储使用的ASM管理,有多个磁盘盘. 在主库创建数据文件,备库自己主动创建的数据文件都在同一磁盘组,而且在主库创建数据文件是指定的是类似**.DBF的名字,到备库也变成了使用AS ...

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

    场景描述: 系统表空间空间不足,导致应用无法正常连接!!! 环境描述: ORACLE 11G 查看当前表空间的整体使用情况,以及有没有开启自动扩展,以及扩展的最大限制!!! ---tablespace ...

  7. ORACLE体系结构一 (逻辑结构)-表空间、段、区和数据块

    一.Oracle的逻辑结构 Oracle的逻辑结构是一种层次结构.主要由:表空间.段.区和数据块等概念组成.逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构.数据库存储层次结构 ...

  8. SYSTEM 表空间管理及备份恢复

    标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声 ...

  9. 实例讲解Oracle数据库设置默认表空间问题

    实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在O ...

随机推荐

  1. jsqlparser和calcite和druid功能对比

    需求分析:(用其它方法替代metabase中的某些功能)功能1.通过对sql查询语句的分析,得到所有表名,以及所有表的字段名,字段类型,字段注解信息.功能2.在sql语句执行查询前,校验sql语句是否 ...

  2. webhook功能概述

    1.什么是webhook? webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送. 举个常用例子,比如你的好友发了一条朋友圈,后端 ...

  3. 【E20200101-1】Centos 7.x 关闭防火墙(firewall)和SELinux

    一.准备工作 1.1.服务器准备 操作系统:centos 7.x 1.2.安装好用的文本编辑工具nano # yum -y install nano 二.关闭SELinux 2.1.查看SELinux ...

  4. shell脚本查找tcp过多ip地址封掉

    #!/bin/bash #hc source /etc/profile iplist=`netstat -ntu | awk '{print $5}'| cut -d':' -f1| sort |un ...

  5. 【题解】GREWords(AC自动机)

    [题解]GREWords(AC自动机) SP9941 GRE - GRE Words 题目大意: 给定一个由字符串构成的序列,不同位置的字符串有自己权值.现在让你选出一个子序列,使得在这个子序列中,前 ...

  6. 洛谷$P4045\ [JSOI2009]$密码 $dp$+$AC$自动机

    正解:$dp$+$AC$自动机+搜索 解题报告: 传送门$QwQ$ 首先显然先建个$AC$自动机,然后考虑设$f_{i,j,k}$表示长度为$i$,现在在$AC$自动机的第$j$个位置,已经表示出来的 ...

  7. 【汇编】AX内容依次倒排序

    ;P99,5.13,ax内容倒序 ;思路,ax左移一位最高位进cf里,bx右移一位把cf里值进bx的最高位, ;循环16次即实现ax16位内容倒序存储在bx中 DATA SEGMENT DATA EN ...

  8. Ant Design Pro路由传值

    Ant Design Pro 路由传值 了解Ant Design Pro组件间通讯原理的小伙伴肯定都知道,两个页面之间可以通过Models进行传值,在以往的传值过程中,我都是直接将需要的值直接一股脑的 ...

  9. Salesforce LWC学习(十) 前端处理之 list 处理

    本篇参看:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array list是我们经 ...

  10. Django之models高级进阶技术详解

    目录 一.常用字段 1.AutoField 2.IntegerField 3.CharField 4.自定义及使用char 5.DateField 6.DateTimeField 二.字段合集 三.字 ...