签到成功

知道了

CNDBA社区CNDBA社区

Oracle表空间 数据文件 高水位 查询脚本

2020-05-26 22:32 3158 0 原创 Oracle 19c
作者: dave

Oracle 收缩数据文件大小时,只能将大小收缩到数据文件的高水位。 比如之前大小是30G,如果都用完之后,那么数据文件的高水位就是数据文件的总大小,此时即使数据文件中没有对象,也无法进行收缩。 只能通过数据导出导入的方式来进行回收空间。 http://www.cndba.cn/cndba/dave/article/4175http://www.cndba.cn/cndba/dave/article/4175http://www.cndba.cn/cndba/dave/article/4175

http://www.cndba.cn/cndba/dave/article/4175
http://www.cndba.cn/cndba/dave/article/4175
http://www.cndba.cn/cndba/dave/article/4175

可以利用如下脚本查看数据文件的高水位:

http://www.cndba.cn/cndba/dave/article/4175
http://www.cndba.cn/cndba/dave/article/4175http://www.cndba.cn/cndba/dave/article/4175http://www.cndba.cn/cndba/dave/article/4175

SQL> col file_name for a70
SQL> SELECT *
      FROM (SELECT /*+ ordered use_hash(a,b,c) */
             a.file_id,
             a.file_name,
             a.filesize,
             b.freesize,
             (a.filesize - b.freesize) usedsize,
             c.hwmsize,
             c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,
            a.filesize - c.hwmsize canshrinksize
             FROM (SELECT file_id,
                          file_name,
                          round(bytes / 1024 / 1024) filesize
                     FROM dba_data_files) a,
                  (SELECT file_id, round(SUM(dfs.bytes) / 1024 / 1024) freesize
                     FROM dba_free_space dfs
                    GROUP BY file_id) b,
                  (SELECT file_id, round(MAX(block_id) * 8 / 1024) HWMsize
                     FROM dba_extents
                    GROUP BY file_id) c
            WHERE a.file_id = b.file_id
              AND a.file_id = c.file_id
            ORDER BY unsedsize_belowhwm DESC)
    WHERE file_id IN (SELECT file_id
                        FROM dba_data_files
                       WHERE tablespace_name = 'CNDBA')
ORDER BY file_id;


   FILE_ID FILE_NAME                                                                FILESIZE   FREESIZE   USEDSIZE    HWMSIZE UNSEDSIZE_BELOWHWM CANSHRINKSIZE
---------- ---------------------------------------------------------------------- ---------- ---------- ---------- ---------- ------------------ -------------
        10 /u01/app/oracle/oradata/cndba/datafile/cndba01.dbf                              2048       1969         79         78                 -1          1970

SQL>

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8178997次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ