Oracle 有的表查不到归属表空间

--查看一个用户下有哪些表属于哪个表空间
select * from all_tables where owner = '表名大写';

问题:
有时一些表查不到属于哪个表空间,在 all_tables 中 tablespace_name 字段为空

原因:
dba_tables/all_tables 表中 tablespace_name 列,当某表为分区表,临时表或索引组织表的时候,该列值为空(官方文档解释)。
查看该表是否为分区表或临时表,可以通过 dba_tables 表中的 temporary ,partitioned 字段查看。

--查看用户下哪些表是分区表或临时表
select * from dba_tables where temporary='YES' or partitioned ='YES' and owner='用户名大写';

查看是否为索引组织表的步骤:
select dbms_metadata.get_ddl('TABLE','COUNTRIES','HR') from dual;
如果该表的DDL语句中有 ORGANIZATION INDEX 关键字,说明该表为索引组织表。

上一篇:SQL 数据库学习之路-转自大神笔记


下一篇:linux硬链接与软链接的联系与区别