可能重复:
如何获取有关 Oracle 中表的所有信息?
我需要将分区添加到现有表中,我们没有生产数据库访问权限,我们需要发送 sql 查询以查找有关现有分区的详细信息,我试过了
desc <table-name>;
但它只提供有关表结构的信息,我们需要表结构以及分区详细信息。
数据库是oracle 10g
谢谢
可能重复:
如何获取有关 Oracle 中表的所有信息?
我需要将分区添加到现有表中,我们没有生产数据库访问权限,我们需要发送 sql 查询以查找有关现有分区的详细信息,我试过了
desc <table-name>;
但它只提供有关表结构的信息,我们需要表结构以及分区详细信息。
数据库是oracle 10g
谢谢
get_ddl
包的功能dbms_metadata
会给你这样的信息:
SQL> create table Tb_Test(
2 id number primary key
3 )
4 partition by range(id)(
5 partition part1 values less than (100),
6 partition part2 values less than (300),
7 partition part3 values less than (maxvalue)
8 )
9 ;
Table created
SQL> select dbms_metadata.get_ddl('TABLE', 'TB_TEST')
2 from dual
3 ;
DBMS_METADATA.GET_DDL('TABLE',
--------------------------------------------------------------------------------
CREATE TABLE "BUDGET2011"."TB_TEST"
( "ID" NUMBER,
PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "USERS"
PARTITION BY RANGE ("ID")
(PARTITION "PART1" VALUES LESS THAN (100)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" NOCOMPRESS ,
PARTITION "PART2" VALUES LESS THAN (300)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" NOCOMPRESS ,
PARTITION "PART3" VALUES LESS THAN (MAXVALUE)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" NOCOMPRESS )