博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(ORACLE)查看分区表的相关信息
阅读量:6070 次
发布时间:2019-06-20

本文共 4003 字,大约阅读时间需要 13 分钟。

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 

 

转载地址:http://zibgx.baihongyu.com/

你可能感兴趣的文章
315“黑科技”背后的白帽黑客平台GeekPwn
查看>>
轻轻揭开 b*tree 索引结构的神秘面纱
查看>>
企业喜爱人工智能CRM需要理由吗?
查看>>
Android 连麦Demo App 接入指南
查看>>
这些在安装Windows 10时常用到的(类似备忘录)
查看>>
AMP是如何提升性能?
查看>>
Local privilege escalation for OS X 10.11.6 via PEGASUS
查看>>
JSP中报错only a type can be imported: XXX resolves to package
查看>>
hbase源码带注释版本,放在这里,方便大家下载吧
查看>>
freemarker 模板生成 文件
查看>>
Express使用手记:核心入门
查看>>
工具03:PuTTY常用配置
查看>>
基于资源编排一键交付应用之基于WaitCondition的通知机制
查看>>
smarty的插件功能是smarty模板的精华
查看>>
xen虚拟化实战系列(四)之xen虚拟机扩展磁盘空间一法
查看>>
【转载】条款29: 避免返回内部数据的句柄
查看>>
Razor Templating Engine
查看>>
How do I avoid capturing self in blocks when implementing an API?
查看>>
Spring中bean的scope
查看>>
遇到过有人在文件服务器上新建共享文件夹,自己无法COPY文件,别人无法看到的情况么??...
查看>>