If you see above initial and next are 200M and also pct increase is 0.
now why is oracle allocating those happazard sized extents??
Well if i insert into this table serially then extents are of 200M but if i say "Alter Session Force Parallel DML" then am seeing these happazard extents..
Abhay.
funky...
"I Dont Want To Follow A Path, I would Rather Go Where There Is No Path And Leave A Trail."
"Ego is the worst thing many have, try to overcome it & you will be the best, if not good, person on this earth"
Storage Space When Using Dictionary-Managed Tablespaces
When creating a table or index in parallel, each parallel execution server uses the values in the STORAGE clause of the CREATE statement to create temporary segments to store the rows. Therefore, a table created with a NEXT setting of 5 MB and a PARALLEL DEGREE of 12 consumes at least 60 megabytes (MB) of storage during table creation because each process starts with an extent of 5 MB. When the parallel execution coordinator combines the segments, some of the segments may be trimmed, and the resulting table may be smaller than the requested 60 MB.
Note: The temporary segments they are talking about in the above paragraph become table extents in the final phase. So when you create table as CTAS in DMT, it is normal that some of the segments are smaller.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
Note: The temporary segments they are talking about in the above paragraph become table extents in the final phase. So when you create table as CTAS in DMT, it is normal that some of the segments are smaller.
Jurij,
I have had seen this.. but please note i said parallel DML not DDL..
Am inserting into the temp table with parallel option.. and getting hapazard extents
Abhay.
funky...
"I Dont Want To Follow A Path, I would Rather Go Where There Is No Path And Leave A Trail."
"Ego is the worst thing many have, try to overcome it & you will be the best, if not good, person on this earth"
The principle is exactly the same as with CTAS. Each slave process allocates a temp segment and insert data into it. At the end, the coordinator process mereges those allocated temp segments into table's extents, trimming the last temp extent of each slave process.
For example, let's say your degree of parallelism is 4. Each new extent of the table ought to be 5M in size. Suppose each of those 4 slave processes allocated 5 temporary extents during insert. 4 of those eextents are totaly packed, while the last one is probably not. So at the end, the result will probably be 16 new extents of 5MB each and 4 new extents with sizes ranging form anything between couple of KB and 5MB.
This is how parallel loading is behaving since 8i (or maybe since 8.0, can't remember).
Last edited by jmodic; 06-18-2004 at 07:39 AM.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
Whether it is parallel DML or parallel DDL, Oracle does release unused space only in the last extents of each parallel slaves, if DMT is used. If N is the number of extents for each slave, then Oracle does not release unused space in the (N-1) extents.
To aviod this, use minimum extent clause in the tablespace.
Set initial = next = min_extlen.
If the tablespace is already created, you can change by this command.
Bookmarks