天天看點

(ORACLE)檢視分區表的相關資訊

oracle資料庫如何檢視分區表的相關資訊呢?不知道你有沒有總結過這方面的知識。下面我們先建立兩個表test、 gprs_celltopvol_wk來做實驗,腳本如下:

假設你是一個開發人員或dba,你想檢視資料庫裡面那些表或某個表是否分區表,你可以用下面的幾種方法去檢視。

方法1:  

如圖所示截圖你會發現gprs_celltopvol_wk表的tablespcae_name為空,而表test的tablespcae_name為system,是以你可以通過tablespcae_name是否為空來判斷一個表是否為分區表。網上有人給出這種方法,但是要切記的是,不見得tablespcae_name為null,則該表就是分區表,兩者之間沒有互推關系。owner為hr的countries表就是一個例子。其實你可以通過 all_tables裡的字段partitioned的值為yes或no來區分該表是否是分區表。如下下所示

 select partitioned from all_tables where tablespace_name is null  

(ORACLE)檢視分區表的相關資訊
(ORACLE)檢視分區表的相關資訊

方法2 你可以通過dba_part_tables、 all_part_tables、 user_part_tables來檢視分區表資訊、這三者的具體差别如下: 

顯示資料庫所有分區表的資訊:dba_part_tables

顯示目前使用者可通路的所有分區表資訊:all_part_tables

顯示目前使用者所有分區表的資訊:user_part_tables

select * from all_part_tables where table_name = 'gprs_celltopvol_wk'

從dba_part_tables等表中你可以檢視分區表的基本資訊:例如分區表類型(通過partitioning_type字段檢視)、子分區類型(subpartitioning_type)、分區個數(partition_count)但是如果你想檢視該表的詳細分區資訊,那麼你可以通過dba_tab_partitions、all_tab_partitions、user_tab_partitions這三個表去檢視相關詳細資訊。三者之間的差別如下所示 

顯示oracle檢視分區表資訊 顯示資料庫所有分區表的詳細分區資訊:dba_tab_partitions

顯示目前使用者可通路的所有分區表的詳細分區資訊:all_tab_partitions

顯示目前使用者所有分區表的詳細分區資訊:user_tab_partitions 

(ORACLE)檢視分區表的相關資訊

如果您想檢視分區表的分區列資訊 ,那麼你可以通過dba_part_key_columns、all_part_key_columns、user_part_key_columns三個表來檢視相關資訊,如下圖所示,三者之間的差別如下所示

顯示目前使用者所有分區表的分區列資訊:user_part_key_columns 

顯示目前使用者可通路的所有分區表的分區列資訊:all_part_key_columns 

顯示分區列 顯示資料庫所有分區表的分區列資訊:dba_part_key_columns

(ORACLE)檢視分區表的相關資訊

如果你想檢視組合表的子分區資訊以及子分區列資訊情況,你可以從下面的這些表去檢視具體相關情況

顯示目前使用者所有組合分區表的子分區資訊:user_tab_subpartitions 

顯示目前使用者可通路的所有組合分區表的子分區資訊:all_tab_subpartitions 

顯示目前使用者所有分區表的子分區列資訊:user_subpart_key_columns

顯示目前使用者可通路的所有分區表的子分區列資訊:all_subpart_key_columns 

顯示子分區列 顯示資料庫所有分區表的子分區列資訊:dba_subpart_key_columns