大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说oracle中如何找出大表分布在哪些数据文件中的数据源_在一张表里怎么找出一样,希望您对编程的造诣更进一步.
ORACLE中如何找出大表分布在哪些数据文件中?
在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区、段分别位于哪些数据文件中
SET PAGESIZE 60;
代码100分
代码100分COL SEGMENT_TYPE FOR A12;
COL FILE_NAME FOR A64;
代码100分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数据库当中,我们即可找出一个数据文件中保存有哪些对象, 又可以通过对象名(表名、索引名)定位到当前对象分布在哪些数据文件当中。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9808.html