Oracle数据库系统表空间过大,清理SYSTEM、SYSAUX表空间

一.前言

在oracle数据库中,system为系统表空间,存放着一些我们经常用到的系统表和视图,sysaux为辅助表空间,辅助着系统表空间。这两个表空间不宜添加数据文件,会使系统表空间过于臃肿,从而影响数据库的使用。本文讲解如何正确清理这两个表空间内的数据。

二.SYSTEM表空间清理

system表空间存放这重要的系统表的信息,所以对于system表空间的操作要格外小心,要知道哪些可以清理,哪些不能清理。通常system表空间使用率较高都是因为数据库开启了审计日志,审计日志日益增大导致system表空间使用率较高。
查看system表空间占用空间比较大的对象 这里找出了大于100mb的所有对象

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;

在这里插入图片描述
查询结果发现AUD这个对象占用了大量的空间,AUD表是一个审计表。从11gr2版本开始,oracle把参数audit_trail自动设置为DB级别,导致很多数据库的操作被记录在审计表sys.aud中,造成sys.aud所在的表空间快速增长。可以直接使用truncate此表,释放空间。审计日志表的清理不会影响数据库的正常运行。

truncate table sys.aud$;

也可以关闭数据库的审计日志
-关闭审计(需重启数据库)

alter system set audit_trail=none scope=spfile;
showdown immediate;
startup;

或者把AUD$表移动到其他表空间
检查审计跟踪表的当前表空间

SQL> SELECT table_name, tablespace_name FROM dba_tables
WHERE table_name IN ('AUD$', 'FGA_LOG$') ORDER BY table_name; TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
AUD$                      		    SYSTEM
FGA_LOG$                   	        SYSTEM

检查当前两个表的大小

select segment_name,bytes/1024/1024 size_in_megabytes from dba_segments where segment_name in ('AUD$','FGA_LOG$');SEGMENT_NAME               SIZE_IN_MEGABYTES
-------------------  -----------------------------
AUD$             			       12
FGA_LOG$            	           .0625

使用过程DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION移动审计跟踪表 这里是移动到SYSAUX表空间 也可以新建表空间

SQL> BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,--this moves table AUD$
audit_trail_location_value => 'SYSAUX');
END;
/
PL/SQL procedure successfully completed.SQL> BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD,--this moves table FGA_LOG$
audit_trail_location_value => 'SYSAUX');
END;
/
PL/SQL procedure successfully completed.

检查表是否成功移动

SQL>select table_name,tablespace_name from dba_tableswhere table_name in ('AUD$','FGA_LOG$') order by table_name;TABLE_NAME              TABLESPACE_NAME
----------------------- ------------------------------
AUD$                    	 SYSAUX
FGA_LOG$                 	 SYSAUX

三.SYSAUX表空间清理

SYSAUX作为SYSTEM的辅助表空间 记录了AWR快照信息库、统计信息、审计信息等

查看SYSAUX表空间占用空间比较大的对象 查找出占用比较大的对象名都为WRH$开头 都为awr信息

select * from (select SEGMENT_NAME,sum(bytes)/1024/1024/1024 sx from dba_segments
where tablespace_name='SYSAUX' group by segment_name)
where sx>1 order by sx desc;

AWR报告默认是采取DELETE的方式进行过期信息删除的,相比TRUNCATE而言,就会产生大量的碎片,对于开启了自动扩展数据文件的表空间而言,碎片的现会象更加严重。
根据用DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE来删除快照耗时非常久,生产库这样子操作很危险,在执行该过程时后台实际运行的都是delete基表的动作,会导致归档日志切换频繁,产生大量归档从而导致归档目录空间不足.也很消耗undo,导致undo表空间不足.如果需要清理的快照信息不多,DROP_SNAPSHOT_RANGE是首要选择。如果需要清理的比较多,那么最好是先truncate后再通过包进行清理。

查看最大和最小快照号

SELECT MIN(SNAP_ID),MAX(SNAP_ID) FROM DBA_HIST_SNAPSHOT; 
SELECT MIN(SNAP_ID),MAX(SNAP_ID) FROM DBA_HIST_ACTIVE_SESS_HISTORY; 

进行truncate 如果需要保留 可以创建一个中间表 将需要保留的导入到中间表中 truncate后再导入回去

select 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;

truncate后 使用DBMS_WORKLOAD_REPOSITORY包清理快照信息 下面两个id写之前查到的快照id 如果不truncate直接通过包清理

EXECUTE DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(64921, 65641);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/452004.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

014_django基于大数据运城市二手房价数据可视化系统的设计与实现2024_3ahrxq75

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

Ajax处理错误信息(处理响应报文)

<!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><form action""><div>用户名<input type"text" class"username"></div>…

IDEA如何配置自己的maven和maven设置阿里云仓库

前言 我们在使用IDEA开发Java应用时&#xff0c;一般是需要配置maven仓库的&#xff0c;那么我们应该如何配置呢&#xff1f;此外&#xff0c;默认的maven仓库下载速度很慢&#xff0c;我们一般可以配置阿里云或者华为云仓库&#xff0c;这个又应该怎么配置呢&#xff1f; 如…

(小白教程)MPV.NET 播放器安装和添加Bilibili弹幕

MPV.NET安装和添加脚本 MPV跨平台播放器&#xff1a;该播放器基于流行的mpv媒体播放器。mpv.net 设计为与 mpv 兼容&#xff0c;几乎所有 mpv 功能都可用&#xff0c;这意味着官方mpv 手册适用于 mpv.net&#xff0c;差异记录在mpv.net 手册中。 主要差异是mpv.net为MPV添加了现…

MySQL-MHA高可用集群部署(二)(MySQL MHA High Availability Cluster Deployment Part II )

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

vscode pylance怎么识别通过sys.path.append引入的库

问题 假如我有一个Python项目 - root_path -- moduleA ---- fileA.py -- moduleB ---- fileB.py# fileAimport sys sys.path.append(moduleB)import fileB # vscode pylance找不到&#xff0c;因为sys.path.append(moduleB)是动态添加的print(fileB)结果 代码正常运行但是vs…

高校企业数据可视化平台功能介绍/特色功能

数据可视化平台是一款适用于高校教学和各领域企业的零门槛可视化工具&#xff0c;能够解决高校数据分析与可视化类课程教学、实训问题。平台采用B/S结构&#xff0c;用户不需要下载客户端&#xff0c;可通过浏览器进行访问。 数据可视化平台提供多种指标设计&#xff0c;学…

C语言数据获取与类型转换问题

1、问题描述2、问题定位3、问题解决参考链接 1、问题描述 在项目中&#xff0c;需要从遥控指令中获取4字节的物体坐标X轴信息&#xff0c;并存储于一个float变量tmp中。物体坐标X轴原始数据为int型&#xff0c;存在负数&#xff0c;遥控指令中的数是加上了2^31&#xff0c;并按…

Mac中安装以及配置adb环境

一、adb介绍 Android 调试桥 (Android Debug Bridge) 是一种功能多样的命令行工具&#xff0c;可让您与设备进行通信。adb 命令可用于执行各种设备操作&#xff0c;例如安装和调试应用。adb 提供对 Unix shell&#xff08;可用来在设备上运行各种命令&#xff09;的访问权限。…

RA6M5——GPIO

文章目录 GPIO输入输出RASC图形化配置输出模式&#xff1a;输入模式&#xff1a;配置选项&#xff1a; 接口函数实例代码&#xff1a; GPIO输入输出 RASC图形化配置 输出模式&#xff1a; 输入模式&#xff1a; 配置选项&#xff1a; 配置项取值/描述Model “Input mode”&a…

揭开 `html2text` 库的神秘面纱:HTML到文本的完美转换

文章目录 **揭开 html2text 库的神秘面纱&#xff1a;HTML到文本的完美转换**1. 背景介绍2. 库简介3. 安装方法4. 函数用法4.1 基本转换4.2 自定义配置4.3 处理文件4.4 批量处理4.5 Markdown支持 5. 应用场景5.1 网页内容转文本5.2 数据分析5.3 内容备份 6. 常见问题及解决方案…

k8s的部署和安装

k8s的部署和安装 一、Kubernets简介及部署方法 1.1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个阶段&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参…

请问:ESModule 与 CommonJS 的异同点是什么?

前言 本篇文章不会介绍模块的详细用法&#xff0c;因为核心是重新认识和理解模块的本质内容是什么&#xff0c;直奔主题&#xff0c;下面先给出最后结论&#xff0c;接下来在逐个进行分析。 ECMAScript Module 和 CommonJS 的相同点&#xff1a; 都拥有自己的缓存机制&#…

AnaTraf | TCP重传的工作原理与优化方法

目录 什么是TCP重传&#xff1f; TCP重传的常见触发原因 TCP重传对网络性能的影响 1. 高延迟与重传 2. 吞吐量的下降 如何优化和减少TCP重传 1. 优化网络设备配置 2. 优化网络链路 3. 网络带宽的合理规划 4. 部署CDN和缓存策略 结语 AnaTraf 网络性能监控系统NPM | …

不收费的数据恢复工具有哪些好用?快来看这五款:

大家好&#xff0c;今天我来跟大家分享一下使用不收费数据恢复软件的一些心得和体验&#xff1b;数据丢失是一件非常让人头疼的事情&#xff0c;尤其是对于那些重要文件来说&#xff1b;幸好&#xff0c;现在市面上有不少不收费的数据恢复软件可以帮助我们找回丢失的数据。接下…

Thread的基本用法

创建线程 方法一 继承Thread类 继承 Thread 来创建一个线程类. class MyThread extends Thread {Overridepublic void run() {System.out.println("这里是线程运行的代码");} } 创建 MyThread 类的实例 MyThread t new MyThread(); 调用 start 方法启动线程 t…

Java项目-基于Springboot的招生管理系统项目(源码+说明).zip

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【C语言刷力扣】2006.差的绝对值为K的数对数目

题目; 法一 解题思路&#xff1a; |num[i] - num[j]| k 可以理解为 num[j] num[i] k 和 num[j] num[i] - k 两种情况。 int countKDifference(int* nums, int numsSize, int k) {int ans 0;int hash[101];memset(hash, 0, sizeof(hash));for (int i 0; i < numsSize;…

【GAMES101笔记速查——Lecture 16 Ray Tracing4】

上节课的内容&#xff1a;辐射度量学、光线传播、反射方程、渲染方程、全局光照、概率论复习 这节课要介绍一种真实的渲染方法-蒙特卡洛路径追踪 目录 1 简单回顾 1.1 渲染方程&#xff08;The Rendering Equation&#xff09; 1.2 概率 2 蒙特卡洛积分&#xff08;Monte…

无人机初识及应用概览

随着科技的飞速发展&#xff0c;无人机作为一种新兴技术产品&#xff0c;逐渐走进了我们的日常生活和学习中。以下是对该文内容的全面总结&#xff0c;旨在帮助读者更好地理解和认识无人机的基本概念、分类、应用领域、国产标杆品牌以及四旋翼无人机的具体组成。 一、无人机的概…