• 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等)方法一样。



  • 相关阅读:
    写诊股广告页面遇到的问题
    移动端web页面滚动不流畅,卡顿闪烁解决方案
    用JS和JQ来获取子节点!
    CSS样式表的写作规范
    常用css3
    移动端引用echarts的折线图
    JS----获取DOM元素的方法(8种)
    随机对决
    字体
    Echarts个性化图表的样式--绘制南丁格尔图
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3036472.html
Copyright © 2020-2023  润新知