ORACLE數據庫如何查看分區表的相關信息

ORACLE數據庫如何查看分區表的相關信息呢?不知道你有沒有總結過這方面的知識。下面我們先創建兩個表TEST、 GPRS_CELLTOPVOL_WK來做實驗,腳本如下:

CREATE TABLE GPRS_CELLTOPVOL_WK
 (
       DATE_CD                 NUMBER ( 8 ) NOT NULL                      ,
       WK_CD                   NUMBER ( 2 ) NOT NULL                      ,
       CITY_ID                 NUMBER ( 10 )                             ,
       CELL_EN_NAM            VARCHAR2 ( 64 ) NOT NULL                    ,
       CELL_CN_NAM            VARCHAR2 ( 64 ) NOT NULL                    ,
       CELL_VOL               NUMBER                                    ,
       CELL_VOL_PCT           NUMBER                                    ,
       AVG_RAT                 NUMBER                                    ,
       CONSTRAINT PK_GPRS_CELLTOPVOL_WK PRIMARY KEY (DATE_CD, WK_CD, CITY_ID, CELL_EN_NAM, CELL_CN_NAM)
) PARTITION BY RANGE(DATE_CD)
    (
            PARTITION TEST_RANGE_1 VALUES LESS THAN (201104) TABLESPACE USERS,
            PARTITION TEST_RANGE_2 VALUES LESS THAN (201105) TABLESPACE USERS,
            PARTITION TEST_RANGE_3 VALUES LESS THAN (201106) TABLESPACE USERS
    );
/


COMMENT ON TABLE GPRS_CELLTOPVOL_WK IS 'GPRS流量小區周分析'
/

COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.DATE_CD             IS '日期編碼'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.WK_CD               IS '周次編碼'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.CITY_ID             IS '地市編碼'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.CELL_EN_NAM          IS '小區英文名'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.CELL_CN_NAM          IS '小區中文名'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.CELL_VOL             IS '小區流量'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.CELL_VOL_PCT        IS '小區流量佔比'
/                                                          
COMMENT ON COLUMN GPRS_CELLTOPVOL_WK.AVG_RAT             IS '平均速率'

/ 

 

CREATE TABLE TEST
(
  ID    NUMBER(10)  ,
  NAME  VARCHAR2(20),
  SEX   VARCHAR2(2)
)
TABLESPACE SYSTEM
  PCTFREE 10
  PCTUSED 40
  INITRANS 1
  MAXTRANS 255
  STORAGE
  (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED

  ); 

 

假設你是一個開發人員或DBA,你想查看數據庫裏面那些表或某個表是否分區表,你可以用下面的幾種方法去查看。

方法1  

 SELECT * FROM ALL_TABLES WHERE TABLE_NAME = 'TEST'

SELECT * FROM ALL_TABLES WHERE TABLE_NAME = 'GPRS_CELLTOPVOL_WK';

如圖所示截圖你會發現GPRS_CELLTOPVOL_WK表的TABLESPCAE_NAME爲空,而表TEST的TABLESPCAE_NAME爲SYSTEM,所以你可以通過TABLESPCAE_NAME是否爲空來判斷一個表是否爲分區表。網上有人給出這種方法,但是要切記的是,不見得TABLESPCAE_NAME爲NULL,則該表就是分區表,兩者之間沒有互推關係。OWNER爲HR的COUNTRIES表就是一個例子。其實你可以通過 ALL_TABLES裏的字段PARTITIONED的值爲YESNO來區分該表是否是分區表。如下下所示

 SELECT PARTITIONED FROM ALL_TABLES WHERE TABLESPACE_NAME IS NULL  

 

 

 

方法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_PARTITIONSALL_TAB_PARTITIONSUSER_TAB_PARTITIONS這三個表去查看相關詳細信息。三者之間的區別如下所示 

顯示Oracle查看分區表信息顯示數據庫所有分區表的詳細分區信息:DBA_TAB_PARTITIONS

顯示當前用戶可訪問的所有分區表的詳細分區信息:ALL_TAB_PARTITIONS

顯示當前用戶所有分區表的詳細分區信息:USER_TAB_PARTITIONS 

 

 

如果您想查看分區表的分區列信息 ,那麼你可以通過DBA_PART_KEY_COLUMNSALL_PART_KEY_COLUMNSUSER_PART_KEY_COLUMNS三個表來查看相關信息,如下圖所示,三者之間的區別如下所示

顯示當前用戶所有分區表的分區列信息:USER_PART_KEY_COLUMNS 

顯示當前用戶可訪問的所有分區表的分區列信息:ALL_PART_KEY_COLUMNS 

顯示分區列顯示數據庫所有分區表的分區列信息:DBA_PART_KEY_COLUMNS

 

 

如果你想查看組合表的子分區信息以及子分區列信息情況,你可以從下面的這些表去查看具體相關情況

顯示當前用戶所有組合分區表的子分區信息:USER_TAB_SUBPARTITIONS 

顯示當前用戶可訪問的所有組合分區表的子分區信息:ALL_TAB_SUBPARTITIONS 

顯示當前用戶可訪問的所有組合分區表的子分區信息:ALL_TAB_SUBPARTITIONS 

  

顯示當前用戶所有分區表的子分區列信息:USER_SUBPART_KEY_COLUMNS

顯示當前用戶可訪問的所有分區表的子分區列信息:ALL_SUBPART_KEY_COLUMNS 

顯示子分區列顯示數據庫所有分區表的子分區列信息:DBA_SUBPART_KEY_COLUMNS


轉自:http://www.cnblogs.com/kerrycode/archive/2011/07/03/2096692.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章