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


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

时间: 2024-08-03 07:13:00

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

探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句_oracle

Oracle数据库查看一个进程是如何执行相关的实际SQL语句 复制代码 代码如下: SELECT b.sql_text, sid, serial#, osuser, machine      FROM v$session a, v$sqlarea b      WHERE a.sql_address = b.address;  查询前台发出的SQL语句. 复制代码 代码如下: select user_name,sql_text  from v$open_cursor  where sid in

php获取服务器操作系统相关信息的方法_php技巧

本文实例讲述了php获取服务器操作系统相关信息的方法.分享给大家供大家参考,具体如下: 下面是PHP获取当前服务器信息的基本语句. PHP程式版本: <?PHP echo PHP_VERSION; ?> ZEND版本: <?PHP echo zend_version(); ?> MYSQL支持: <?php echo function_exists (mysql_close)?"是":"否"; ?> MySQL数据库持续连接 :

Oracle数据库TNS常见错误的解决方法汇总_oracle

TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS.本文主要讲述了Oracle数据库TNS常见错误的解决方法如下: 1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用"Net Configuration Assistant"

Oracle数据库并行查询出错的解决方法_oracle

Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 ORA-12801: 并行查询服务器P007中发出错误信号 ORA-01722:无效数字 12801.00000 -"error signaled in parallel query server %s" *Cause: A parallel query server reached an exception cond

jQuery.browser对象查看浏览器相关信息的的示例

文章简介:jQuery检测浏览器名称和版本信息. 在jQuery中,可以通过访问$.browser对象的属性来获取浏览器的相关信息.$.browser对象即jQuery.browser对象,用于处理与浏览器相关的事务,该对象的属性如下: 属性名称 说明 webkit 如果是webkit相关的浏览器,则为true,否则为false mozilla 如果是mozilla相关的浏览器,则为true,否则为false safari 如果是safari浏览器,则为true,否则为false opera 如

Go语言扫描目录并获取相关信息的方法_Golang

本文实例讲述了Go语言扫描目录并获取相关信息的方法.分享给大家供大家参考.具体分析如下: 前言:最近看到Go里面有一个func很容易就可以扫描整个目录,并且可以得到相应的目录和文件信息,所以我将其进行了封装,拿到file info的所有信息 这样就可以方便的做其它用途了. 直接上代码,代码基于Go version 1 复制代码 代码如下: package main import (     "path/filepath"     "os"     "fla

ORACLE数据库查看执行计划的方法_oracle

一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等. 很多人以为PL/SQL的执行计划只能看到基数.优化器.耗费等基本信息,其实这个可以在PL/SQL工具里面设置的.可以看到很多其它信息,如下所示 2: 在SQL*PLUS(PL/SQL的命令窗口和SQL窗口均可)下执行下面步骤 复制代码 代码如下: SQL>EXPLAIN PLAN FOR SEL

Oracle中如何查看并行相关信息

下面我通过实验介绍三种查看并行相关内容,比如并行度.并行执行的实例等. 1.V$PQ_TQSTAT视图 – 脚本 [oracle@rac1 ~]$ cat showdop.sql column SERVER_TYPE format a15 column PROCESS format a10 select dfo_number,  tq_id,  server_type,  process,  num_rows,  bytes,  instance from v$pq_tqstat order b

ORACLE数据库查看执行计划

基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等. 很多人以为PL/SQL的执行计划只能看到基数.优化器.耗