ORACLE数据库占用大量硬盘空间常规解决方法

通常ORACLE数据库占用硬盘空间过大的原因有这么几个(以oracle 10.2.0版本为例):

  1、oracle的安装目录...\oracle\product\10.2.0\admin\orcl\udump目录下,追踪日志文件占用大量硬盘空间;

  2、oracle的安装目录...\oracle\product\10.2.0\oradata\orcl目录下,UNDO表空间文件占用大量硬盘空间。

  针对以上两个问题,解决方法如下。

  第一个问题解决方法:

  udump目录下面是oracle的追踪日志文件,如果平常不去关心的话,建议删除掉。对数据库不会造成影响。另外在SQLPLUS中输入:

  alter system set sql_trace =false;

  如果需要保留追踪日志文件的,那可以给设定一个限额。命令行如下:

  alter system set max_dump_file_size=‘100m‘ ;

  注:max_dump_file_size默认大小值的单位是数据块,因此如果限定了大小为100M,需要加单引号。

  第二个问题的解决方法:

  需要回收UNDO表空间。先创建一个新的过度的表空间UNDOTBS02,将UNDO表空间指向到UNDOTBS02,然后DROP原来的表空间UNDOTBS01,删除UNDOTBS01.DBF文件,释放磁盘空间。接着创建新的表空间UNDUTBS01,再将UNDO表空间指向到新建表空间的UNDOTBS01,DROP过度的表空间UNDOTBS02。

  具体操作如下:

  1)使用DBA登陆SQLPLUS

  2)建立过度表空间undotbs02

  create undo tablespace undotbs02 datafile ‘e:\undotbs02.dbf‘ size 100M;

  3)切换UNDO表空间为新的UNDO表空间

  alter system set undo_tablespace=undotbs02 scope=both;

  4)删除原UNDO表空间

  drop tablespace undotbs01 including contents;

  5)删除硬盘上...\oracle\product\10.2.0\oradata\orcl目录下的undotbs01.dbf文件。

  6)建立新的表空间undotbs01,切换UNDO表空间到新建的undotbs01,删除undotbs02表空间。方法同上。

  至此,完成了UNDO表空间回收。

  上面的操作是临时解决UNDO表空间过大的方法。Oracle的AUM(Auto Undo Management)从出生以来就经常出现只扩展,不收缩(shrink),通常我们可以设置足够的UNDO表空间大小,然后取消其自动扩展属性。

ORACLE数据库占用大量硬盘空间常规解决方法

时间: 2024-12-10 20:50:45

ORACLE数据库占用大量硬盘空间常规解决方法的相关文章

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

实例讲解Oracle数据库设置默认表空间问题 实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间.导致系统

查看oracle数据库的大小和空间使用情况

查看oracle数据库的大小和空间使用情况 (2012-06-19 14:44:30) 转载▼ 标签: 杂谈 分类: oracle 1.查看表空间的使用状况 SELECT upper(f.tablespace_name) 表空间名, d.Tot_grootte_Mb "表空间大小(M) ", d.Tot_grootte_Mb - f.total_bytes "已使用空间(M) ", round((d.Tot_grootte_Mb - f.total_bytes) /

Unity3D占用内存太大的解决方法【先转,慢慢看】

Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一

新增硬盘后,其他盘变成未分区空间的解决方法

许多人为了加速开机速度,提升电脑运行能力,于是买了新的固态硬盘来做主硬盘,原来的硬盘用光驱硬盘托架扩展. 在其过程中,会暴露许多问题,下面我来帮助大家解决一个最常见的问题:新增硬盘后,原来的已有盘变成了为分区空间. 现象:新增硬盘后,原来的已有盘变成了为分区空间. 解决方法: 1.下载分区助手或者是DiskGenius 下载地址: 分区助手:http://www.onlinedown.net/soft/250766.htm DiskGenius:http://rj.baidu.com/soft/

Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法

Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法 在企业版Eclipse中,在已经启动了Tomcat服务器后,准备运行页面或Servlet时,有时会出现这样的关于Tomcat服务器端口占用的问题: “Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be running in ano

关于inodes占用100%的问题及解决方法

#df shows no file systems processedPosted by John Quaglieri on 27 July 2012 07:26 AMA df -m command on the system shows: df -mdf: no file systems processed on Openvz file systems are mounted on the hostnode. In order for openvz to know about the file

SQL Server附加数据库出现错误5123的正确解决方法

SQL Server附加数据库出现错误5123的正确解决方法 因为自己有一本基于SQL Server 2005的数据库教程,里边使用的示例数据库是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008.起初我以为示例数据库AdventureWorks for SQL Server 2005 与AdventureWorks for SQL Server

SQL Server 2014 无法打开用户默认数据库 登录失败错误4064的解决方法

SQL Server 2014 无法打开用户默认数据库 登录失败错误4064的解决方法 晚上干了件蠢事,删除了管理员账户的默认数据库,紧接着就出现了标题里面的报错. 解决办法如下: 第一步:打开命令控制台 Win+R打开运行,输入CMD 第二步:复制粘贴如下命令 sqlcmd -E -d"master" -Q"exec sp_defaultdb N'PC\Admin', N'master'" 注意:把上条命令PC\Admin改成自己实际的账户,使用BackSlash

oracle分页查询结果集重复问题&解决方法

做项目时,无意间发现了分页上的一个bug,在此记录一下: 首先手动将后台输出的sql语句复制进oracle中查看,以便排查错误,对比以下视图前10条的结果集与10到20条的结果集,发现大部分记录出现重复现象,SQL语句如下: --前10条记录 select *   from (select row_.*, rownum rownum_           from (select t.idcard, count(1)                   from sampling.v_unvou