zoukankan      html  css  js  c++  java
  • ORACLE中如何找出大表分布在哪些数据文件中?

    ORACLE中如何找出大表分布在哪些数据文件中?

     

    在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区、段分别位于哪些数据文件中

     

    SET PAGESIZE 60;
    COL SEGMENT_TYPE FOR A12;
    COL FILE_NAME FOR A64;
    COL SEGMENT_NAME FOR A24;
    COL TABLESPACE_NAME FOR A24;
    COL SEGMENT_OWNER FOR A12;
    SELECT E.OWNER                    AS SEGMENT_OWNER, 
           E.SEGMENT_TYPE             AS SEGMENT_TYPE, 
           E.SEGMENT_NAME             AS SEGMENT_NAME, 
           E.PARTITION_NAME           AS PARTITION_NAME, 
           E.TABLESPACE_NAME          AS TABLESPACE_NAME, 
           F.FILE_NAME                AS FILE_NAME, 
           SUM(E.BYTES) / 1024 / 1024 AS SEGMENT_SIZE 
    INNER JOIN DBA_DATA_FILES F ON E.FILE_ID= F.FILE_ID
    WHERE         E.OWNER='&OWNER'
            AND E.SEGMENT_NAME='&SEGMENT_NAME'
    GROUP BY E.OWNER
            ,E.SEGMENT_TYPE
            ,E.PARTITION_NAME
            ,E.SEGMENT_NAME
            ,E.TABLESPACE_NAME
            ,F.FILE_NAME
    ORDER BY SEGMENT_SIZE DESC;

     

     

    其实之前写过一篇博客ORACLE查看数据文件包含哪些对象,这个脚本只是那个脚本的变异版本,本质没有区别。所以,在ORACLE数据库当中,我们即可找出一个数据文件中保存有哪些对象, 又可以通过对象名(表名、索引名)定位到当前对象分布在哪些数据文件当中。

  • 相关阅读:
    品鉴-宋词
    【转载】全球水质最棒的十大景点
    Python文档管理与格式化工具
    Python音频处理
    Python剪切板提取、截图、图片粘贴,操作汇总
    Python多进程
    Wifi配置
    条码生成与解析
    谎言: “太空能看到的惟一的人工痕迹,长城!”
    VNC-Server安装配置详解
  • 原文地址:https://www.cnblogs.com/kerrycode/p/12370541.html
Copyright © 2011-2022 走看看