ORACLE数据库查看分区表相关信息的方法

ORACLE数据库查看分区表相关信息的方法,第1张

概述ORACLE数据库如何查看分区表的相关信息呢?不知道你有没有总结过这方面的知识。下面我们先创建两个表TEST、GPRS_CELLTOPVOL_WK来做实验,脚本如下:CREATETABLEGPRS_CELLTOPVOL_WK(DATE_CD&nbsp…

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  

 

 

方法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 

总结

以上是内存溢出为你收集整理的ORACLE数据库查看分区表相关信息的方法全部内容,希望文章能够帮你解决ORACLE数据库查看分区表相关信息的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1154468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存