Why use uniform extent allocation?

version- 11.2.0.2.0
Hello guys, I've been reading UNIFORM vs AUTOALLOCATE extent allocation.
I've read the following articles.
https://blogs.oracle.com/datawarehousing/entry/parallel_load_uniform_or_autoallocate
Ask Tom: On Loading and Extents
https://forums.oracle.com/thread/2518951
From what I understood, autoallocate trumps the uniform in all scenarios (unless I am missing something).
In the thread "AUTOALLOCATE vs UNIFORM SIZE"
for the benefits of autoallocate and uniform size allocation Kh$n wrote
Benefits of AUTOALLOCATE
* Prevents space fragmentation.
Benefits of UNIFORM extent sizes
* Prevents fragmentation. 
(I dont understand what is the difference between those two fragmentation prevention, are those benefits one and the same?)
even in scenarios where we know exactly how much data will be loaded, there is always a chance of extent wastage and with out extent trimming that space will be unusable.
Can someone please explain in which cases we use uniform extent allocation?
for suppose we use uniform extent allocation and we have lot of unused space from the extent allocation, can that space be reclaimed using shrink space command for tables and indexes?
Thank You

Extent trimming, to the best of my knowledge, is something that only happens when you are using parallel query to do large loads, not something that happens during normal OLTP type operations.  As with anything called "automatic" in Oracle, though, the internals are subject to change across versions (and patchsets) and are not necessarily documented, so it is entirely possible for behaviors to change over time.  Relying on specific internal behaviors is generally not a good idea.
The example I gave (assuming you reverse the truncating of A and the loading of C, as Hemant pointed out) produces "fragentation" when you're using automatic extent management.  It's not a particularly realistic scenario, but it is possible.  If you never delete data, never truncate tables, (and, presumably, never shrink tables), extents would never be deallocated and there would, therefore, never be holes.  That is just as true of ancient dictionary managed tablespaces as well as locally managed tablespaes whether you're using uniform or autoallocated extents.
Shrinking a table has nothing to do with defragmenting a tablespace.  It is simply compacting the data in the table and then potentially deallocating extents.  You can do that with any locally managed tablespace.  There is still the possibility, of course, that you have just enough data in the table that you need to allocate 1 extra extent when you only need space for 1 row in 1 block.  So there may be some number of MB of "wasted" space per segment (though, again, this is generally not something that is a practical concern since the data in tables generally changes over time and it's generally not worth the effort of worrying about a few MB).
Justin
For your third question, assuming both extents are part of the same segment, assuming that the space is actually usable based on things like the PCTUSED setting of the table, and assuming a nice, simple conventional path insert in a single-user, Oracle would use the free space in the extent for new inserts before allocating a new extent.  Oracle generally doesn't allocate new extents unless it needs to (there are caveats to this-- if the only blocks with free space have a relatively large fraction of their space used such that a particular new insert only fits in 1 of the 1 million blocks in the currently allocated extents, Oracle will potentially give up before finding the 1 in a million block that it would need an may allocate a new extent).
Message was edited by: JustinCave

Similar Messages

  • Determining Extent Allocation Type

    Does anyone know how you tell if a tablespace has been configured to use UNIFORM extent allocation or AUTO ALLOCATE . I can see in dba_tablespaces if the extent is dictionary or locally managed. I can also see if it is using ASSM or not but I am struggling to see where the actual method of extent allocation is recorded
    thanks,
    Jim

    http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4157.htm
    ALLOCATION_TYPE

  • Overlapped extent allocation, backing up and erase/install

    Can't boot up my G4 flat panel iMac. Have tried safe boot mode - hangs on grey screen and spinning gears. Ran Disk Repair from install disk which reported 'overlapped extent allocation' files - dozens of 'em, so decided to back up users folders to g5 tower using target disk mode and I can access the iMac's hard drive through TDM.
    Having read this technical document:
    http://support.apple.com/kb/HT1553?viewlocale=en_US#3c
    it specifies that that I have to log into the imac as a root user to copy the user folders to the G5 but as I can't log in to it am I OK just to access and copy the user folders from the imac via target disk mode? (I've started this but, for example, when copying one of the user folders - 35GB of content - the copied folder correctly has 16 folders within, but has a few thousand bytes of data less than the original folder - why is this and will it cause problems after erasing the imac's drive and attempting to copy back the user directories?
    I have read elsewhere that I can search for the problematical Overlapped Extent Allocation files in the DamagedFiles directory but can I safely delete these and how can I tell if I can or can't and how do I find them? (the reasoning being that if I can safely delete these then the imac may boot up OK)
    When quitting the installer menu on the imac (when booting from the install disk) I am prompted to either quit or choose startup disk. If I choose the latter option will the imac boot from the install disk enabling me to back up the user folders to an external drive using the method recommended in the technical document I previously referred to (i.e logging in as a root user)?
    Thanks for any help

    There are a couple of ways to deal with the problem. See the following:
    Handling 'overlapped extent allocation' errors reported by Disk Utility or fsck;
    Or buy Disk Warrior which will fix the problem for you and any other directory related problems that Disk Utility does not fix.
    However, the most effective solution is to erase the drive and reinstall OS X. Since you are accessing the drive via TDM, copy your personal data to a backup drive or folder on the other computer. There's no benefit to copying the entire Home folder because it may contain files affected by the problem. Better to copy only your data files. You will have to do some software reinstalling and re-registering, but that's better than having damaged files.

  • Large Uniform Extent Size = Slow TRUNCATE?

    Here's the scenario...
    We have a a tablespace with the following storage parameter:
    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 32M
    Users were complaining about slow TRUNCATE performance. I saw the same when I created a table with 30,000 rows - same as the user was complaining about - in the same tablespace.
    I proceeded to move the objects from the schema the user was referencing to a tablespace with:
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE
    ... and the TRUNCATE executed in the expected time (less than a second) for the same amount of rows in the same table structure.
    Why does a large UNIFORM extent size (such as 32M in this case) cause for slow TRUNCATE performance? I wasn't able to find an exact cause of this in the forums or on Metalink thus far.
    Version: Oracle DB 10.2.0.3
    System Info:
    Linux ilqaos01c 2.6.9-55.0.12.ELsmp #1 SMP Wed Oct 17 08:15:59 EDT 2007 x86_64
    Thanks.

    Robert Sislow wrote:
    The Metalink article was helpful, however, the database we're on is version 10.2.0.3, and the article is referencing 9.2.0.4.
    Additionally, the last few responses in this thread are referring to concurrent TRUNCATE operations. The TRUNCATE that we're running is a single-thread TRUNCATE on a very small table - about 8000 rows.
    After executing a 10046 level 12 trace, and using the Trace Analyzer tool, we've found that the "local write wait" event is taking up ~90% of the statement's activity for each run. Once again, all we can find that's causing this is the fact the the extent size in the tablespace with the table where we're seeing the slowness is set to UNIFORM size of 32M.
    You're using ASSM (automatic segment space management), which means you have a number of bitmap space management blocks scattered through the object.
    If you're running with 32MB uniform extents, the first extent will be 4096 blocks, and there will be one level 2 bitmap, 64 level 1 bitmaps, and the segment header block at the start of the extent. With autoallocate, the first extent will start with one level 2 bitmap, one (or possibly 2) level 1 bitmap(s) and the segment header block.
    When you truncate an object, all the space managment blocks in the first extent (and any extents you keep) have to be reset to show 100% free space - this means they may all have to be read into the buffer cache before being updated and written back with local writes (i.e. writes by the process, not by dbwr).
    So you have to wait for 66 reads and writes in one case and 3 (or 4) reads and writes in the other case. This helps to explain part of the difference. However, a local write wait should NOT take the best part of a second - so there must be a configuration problem somewhere in your setup. (e.g. issues with async I/O, or RAID configuration).
    Regards
    Jonathan Lewis

  • RAC extent allocation

    Hi Guys,
    I had a question regarding extent allocation to a segments. In a RAC environment we allocate extent to specific instance, why is it so?
    As we know extent are the space allocated at stogare level, so why do we allocate to specific instance in RAC?
    Is there any specific reason to do so...
    Please suggest...
    Thanks!

    can you show me an example where you allocated an "extent" to a specific instance? Are you using ASM or shared file system - if shared FS, which one? Bigfile tablespace? Smallfile tablespace?

  • Change extent allocation in tablespace

    Hi All,
    Database Version : 11.1.0.6
    I have a LMT tablespace with uniform extent of 192 K. It has been in use since long .
    Is it possible to change the extent allocation to AUTOALLOCATE now ?
    If not , is there any workaround ..
    Thanks

    hi..
    there is no "alter table space" syntax for changing extent management from uniform to auto allocate. Hence, you must re-define the table space to change the extent management:
    * Backup the table space
    * Export the table space data
    * Drop and re-allocate the table space
    * Import the table space

  • OATM uniform extent strategy

    In my first pass of the OATM (Oracle Apps Tablespace Model) utility in release 11.5.10.2, the database actually grew by almost 40G to 285G. Not huge growth, but not quite what I expected. We migrated to uniform extents of either 128k or 1mb, depending on the tablespace. After the migration, many of the empty/unused tables took a larger initial extent than they had before the migration. The old initial extent was usually either 80k or 40k. I counted over 20,000 objects (tables, indexes, lobs) that grew from their old initial allocation to either 128k or 1mb. So, I'm thinking of migrating by schema instead of all schemas at once and migrating the unused schemas to a few tablespaces with smaller initial extents. Has anybody else pursued a similar strategy? That means that future DBA's might have the task of migrating the unused tables to active tablespaces if those products ever do become licensed here, which seems to be one of the downsides of that strategy. I'm also considering migrating some of the larger objects to a 10mb initial extent.

    Hi;
    Please check below notes for extent strategy
    Oracle Applications Tablespace Migration Utility User Documentation 269291.1
    Oracle Applications Tablespace Model Release 11i - Tablespace Migration Utility 248857.1
    Oracle Applications Tablespace Model FAQs 269293.1
    New Oracle Applications Tablespace Model and Migration Utility 248173.1
    Oracle® Applications Concepts Release 11i (11.5.10) Part No. B13892-01
    Hope it heps
    Regard
    Helios

  • Why use cfinclude

    why use cfincludes for headers and footers instead of using
    templates?

    > However this is what I mean in your
    > words: that facility in DreamWeaver that simulates the
    factoring code out into
    > separate files!
    Right: that makes sense now. Bear in mind that this is a CF
    forum, not a DW
    forum, so when you say "template", people here are going to
    instinctively
    think you mean the CF definition of that term; they're not
    going to guess
    you're asking about DW. I don't think that's unreasonable.
    DW templates are just a trick of DW. That's not just a
    truism: the
    ramification of that is that the DW templating mechanism is
    meaningless
    concept outside of DreamWeaver. That's not to be dismissive,
    but a lot of
    people don't use DreamWeaver for doing their CF coding. So
    that's probably
    the first reason not to use a tool-specific feature when
    writing code.
    Secondly, DW templates are an HTML-document-centric conceit,
    wherein
    there's - ultimately - a single file for the entire HTML
    response. That's
    really not the way anyone other than a dabbler would write
    their CF code,
    because it becomes unmanageable very quickly.
    Now, if you are just a dabbler - I don't mean that derisively
    - and the
    extent of your dynamicism in your HTML coding is to factor
    out repeating
    regions within a layout, AND the code is only ever going to
    be maintained
    with DW... yeah, why not: use DW templates.
    > Thanks for all the replies and I apologize if my vauge
    question encouraged
    > such helpful???? answers. Azadi and Craig, thanks for
    your thoughts...you too
    > Adam!
    NP.
    Adam

  • Why use finally block

    why use finnaly block when we can close the resources after the try cath method has executed

    The real reason is that you don't usually catch all exceptions (and you shouldn't). The code shown doesn't catch Errors for example, yet you would always want the resources allocated in the method to be released regardless of any exceptions that are thrown, not just the ones you catch yourself.

  • COM object model not functioning after encrypting the word document using office extention

         After encrypting A word document using office extention, it seems like the COM object model becomes unusable. I cannot not manipulate the encrypt document through COM interface, nor can I write macro VBScript to do some operation on the docuent.
         For example, I create a word Macro with some simple code.
    Sub hi()
        Dim i As Integer
        i = ThisDocument.Fields.Count
        MsgBox i   
    End Sub
         If the document is not encrypt, then we will see a msgbox which tells us the number of bookmarks in the current document.
         Now, encrypt the word document using the office extention, running the macro code will fail with error code " 80004005" and error message:Method 'Fields' of bject 'ThisDocument' failed.
    It is very important for us to manipulate word documents through COM interface in our system, I want to know why the COM interface does not work anymore after the document is encrypted.

    I take macro script as an example to demonstrate that word COM object model cannot be used after encripted. Actually you can reproduce the same problem when you manipulate word document through COM interface using any programming language.
    For example, you can create a text document  with the following VBscript:
    set a = createobject("Word.Application")
    set doc = a.Documents.Open("E:\temp\test.docx")
    msgbox doc.Fields.count
    doc.close
    a.quit
    Save the document with ".vbs" file extention and then run it by double clicking it. it will fail if the document is encrypted using the office extention. 

  • Overlapped extent allocations

    Hi all,
    I'm trying to solve a number of overlapped extent allocations (OS X 10.2.8) using the command line solution described in http://docs.info.apple.com/article.html?artnum=25770. I have previously tried to fix the HD using Tech Tool deluxe, but the repair phase seems to hang after a few hours when the rate of block processing slows down to one per several minutes - suggesting a time to complete of about 11 days!!
    Starting with 9 overlaps, I've deleted offending files for 6 of them - they were either preference or cache files that could go without any knock-on impact.
    I'm now left with the following affected files:
    Users/mike/Library/Mail/Mailboxes/Mailgroups/GPSrunners.mbox/Incoming_mail
    /private/var/run/cron.pid
    /private/var/run/utmp
    Can anyone please advise how to deal with these?
    I'm happy to lose the mailbox if I delete the first one.
    What do the 2nd and 3rd files do?? Will they cripple my OS if I delete them? I have a backup of my HD on an external drive taken a few weeks ago so the user data will not be current but the OS should be an intact backup of the OS - I can certainly boot from it. Is there a way to replace them from the HD, and if so do I have to do that from the command line (they don't seem to be visible to the finder).
    Grateful for any help - in nice simple steps for someone whose command line knowledge was limited to fsck until today!
    thanks,
    Mike
    iMac800   Mac OS X (10.2.x)  

    Kappy, Fifthwheel, WJ,
    Thanks for your excellent help.
    I've deleted the mbox and cron.pid files - the allocation error asociated with the utmp file just seems to have gone away. Checking the HD by fsck or Disk Uitility/First Aid from an external drive says the disk is OK.
    HOWEVER, I still have the problem reported here:
    http://discussions.apple.com/thread.jspa?threadID=583008&tstart=0
    Could this login difficulty be caused by the utmp file being damaged? If so, how can I replace it by a good one if, as WJ suggests, it will not be recreated automatically if I delete it?
    Can I use the one on my external drive which has the OS backed up, and if so how do I actually move it (command line or finder)?
    thanks,
    Mike
    iMac800 Mac OS X (10.2.x)
    iMac800 Mac OS X (10.2.x)

  • Will a converted LMT have UNIFORM EXTENT MANAGEMENT?

    if we convert a DMT to an LMT, can we then set this LMT to have UNIFORM EXTENT MANAGEMENT?
    thanks

    Don't convert. Yes, Oracle provides a procedure to do the conversion, but it ends up creating a horrible 'hybrid' sort of tablespace, certainly unable to use a uniform extent management technique, but not really using a proper autoallocate method either.
    Better to create a new tablespace and move segments across from one to the other. Then drop the original.

  • AUTOALLOCATE or UNIFORM extents for LMTs?

    Hi,
    I checked metalink and other resources, but couldn't find a conclusive statement indicating as to which one of the following is the best and recommended option:
    1) LMTs with AUTOALLOCATE or
    2) LMTs with UNIFORM EXTENT sizes
    Any pros and cons would be appreciated.
    Thanks
    SS

    A classic example where AUTOALLOCATE is very good is the 3rd party application where you don't know which tables are going to be big, which ones small, and which one won't be used at all If you put everything into AUTOALLOCATE it avoids wasting space, but lets the big tables grow without producing a vast number of extents.
    If you are in control of the application and have good information about sizing of a few critical objects, you might choose to use UNIFORM sizing for adminstrative and monitoring reasons - it gives you the option for watching objects grow at a predictable rate.
    If you are doing a lot of parallel work with scratch tables (CTAS, insert /*+ append */ then you might want to read up about the possible conflict between PX and AUTOALLOCATE at the following URL:
    http://jonathanlewis.wordpress.com/2007/05/29/autoallocate-and-px/
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk

  • Why use Oracle 8.1.5 for Linux?

    Dear,
    If it is really pain in the ass to install Oracle on Linux, why
    use it? I have spent more than 4 full days (more than what I
    excepted) to try to install Oracle on a Linux box.
    I guess I will go for mySQL since I can just install the RPM
    package and do not have to worry those critical issues.
    Just a note for Oracle, please design a better Installer next
    time which is going to work! Thank you.
    Best Regards,
    Alex Yu
    null

    I have some sympathy for your plight. I have 8.0.5 installed on
    RedHat Linux. Apart from patching the Pro*C configuration file,
    everything is fine.
    It does seem 8.1.5 is more problematic. If you're purely
    evaluating Oracle, maybe you should consider 8.0.5 until 8i
    stabilises unless you really are gagging for some 8i feature.
    Alex Yu (guest) wrote:
    : Dear,
    : If it is really pain in the ass to install Oracle on Linux, why
    : use it? I have spent more than 4 full days (more than what I
    : excepted) to try to install Oracle on a Linux box.
    : I guess I will go for mySQL since I can just install the RPM
    : package and do not have to worry those critical issues.
    : Just a note for Oracle, please design a better Installer next
    : time which is going to work! Thank you.
    : Best Regards,
    : Alex Yu
    null

  • Why Using Top Link is best in DB Adapter?

    Hi All,
    Can any one suggest , Why Using Top Link (Build-in Insert, Select etc. operation) is best in DB Adapter over using custom query?
    Thanks

    Hi Vikky,
    for insert/select it depends on what kind of user you are. TopLink lets you browse and click on a tables and have everything generated for you. If you are more a DBA or show me the SQL type then you can just type SQL directly.
    Some advantages of TopLink would be:
    -The range of SQL generated by TopLink is limited, but if you hard code complex SQL into your service you need to maintain it.
    -TopLink can generate at runtime the correct SQL for a given database, making switching from say DB2 to Oracle easy.
    -The merge operation will compare the input XML to the columns on the database and update only what has changed. It can also do a sparse merge. If only 4 columns in the XML were set, only those 4 columns in the database will be updated.
    -For inbound polling the strategy used (LogicalDelete, Sequencing Table, etc) is a configuration property and then at runtime multiple SQL statements are generated. The SQL also takes advantage of advanced syntax like the Oracle-only FOR UPDATE SKIP LOCKED, writing it all yourself may be tedious and error prone.
    -The main benefit of TopLink is when you go beyond thinking about a single table. If you import multiple related tables at once, TopLink will generate the SQL to select from and maintain multiple tables, establish a commit order, and generate a hierarchical XSD. With custom SQL the matching XSD is always flat. I.e. if you just need to insert an emp you could get away with custom SQL. If you need to insert a dept and emps, I would use TopLink.
    -This is also when the intermediary abstraction of an object/table makes more sense, as you only need to import a complex relational schema once, then generate inserts, selects, etc.
    So I hope that helps. They are each equally viable and can do something that the other can't. Where you see an overlap I would go with personal preference.
    Thanks
    Steve

Maybe you are looking for

  • Isync and Motorola L2

    I have paired my Motorola L2 phone with my MacBook (unibody) and isync will not add contacts from my phone address book to the MacBook address book, however my contacts in my address will appear in my phone address book. The Apple web site says the L

  • READ REPORT for specific version

    I'm using function module RPY_PROGRAM_READ that calls READ REPORT. However I'd like to get the code for a previous version. The READ REPORT is very limited with it's options and I can't find a function module (RFC enabled) that does this. Any suggest

  • Sharing one iTunes library

    I have an iTunes library on my iMac and would like to move this to an network drive and have both my iMacs and my MBP share this same library. I have tried a few ways and have had no luck. What steps should I be doing in order to get these results: L

  • How to use this .WSDL file

    Hello, I was given this .WSDL file and asked to import it into PI. It's a very simple operation. From ECC  we will send some user data in the header and some Ticket data in the body. It is forwarded by PI to 3rd party ticket system. The result sent b

  • AirPort Utility on a Mac Pro can't administer AirPort Extreme

    Hi, I have had an AirPort Extreme from Day 1 and have been happy with it with one problem: When I run the AirPort Utility on my Mac Pro I can see the base station but when I click on it to see the details and administer it it just sits there "forever