如何找到oracle表的所有分区信息

时间:2018-06-14 01:26:01

标签: oracle

我有一个分区表t,它使用列表分区

在列上分区

我想查询所有分区及其相应的列值。

它与PLSQL Developer中的相同:当我查看此表的sql时,它显示所有分区,如:

  partition DATA_20180522 values (20180522)
    tablespace DMSCMDAT
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
      initial 8M
      next 1M
      minextents 1
      maxextents unlimited
    )

我搜索谷歌,但我找不到答案。

2 个答案:

答案 0 :(得分:6)

要查找有关分区的信息,可以查询ALL_TAB_PARTITIONS视图:

SELECT *
  FROM ALL_TAB_PARTITIONS

对于表上的大部分其他信息,您可以查询ALL_TABLES:

SELECT *
  FROM ALL_TABLES

如果要重新创建表的源代码,则需要编写代码。 A good place to start is the code in this question at asktom.oracle.com

祝你好运。

答案 1 :(得分:3)

正如其他答案所示,您可以查看USER | ALL | DBA_TAB_PARTITIONS。但是如果你的目标是获得DDL,那么DBMS_METADATA.GET_DDL函数可能会更容易加载。使用SET_TRANSFORM_PARAM选项根据您的喜好定制输出。