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 owner,table_name,temporary,partitioned from dba_tables where temporary='YES' or partitioned ='YES'and table_name ='表名大寫';

查看是否為索引組織表的步驟:
select dbms_metadata.get_ddl('TABLE','COUNTRIES','HR') from dual;
如果該表的DDL語句中有 ORGANIZATION INDEX 關鍵字,說明該表為索引組織表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM