REM bvaranas 06/12/06 - add insert_tsn_list$ rem shwang 03/11/05 - Include two more flag values to 'flags' in rem partobj$:Adding comments to explain them REM jklein 08/01/05 - creation rem rem Partitioned Objects rem rem partition name sequence rem This sequence is used to generate names for new partitions rem and subpartitions create sequence partition_name$ start with 1 increment by 1 minvalue 1 nomaxvalue nocycle noorder cache 20 / rem rem partobj$ table rem This table has a row per partitioned object rem obj# is the key rem There is a unique index on obj# rem create table partobj$ ( obj# number not null,/* object number of partitioned table or index */ parttype number not null, /* partitioning type */ /* 1 = range, 2 = hash, 3 = system 4 = List, 5 = Ref; */ /* If range/list/hash, subparttype may be non-zero to indicate */ /* type of composite partitioning method. */ /* see subparttype(spare1) for form of subpartitioning used. */ partcnt number not null, /* number of partitions */ partkeycols number not null, /* number of columns in partitioning key */ flags number, /* 0x01 = local index */ /* 0x02 = prefixed index */ /* 0x04 = no-align index */ /* 0x08 = domain index */ /* 0x10 = compressed index */ /* 0x20 = table has ref ptn'ed children */ /* 0x40 = table is interval partitioned */ /* 0x80 = System managed domain index */ /* 0x100 = IOT Top index */ /* 0x200 = LOB column index */ /* 0x400 = Tracked Table IOT Top index */ /* 0x800 = Segment creation deferred */ /* 0x1000 = Segment creation immediate */ defts# number, /* default tablespace number */ defpctfree number not null, /* default PCTFREE */ defpctused number not null, /* default PCTUSED (N/A for indexes) */ defpctthres number, /* default PCTTHRESHOLD (N/A for tables) */ definitrans number not null, /* default INITRANS */ defmaxtrans number not null, /* default MAXTRANS */ deftiniexts number, /* default INITIAL extent size */ defextsize number, /* default NEXT extent size */ defminexts number, /* default MINEXTENTS */ defmaxexts number, /* default MAXEXTENTS */ defextpct number, /* default PCTINCREASE */ deflists number not null, /* default FREELISTS value */ defgroups number not null, /* default FREELIST GROUPS (N/A for indexes) */ deflogging number not null, /* default logging attribute of the object: */ /* 0 - unspecified; 1 - LOGGING; 2 - NOLOGGING */ spare1 number, /* default BUFFER_POOL value */ /* 5 bytes of spare2 are currently spoken for */ /* byte 0 : subparttype - non-zero implies Composite partitioning */ /* (1 - Range, 2 - Hash, 3 - System, 4 - List); */ /* byte 1 : subpartkeycols; */ /* bytes 2-3: defsubpartcnt */ /* byte 4 : compression attribute of the partition */ /* following bit patterns are possible: */ /* 00000000 : Compression not specified */ /* 00000001 : Compression enabled for direct load operations */ /* 00000010 : Compression disabled */ /* 00000101 : Compression enabled for all operations */ /* 00001001 : Archive Compression: level 1 */ /* 00010001 : Archive Compression: level 2 */ /* 00011001 : Archive Compression: level 3 */ /* 00100001 : Archive Compression: level 4 */ /* 00101001 : Archive Compression: level 5 */ /* 00110001 : Archive Compression: level 6 */ /* 00111001 : Archive Compression: level 7 */ /* All other bit patterns are incorrect. */ spare2 number, /* byte 1 of spare3 stores dtydef of interval (either DTYNUM, DTYIYM, or * DTYIDS) */ spare3 number, /* spare column */ definclcol number, /* default iot include column # (N/A for tables) */ parameters varchar2(1000), /* default parameter string for domain index */ interval_str varchar2(1000), /* string of interval value */ interval_bival raw(200), /* binary representation of interval */ defmaxsize number) /* default MAXSIZE */ / create unique index i_partobj$ on partobj$(obj#) / rem rem partcol$ table rem This table has a row per partitioning key column rem obj#, intcol# is a key rem There is a non-unique index on obj# create table partcol$ ( obj# number not null, /* object number of partitioned table or index */ intcol# number not null, /* internal column number */ col# number not null, /* column number */ pos# number not null, /* position of column in key (1 = first column) */ spare1 number, /* NLS character set id */ segcol# number not null, /* column number in segment */ type# number not null, /* data type of column */ charsetform number) /* NLS character set form */ / create index i_partcol$ on partcol$(obj#) / rem rem tabpart$ table rem This table has one row per table partition rem obj# is a key; and so is (bo#, part#) rem There is a non-unique index on bo#, obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table tabpart$ ( obj# number not null, /* object number of partition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* data layer object number */ bo# number not null, /* object number of base table */ part# number not null, /* partition number (see discussion below) */ hiboundlen number not null, /* length of high bound value expression */ hiboundval long, /* text of high-bound value expression */ ts# number, /* tablespace number where partition resides */ file# number, /* segment header file number */ block# number, /* segment header block number */ pctfree$ number not null, /* minimum free space percentage in a block */ pctused$ number not null, /* minimum used space percentage in a block */ initrans number not null, /* initial number of transactions */ maxtrans number not null, /* maximum number of transactions */ flags number not null, /* for any flags */ /* 0x01 = 7.3 -> 8.0 data object migration */ /* 0x02 = partition has been analyzed */ /* 0x04 = NO LOGGING for partition */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = not used */ /* 0x200 = not used */ /* 0x400 = not used */ /* 0x800 = not used */ /* 0x1000 = not used */ /* 0x2000 = not used */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = interval partition */ /* 0x10000 = deferred segment creation */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* samplesize for histogram */ rowcnt number, /* number of rows */ blkcnt number, /* number of blocks */ empcnt number, /* number of empty blocks */ avgspc number, /* average available free space /iot ovfl stats */ chncnt number, /* number of chained rows */ avgrln number, /* average row length */ /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare1 number, /* summary sequence number */ spare2 number, spare3 number, bhiboundval blob) /* binary linear key form of partition bound */ / create unique index i_tabpart_bopart$ on tabpart$(bo#, part#) / create unique index i_tabpart_obj$ on tabpart$(obj#) / rem indpart$ table rem This table has one row per index partition rem obj# is a key, and so is (bo#, part#) rem There is a non-unique index on bo#, obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table indpart$ ( obj# number not null, /* object number of partition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* data layer object number */ bo# number not null, /* object number of base index */ part# number not null, /* partition number (see discussion under TABPART$) */ hiboundlen number not null, /* length of high bound value expression */ hiboundval long , /* text of high bound value expression */ flags number not null, /* 0x01 = Unusable (this field replaces the V7 DLS flag) */ /* 0x02 = partition has been analyzed */ /* 0x04 = NO LOGGING for partition */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = index partition is being online built */ /* 0x200 = index partition is being online rebuilt */ /* 0x400 = index partition operation in progress */ /* 0x800 = index partition operation has failed */ /* 0x1000 = domain index marked in progress */ /* 0x2000 = domain index marked incomplete */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = interval partition */ /* 0x10000 = deferred segment creation */ ts# number not null, /* tablespace number where partition resides */ file# number not null, /* segment header file number */ block# number not null, /* segment header block number */ pctfree$ number not null, /* minimum free space percentage in a block */ pctthres$ number, /* iot overflow threshold, null if not iot */ initrans number not null, /* initial number of transactions */ maxtrans number not null, /* maximum number of transactions */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* samplesize for histogram */ rowcnt number, /* number of rows */ blevel number, /* B-tree level */ leafcnt number, /* number of leaf blocks */ distkey number, /* number of distinct keys */ lblkkey number, /* average number of leaf blocks per key */ dblkkey number, /* average number of data blocks per key */ clufac number, /* clustering factor */ spare1 number, /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare2 number, spare3 number, inclcol number, /* iot include column number, null if not iot */ bhiboundval blob) /* binary linear key form of partition bound */ / create unique index i_indpart_bopart$ on indpart$(bo#, part#) / create unique index i_indpart_obj$ on indpart$(obj#) / rem rem subpartcol$ table rem This table has a row per subpartitioning key column for (R+H) rem obj#, intcol# is a key rem There is a non-unique index on obj# create table subpartcol$ ( obj# number not null, /* object number of partitioned table or index */ intcol# number not null, /* internal column number */ col# number not null, /* column number */ pos# number not null, /* position of column in key (1 = first column) */ spare1 number, /* NLS character set id */ segcol# number not null, /* column number in segment */ type# number not null, /* data type of column */ charsetform number) /* NLS character set form */ / create index i_subpartcol$ on subpartcol$(obj#) / rem rem tabsubpart$ table rem This table has one row per table subpartition rem obj# is a key; and so is (pobj#, subpart#) rem There is a non-unique index on pobj#, obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table tabsubpart$ ( obj# number not null, /* object number of subpartition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* data layer object number */ pobj# number not null, /* object number of partition containing subpartition */ subpart# number not null, /* subpartition number within parent partition (base 1) */ flags number not null, /* 0x02 = partition has been analyzed */ /* 0x04 = NO LOGGING for partition */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = not used */ /* 0x200 = not used */ /* 0x400 = not used */ /* 0x800 = not used */ /* 0x1000 = not used */ /* 0x2000 = not used */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = not used */ /* 0x10000 = deferred segment creation */ ts# number not null, /* tablespace number where subpartition resides */ file# number not null, /* segment header relative file number */ block# number not null, /* segment header block number */ pctfree$ number not null, /* minimum free space percentage in a block */ pctused$ number not null, /* minimum used spare precentage in a block */ initrans number not null, /* initial number of transactions */ maxtrans number not null, /* maximum number of transactions */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* number of rows sampled by analyze */ rowcnt number, /* number of rows */ blkcnt number, /* number of blocks */ empcnt number, /* number of empty blocks */ avgspc number, /* average available free space */ chncnt number, /* number of chained rows */ avgrln number, /* average row length */ /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare1 number, /* summary sequence number */ spare2 number, spare3 number, hiboundlen number not null, /* length of high bound value expression */ hiboundval long, /* text of high-bound value expression */ bhiboundval blob) /* binary linear key form of partition bound */ / create unique index i_tabsubpart_pobjsubpart$ on tabsubpart$(pobj#, subpart#) / create unique index i_tabsubpart$_obj$ on tabsubpart$(obj#) / rem rem indsubpart$ table rem This table has one row per index subpartition rem obj# is a key; and so is (pobj#, subpart#) rem There is a non-unique index on pobj#, obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table indsubpart$ ( obj# number not null, /* object number of subpartition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* data layer object number */ pobj# number not null, /* object number of partition */ subpart# number not null, /* subpartitn # w/in parent partitn(base 1) */ flags number not null, /* 0x01 = Unusable */ /* 0x02 = subpartition has been analyzed */ /* 0x04 = NO LOGGING for subpartition */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = index partition is being online built */ /* 0x200 = index partition is being online rebuilt */ /* 0x400 = index partition operation in progress */ /* 0x800 = index partition operation has failed */ /* 0x1000 = domain index marked in progress */ /* 0x2000 = domain index marked incomplete */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = interval partition */ /* 0x10000 = deferred segment creation */ ts# number not null, /* tablespace # where subpartition resides */ file# number not null, /* segment header file number */ block# number not null, /* segment header block number */ pctfree$ number not null, /* minimum free space percentage in a block */ initrans number not null, /* initial number of transactions */ maxtrans number not null, /* maximum number of transactions */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* samplesize for histogram */ rowcnt number, /* number of rows */ blevel number, /* B-tree level */ leafcnt number, /* number of leaf blocks */ distkey number, /* number of distinct keys */ lblkkey number, /* average number of leaf blocks per key */ dblkkey number, /* average number of data blocks per key */ clufac number, /* clustering factor */ spare1 number, /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare2 number, spare3 number, hiboundlen number not null, /* length of high bound value expression */ hiboundval long , /* text of high bound value expression */ bhiboundval blob) /* binary linear key form of partition bound */ / create unique index i_indsubpart_pobjsubpart$ on indsubpart$(pobj#, subpart#) / create unique index i_indsubpart_obj$ on indsubpart$(obj#) / rem rem tabcompart$ table rem This table has a row per table composite partition rem obj# is the key; and so is (bo#, part#) rem There is a unique index on obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table tabcompart$ ( obj# number not null, /* object number of partition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* not in use */ bo# number not null, /* object number of base table */ part# number not null, /* partition number (see discussion below) */ hiboundlen number not null, /* length of high bound value expression */ hiboundval long, /* text of high-bound value expression */ subpartcnt number not null, /* number of subpartitions */ flags number not null, /* for any flags */ /* 0x01 = 7.3 -> 8.0 data object migration */ /* 0x02 = partition has been analyzed */ /* 0x04 = NO LOGGING for partition */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = not used */ /* 0x200 = not used */ /* 0x400 = not used */ /* 0x800 = not used */ /* 0x1000 = not used */ /* 0x2000 = not used */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = interval partition */ /* 0x10000 = not used */ defts# number, /* default TABLESPACE */ defpctfree number not null, /* default PCTFREE */ defpctused number not null, /* default PCTUSED */ definitrans number not null, /* default INITRANS */ defmaxtrans number not null, /* default MAXTRANS */ definiexts number, /* default INITIAL extent size; NULL if unspecified */ defextsize number, /* default NEXT extent size; NULL if unspecified */ defminexts number, /* default MINEXTENTS; NULL if unspecified */ defmaxexts number, /* default MAXEXTENTS; NULL if unspecified */ defextpct number, /* default PCTINCREASE; NULL if unspecified */ deflists number, /* default FREELISTS value; NULL if unspecified */ defgroups number, /* default FREELIST GROUPS; NULL if unspecified */ deflogging number, /* default LOGGING attribute: */ /* 0 - unspecified; 1 - LOGGING; 2 - NOLOGGING */ defbufpool number, /* default BUFFER_POOL value */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* samplesize for histogram */ rowcnt number, /* number of rows */ blkcnt number, /* number of blocks */ empcnt number, /* number of empty blocks */ avgspc number, /* average available free space */ chncnt number, /* number of chained rows */ avgrln number, /* average row length */ /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare1 number, /* Only 2 bytes of spare2 are currently spoken for */ /* byte 0 : compression attribute of the partition */ /* following bit patterns are possible: */ /* 00000000 : Compression not specified */ /* 00000001 : Compression enabled for direct load operations */ /* 00000010 : Compression disabled */ /* 00000101 : Compression enabled for all operations */ /* 00001001 : Archive Compression: level 1 */ /* 00010001 : Archive Compression: level 2 */ /* 00011001 : Archive Compression: level 3 */ /* 00100001 : Archive Compression: level 4 */ /* 00101001 : Archive Compression: level 5 */ /* 00110001 : Archive Compression: level 6 */ /* 00111001 : Archive Compression: level 7 */ /* All other bit patterns are incorrect. */ /* byte 1 : segment creation attributes of the partition */ /* 00000001 : Deferred segment creation is the default */ /* 00000010 : Immediate segment creation is the default */ /* Other bits can be used as needed */ spare2 number, spare3 number, bhiboundval blob, /* binary linear key form of partition bound */ defmaxsize number) /* default MAXSIZE */ / create unique index i_tabcompart_bopart$ on tabcompart$(bo#, part#) / create unique index i_tabcompart$ on tabcompart$(obj#) / rem rem indcompart$ table rem This table has a row per index composite partition rem obj# is the key; and so is (bo#, part#) rem There is a unique index on obj# rem rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table indcompart$ ( obj# number not null, /* object number of partition */ /* DO NOT CREATE INDEX ON DATAOBJ# AS IT WILL BE UPDATED IN A SPACE * TRANSACTION DURING TRUNCATE */ dataobj# number, /* not in use */ bo# number not null, /* object number of base index */ part# number not null, /* partition number */ hiboundlen number not null, /* length of high bound value expression */ hiboundval long, /* text of high-bound value expression */ subpartcnt number not null, /* number of subpartitions */ flags number not null, /* for any flags */ /* 0x01 - not used */ /* 0x02 = partition has been analyzed */ /* 0x04 - not used */ /* 0x08 = user-specified stats */ /* 0x10 = global stats */ /* 0x20 = data stats locked */ /* 0x40 = cache stats locked */ /* 0x80 = fragment has cache stats */ /* 0x100 = index partition is being online built */ /* 0x200 = index partition is being online rebuilt */ /* 0x400 = index partition operation in progress */ /* 0x800 = index partition operation has failed */ /* 0x1000 = domain index marked in progress */ /* 0x2000 = domain index marked incomplete */ /* 0x4000 = default partition(for list partitioning) */ /* 0x8000 = interval partition */ defts# number, /* default TABLESPACE; NULL if unspecified */ defpctfree number not null, /* default PCTFREE */ definitrans number not null, /* default INITRANS */ defmaxtrans number not null, /* default MAXTRANS */ definiexts number, /* default INITIAL extent size; NULL if unspecified */ defextsize number, /* default NEXT extent size; NULL if unspecified */ defminexts number, /* default MINEXTENTS; NULL if unspecified */ defmaxexts number, /* default MAXEXTENTS; NULL if unspecified */ defextpct number, /* default PCTINCREASE; NULL if unspecified */ deflists number, /* default FREELISTS value; NULL if unspecified */ defgroups number, /* default FREELIST GROUPS (N/A for indexes) */ deflogging number, /* default LOGGING attribute: */ /* 0 - unspecified; 1 - LOGGING; 2 - NOLOGGING */ defbufpool number, /* default BUFFER_POOL value */ analyzetime date, /* timestamp when last analyzed */ samplesize number, /* samplesize for histogram */ rowcnt number, /* number of rows */ blevel number, /* B-tree level */ leafcnt number, /* number of leaf blocks */ distkey number, /* number of distinct keys */ lblkkey number, /* average number of leaf blocks per key */ dblkkey number, /* average number of data blocks per key */ clufac number, /* clustering factor */ spare1 number, /* These spare columns are for future needs, e.g. values for the * PARALLEL(degree, instances) parameters. */ spare2 number, spare3 number, bhiboundval blob, /* binary linear key form of partition bound */ defmaxsize number) /* default MAXSIZE */ / create unique index i_indcompart_bopart$ on indcompart$(bo#, part#) / create unique index i_indcompart$ on indcompart$(obj#) / rem rem partlob$ table rem This table will be used to store table-level default attributes for LOB rem columns in partitioned tables. rem create table partlob$ ( lobj# number not null, /* object number of partition */ tabobj# number not null, /* obj# of the table containing lob column */ intcol# number not null, /* internal column id of the lob column */ defts# number, /* default TABLESPACE; NULL if unspecified */ defchunk number not null, /* default oracle blocks in one lob chunk */ defpctver$ number not null, /* default version pool */ defflags number not null, /* default CACHE & LOGGING attrs */ /* 0x0000 = CACHE */ /* 0x0001 = NOCACHE LOGGING */ /* 0x0002 = NOCACHE NOLOGGING */ /* 0x0008 = CACHE READS LOGGING */ /* 0x0010 = CACHE READS NOLOGGING */ /* 0x0100 = CACHE NOLOGGING */ /* 0x0200 = CACHE LOGGING */ /* 0x0400 = SYNC */ /* 0x0800 = ASYNC */ /* 0x1000 = Encryption */ /* 0x2000 = Compression - Low */ /* 0x4000 = Compression - Medium */ /* 0x8000 = Compression - High */ /* 0x10000 = Sharing: LOB level */ /* 0x20000 = Sharing: Object level */ /* 0x40000 = Sharing: Validate */ defpro number not null, /* default partition property */ /* 0x02 = enable storage in row */ /* 0x0800 = 11g LOCAL lob */ definiexts number, /* default INITIAL extent size; NULL if unspecified */ defextsize number, /* default NEXT extent size; NULL if unspecified */ defminexts number, /* default MINEXTENTS; NULL if unspecified */ defmaxexts number, /* default MAXEXTENTS; NULL if unspecified */ defextpct number, /* default PCTINCREASE; NULL if unspecified */ deflists number, /* default FREELISTS value; NULL if unspecified */ defgroups number, /* default FREELIST GROUPS; NULL if unspecified */ defbufpool number, /* default BUFFER_POOL; NULL if unspecified */ spare1 number, spare2 number, spare3 number, defmaxsize number, /* default MAXSIZE */ defretention number, /* default LOB RETENTION */ defmintime number /* default MIN time */ ) / rem rem lobfrag$ table rem This table will be used to store attributes of partitions (for tables rem partitioned using Range, Hash, and System methods) and subpartitions rem (for tables partitioned using Composite methods) of LOB columns. rem NOTE rem Logminer/Streams uses contents of this table. rem Please do not reuse any flags without verifying the impact of your rem changes on inter-op. create table lobfrag$ ( fragobj# number not null, /* object number of a LOB fragment */ parentobj# number not null, /* object number of the parent */ /* (LOB column for partitions or LOB */ /* partition for subpartitions) */ tabfragobj# number not null, /* object number of corresponding LOB table */ /* fragment */ indfragobj# number not null, /* object number of corresponding LOB index */ /* fragment */ frag# number not null, /* fragment # (partn w/in a LOB column */ /* or subpartition w/in the LOB partition) */ fragtype$ char(1), /* LOB fragment type: */ /* 'P' - partition; 'S' - subpartition */ ts# number not null, /* tablespace number of LOB fragment */ file# number not null, /* segment header file number */ block# number not null, /* segment header block number */ chunk number not null, /* oracle blocks in one lob chunk */ pctversion$ number not null, /* version pool */ fragflags number not null, /* CACHE & LOGGING attributes */ /* 0x0000 = CACHE */ /* 0x0001 = NOCACHE LOGGING */ /* 0x0002 = NOCACHE NOLOGGING */ /* 0x0008 = CACHE READS LOGGING */ /* 0x0010 = CACHE READS NOLOGGING */ /* 0x0100 = CACHE LOGGING */ /* 0x0200 = CACHE NOLOGGING */ /* 0x0400 = SYNC */ /* 0x0800 = ASYNC */ /* 0x1000 = Encryption */ /* 0x2000 = Compression - Low */ /* 0x4000 = Compression - Medium */ /* 0x8000 = Compression - High */ /* 0x10000 = Sharing: LOB level */ /* 0x20000 = Sharing: Object level */ /* 0x40000 = Sharing: Validate */ fragpro number not null, /* fragment property */ /* 0x02 = enable storage in row */ /* 0x0800 = 11g LOCAL lob */ spare1 number, spare2 number, spare3 number ) / create unique index i_lobfrag_parentobjfrag$ on lobfrag$(parentobj#, frag#) / create unique index i_lobfrag$_fragobj$ on lobfrag$(fragobj#) / rem rem lobcomppart$ table rem This table will contain partition-level default attributes for partitioned rem of LOB columns of table partitioned using Composite methods. rem create table lobcomppart$ ( partobj# number not null, /* object number of a LOB partition */ lobj# number not null, /* object number of the LOB column to which */ /* the partition belongs */ tabpartobj# number not null, /* object number of the table partition */ /* to which this partition corresponds */ indpartobj# number not null, /* object number of the index partition */ /* to which this partition corresponds */ part# number not null, /* partition number w/in a LOB column */ defts# number, /* default TABLESPACE; NULL if unspecified */ defchunk number not null, /* default oracle blocks in one lob chunk */ defpctver$ number not null, /* default version pool */ defflags number not null, /* default CACHE & LOGGING attrs */ /* 0x0000 = CACHE */ /* 0x0001 = NOCACHE LOGGING */ /* 0x0002 = NOCACHE NOLOGGING */ /* 0x0008 = CACHE READS LOGGING */ /* 0x0010 = CACHE READS NOLOGGING */ /* 0x0100 = CACHE NOLOGGING */ /* 0x0200 = CACHE LOGGING */ /* 0x0400 = SYNC */ /* 0x0800 = ASYNC */ /* 0x1000 = Encryption */ /* 0x2000 = Compression - Low */ /* 0x4000 = Compression - Medium */ /* 0x8000 = Compression - High */ /* 0x10000 = Sharing: LOB level */ /* 0x20000 = Sharing: Object level */ /* 0x40000 = Sharing: Validate */ defpro number not null, /* default partition property */ /* 0x02 = enable storage in row */ /* 0x0800 = 11g LOCAL lob */ definiexts number, /* default INITIAL extent size; NULL if unspecified */ defextsize number, /* default NEXT extent size; NULL if unspecified */ defminexts number, /* default MINEXTENTS; NULL if unspecified */ defmaxexts number, /* default MAXEXTENTS; NULL if unspecified */ defextpct number, /* default PCTINCREASE; NULL if unspecified */ deflists number, /* default FREELISTS value; NULL if unspecified */ defgroups number, /* default FREELIST GROUPS; NULL if unspecified */ defbufpool number, /* default BUFFER_POOL; NULL if unspecified */ spare1 number, spare2 number, spare3 number, defmaxsize number, /* default MAXSIZE */ defretention number, /* default LOB RETENTION */ defmintime number /* default MIN time */ ) / create index i_lobcomppart_lobjpart$ on lobcomppart$(lobj#, part#) / create unique index i_lobcomppart$_partobj$ on lobcomppart$(partobj#) / rem rem FAMILY "TEMPLATE TABLES" rem Tables used to store information on tempaltes for composite partitioned rem tables rem rem defsubpart$ stores information on subpartition templates create table defsubpart$ ( bo# number not null, /* Object number of table */ spart_position number, /* subpartition position */ spart_name varchar2(34) not null, /* name assigned by user */ ts# number, /* Default tablespace NULL if none */ flags number, /* 0x01 - COMPRESS attr. specified */ /* 0x02 - NOCOMPRESS attr. specified */ hiboundlen number not null, /* high bound text of this subpartition */ hiboundval long, /* length of the text */ bhiboundval blob) /* binary form of high bound */ / create unique index i_defsubpart$ on defsubpart$(bo#, spart_position) / rem rem defsubpartlob$ stores information on lob subpartition templates rem create table defsubpartlob$ ( bo# number not null, /* object number of table */ intcol# number not null, /* column number of lob column */ spart_position number not null, /* subpartition position */ flags number, /* Type of lob column */ /* 0x01 varray */ /* 0x02 opaque */ lob_spart_name varchar2(34) not null, /* segment name for lob subpartition */ lob_spart_ts# number) /* tablespace (if any) assigned */ / create unique index i_defsubpartlob$ on defsubpartlob$ (bo#, intcol#, spart_position) / rem indpart_param$ table rem This table has one row per domain index partition rem obj# is a key, and so is (bo#, part#) rem There is a non-unique index on bo#, obj# rem create table indpart_param$ ( obj# number not null, /* object number of partition */ parameters varchar2(1000)) /* parameter string per index partition */ / create unique index i_indpart_param on indpart_param$(obj#) / rem rem insert_tsn_list$ table rem This table has a row per tablespace specified in the store-in clause rem for interval partitioned tables. These tablespaces are used in a rem round-robin fashion for on-the-fly segment creation during inserts. rem bo#,position# forms the key rem create table insert_tsn_list$ ( bo# number not null, /* object number of base partitioned table */ position# number not null, /* position of tablespace specified by user */ ts# number not null) /* tablespace number */ /