2010-01-26 1 views
3

, 당신은 같은 다수의 테이블 스페이스를 지정할 수 있습니다데이터 딕셔너리에서 범위 간격 파티션 테이블 공간을 어디에서 찾을 수 있습니까? 범위 간격 분할 된 테이블에 대한

CREATE TABLE range_part_interval_table(col1 NUMBER, col2 NUMBER) 
PARTITION BY RANGE (col1) 
INTERVAL (10) STORE IN (ts2, ts3, ts4) 
(PARTITION VALUES LESS THAN (100) TABLESPACE ts1); 

을하지만 간격 테이블 스페이스는 데이터 사전 (여기, ts2, ts3, ts4)에 저장되는 위치를 찾을 수없는. 이 정보는 어딘가에서 사용할 수 있습니까?

답변

2

이것은 당신에게 당신이 필요로하는 정보를 얻을해야합니다

SELECT table_owner, table_name, partition_name, tablespace_name 
FROM dba_tab_partitions 
WHERE table_name = <table_name>; 

다음은 테이블 설명입니다 : 당신이 그들에있는 일부 데이터를 가지고 때까지

%> desc dba_tab_partitions 

Name       Null        Type                                                                      
------------------------------ -------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
TABLE_OWNER              VARCHAR2(30)                                                                    
TABLE_NAME              VARCHAR2(30)                                                                    
COMPOSITE              VARCHAR2(3)                                                                     
PARTITION_NAME             VARCHAR2(30)                                                                    
SUBPARTITION_COUNT            NUMBER                                                                      
HIGH_VALUE              LONG()                                                                      
HIGH_VALUE_LENGTH            NUMBER                                                                      
PARTITION_POSITION            NUMBER                                                                      
TABLESPACE_NAME             VARCHAR2(30)                                                                    
PCT_FREE              NUMBER                                                                      
PCT_USED              NUMBER                                                                      
INI_TRANS              NUMBER                                                                      
MAX_TRANS              NUMBER                                                                      
INITIAL_EXTENT             NUMBER                                                                      
NEXT_EXTENT              NUMBER                                                                      
MIN_EXTENT              NUMBER                                                                      
MAX_EXTENT              NUMBER                                                                      
MAX_SIZE              NUMBER                                                                      
PCT_INCREASE             NUMBER                                                                      
FREELISTS              NUMBER                                                                      
FREELIST_GROUPS             NUMBER                                                                      
LOGGING               VARCHAR2(7)                                                                     
COMPRESSION              VARCHAR2(8)                                                                     
COMPRESS_FOR             VARCHAR2(18)                                                                    
NUM_ROWS              NUMBER                                                                      
BLOCKS               NUMBER                                                                      
EMPTY_BLOCKS             NUMBER                                                                      
AVG_SPACE              NUMBER                                                                      
CHAIN_CNT              NUMBER                                                                      
AVG_ROW_LEN              NUMBER                                                                      
SAMPLE_SIZE              NUMBER                                                                      
LAST_ANALYZED             DATE                                                                      
BUFFER_POOL              VARCHAR2(7)                                                                     
GLOBAL_STATS             VARCHAR2(3)                                                                     
USER_STATS              VARCHAR2(3)                                                                     
+0

아닌 간격에있는 사람 ... 스토어에서 (.. .) 절 – thecoop

+0

dba_tab_partitions에는 "store in"절에 지정된 간격 테이블 공간조차도 존재하는 모든 파티션 테이블 스페이스가 포함됩니다. 이 b/c를 테스트/확인할 수 없습니다. 저는 현재 구형 Oracle 인스턴스로 작업하고 있습니다 만, 존재하지 않는 간격 테이블 공간에 대한 정보는 all_tab_partitions 테이블에서 사용할 수 있습니다. 아직 존재하지 않는 테이블 공간 이름을 확인해 볼 수 있습니다. –

0

당신의 간격 파티션이 존재하지 않습니다 .. ..

SQL> CREATE TABLE range_part_interval_table(col1 NUMBER, col2 NUMBER) 
    2 PARTITION BY RANGE (col1) 
    3 INTERVAL (10) STORE IN (ts2, ts3, ts4) 
    4 (PARTITION VALUES LESS THAN (100) TABLESPACE ts1); 

Table created. 

SQL> SELECT table_owner, table_name, partition_name, tablespace_name 
    2 FROM dba_tab_partitions 
    3 WHERE table_name = 'RANGE_PART_INTERVAL_TABLE' 
    4/

TABLE_OWNER TABLE_NAME      PARTITION_NAME TABLESPACE_NAME 
----------- ------------------------------ -------------- --------------- 
APC   RANGE_PART_INTERVAL_TABLE  SYS_P55  TS1 

SQL> 

빈 테이블에는 정의 된 파티션 만 있습니다. 그러나 우리는 .... 다른 간격에 대한 일부 데이터를 삽입하는 경우

SQL> insert into range_part_interval_table values (90, 8888) 
    2/

1 row created. 

SQL> insert into range_part_interval_table values (110, 8888) 
    2/

1 row created. 

SQL> insert into range_part_interval_table values (310, 8888) 
    2/

1 row created. 

SQL> insert into range_part_interval_table values (120, 8888) 
    2/

1 row created. 

SQL> SELECT table_owner, table_name, partition_name, tablespace_name 
    2 FROM dba_tab_partitions 
    3 WHERE table_name = 'RANGE_PART_INTERVAL_TABLE' 
    4/

TABLE_OWNER TABLE_NAME      PARTITION_NAME TABLESPACE_NAME 
----------- ------------------------------ -------------- --------------- 
APC   RANGE_PART_INTERVAL_TABLE  SYS_P58  TS2 
APC   RANGE_PART_INTERVAL_TABLE  SYS_P55  TS1 
APC   RANGE_PART_INTERVAL_TABLE  SYS_P56  TS4 
APC   RANGE_PART_INTERVAL_TABLE  SYS_P57  TS3 

SQL> 
+0

하지만 실제로 거기에서 생성 된 파티션 수에 관계없이 STORE IN (ts2, ts3, ts4)의 정보가 필요합니다 ... – thecoop

0

체크 sys.insert_tsn_list 미리 정의 된 파티션의 테이블 스페이스의 그 $