系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > oracle > 详细页面

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

时间:2020-02-27来源:电脑系统城作者:电脑系统城

 
在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数据库当中,我们即可找出一个数据文件中保存有哪些对象, 又可以通过对象名(表名、索引名)定位到当前对象分布在哪些数据文件当中。
 
分享到:

相关信息

  • sql in查询元素超过1000条的解决方案

    1、方案一:核心思路是,将集合拆分,使用or 连接。 2、方案二:用子查询(临时表)+关联查询...

    2023-03-06

  • Navicat设置Oracle数据库主键自增的方法步骤

    天工作的时候,用到了oracle数据库建表,发现navicat中对于oracle的支持没有那个主键自增的按钮,下面这篇文章主要给大家介绍了关于Navicat设置Oracle数据库主键自增的方法步骤,需要的朋友可以参考下...

    2023-03-06

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载