oracle缩小表空间

摘要:
如果数据库长时间使用,不可避免地会没有可回收的空间。如果空间太大,可以使用以下方法进行回收。

数据库用久了难免会出现没有回收的空间,如果空间太大可使用以下方法进行回收。


查询用个表所占用的空间:

SELECT
tablespace_name,
100*(sum_max-sum_alloc+nvl(sum_free,0))/sum_max AS capa_per,
(sum_max-sum_alloc+nvl(sum_free,0))/1024/1024  AS capa_free,
(sum_alloc - nvl(sum_free,0))/1024/1024 as capa_used,
sum_max/1024/1024 as capa_max,
100*nvl(sum_free,0)/sum_alloc As per,
nvl(sum_free,0)/1024/1024 as free,
(sum_alloc - nvl(sum_free,0))/1024/1024 as used,
sum_alloc/1024/1024 as max
FROM ( SELECT tablespace_name
, sum(bytes) AS sum_alloc
, sum(decode(maxbytes,0,bytes,maxbytes)) AS sum_max
FROM dba_data_files
GROUP BY tablespace_name
)
,( SELECT tablespace_name AS fs_ts_name
, sum(bytes) AS sum_free
FROM dba_free_space
GROUP BY tablespace_name )
WHERE tablespace_name = fs_ts_name(+)
order by 2,3;


其中MAX为当前占用磁盘空间(单位MB),USED为数据实际所需空间,FREE是可被回收的空间。

假设SYSTEM表MAX为10240M,USED为600M,数据存放于D:\ORADATA\DBA目录下,用以下命令将SYSTEM表空间缩小到610M:

alter database datafile  'D:\ORADATA\DBA\SYSTEM01.DBF' resize 610m;

其他表空间(如UNDOTBS1、INDX等)方法一样。



免责声明:文章转载自《oracle缩小表空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#获取Excel中所有的Sheet名称Java 使用stringTemplate导出大批量数据excel(百万级)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ubuntu下jdk的安装

ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 1.使用ppa/源方式安装 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get up...

oracle 监听文件 说明

MAR:电脑笔记 不做整理 。。 ORACLE_SID=orcl2 instance_name=sicca   静态注册文件中SID_NAME=ORACLE_SID 动态注册的时候是用的instance_name   在tnsname.ora中,动态注册的话,监听器知道实例的状态。注册的是参数文件中的instance_name 。客户端要与注册端保持...

Python连接oracle数据库

step1:下载cx_Oracle模块,cmd--pip install cx_Oracle step2: 1 import cx_Oracle #引用模块cx_Oracle 2 conn=cx_Oracle.connect('truck/******@10.7...

oracle-查询执行速度慢的sql

Oracle 查询每天执行慢的SQL 2014-12-11 18:00:04 分类: Oracle 链接:http://blog.itpub.net/28602568/viewspace-1364844/ 标题: Oracle 查询每天执行慢的SQL 作者:lōττéry©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责...

Oracle 异常处理

1、什么是异常 在PL/SQL中的一个警告或错误的情形都可被称为异常。包括编译时错误(PLS)和运行时错误(ORA)。一个异常通常包含一个错误代码和错误文本,分别指示异常的编号和具体错误信息。 异常情况处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,程序块的异常处理预定义的错误和自定义错误,由于PL/SQL程序块一旦产生异常而没有指出如何处...

Undo表空间数据文件损坏

   UNDO表空间数据文件和system表空间数据文件都是数据库的关键数据文件,如果损坏会导致sql执行失败,用户无法登录,甚至实例崩溃等。同样恢复UNDO表空间数据文件也必须在数据库mount状态下进行。    数据库在运行过程中发现UNDO表空间数据文件损坏,此时是无法正常关闭数据库的: SQL> shutdown immediate; ORA...