程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> ORACLE數據庫查看分區表相關信息的方法

ORACLE數據庫查看分區表相關信息的方法

編輯:關於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的值為YES或NO來區分該表是否是分區表。如下下所示

      SELECT PARTITIONED FROM ALL_TABLES WHERE TABLESPACE_NAME IS NULL

    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

      如果您想查看分區表的分區列信息 ,那麼你可以通過DBA_PART_KEY_COLUMNS、ALL_PART_KEY_COLUMNS、USER_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

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved