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

Similar Messages

  • 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

  • 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.

  • MAX EXTENTS  for a table

    Hello Guru's
    I am working on oracle express 10 G on windows , This is my test machine. I am a beginner to oracle Dba activities,
    Problem:
    I want to restrict the size of a table (say max upto 400k)
    My Approach:
    1. I create a Tablepsace with uniform extent size (40K each)
    2. I created a table in this tablespace with max extents 10 ( so that 40K * 10 = 400K)
    SCOTT@xe>CREATE TABLESPACE TB
      2   DATAFILE 'F:\Oracle\oradata\XE\TB.DBF' SIZE 100M
      3   EXTENT MANAGEMENT LOCAL
      4   UNIFORM SIZE 40K
      5   ONLINE ;
    Tablespace created.
    SCOTT@xe>
    SCOTT@xe>DROP USER G CASCADE ;
    User dropped.
    SCOTT@xe>CREATE USER G IDENTIFIED BY G DEFAULT TABLESPACE TB ;
    User created.
    SCOTT@xe>ALTER USER G QUOTA UNLIMITED ON TB;
    User altered.
    SCOTT@xe>GRANT CREATE SESSION , CREATE TABLE TO G;
    Grant succeeded.
    SCOTT@xe>CONNECT G/G@xe
    Connected.
    G@xe>CREATE TABLE t ( A number) TABLESPACE TB storage (minextents 1 maxextents 10);
    Table created.
    G@xe>SELECT SEGMENT_NAME, MIN_EXTENTS, MAX_EXTENTS , SEGMENT_TYPE, TABLESPACE_NAME, BLOCKS
      2  FROM USER_SEGMENTS  ;
    SEGMENT_NAME                                                                      MIN_EXTENTS MAX_EXTENTS SEGMENT_TYPE       TABLESPACE_NAME                    BLOCKS
    T                                                                                           1  2147483645 TABLE              TB                                      5
    G@xe>Issue is:
    I want the maximun extents that could be llocated to this table must be 10 , BUT from user_segments I could see MAX_EXTENTS = 2147483645 (default value).
    When i pump data into this table MAX_EXTENTS exceeds 10 (i.e user Defined value)
    I have no idea why this is the case;
    Regards,

    When creating a segment (Table/Index) in a Locally Managed Tablespace (created with "EXTENT MANAGEMENT LOCAL" and visible in DBA_TABLESPACES under EXTENT_MANAGEMENT), Oracle ignores the specification of MAXEXTENTS.
    All segments in an LMT would default to MAXEXTENTS UNLIMITED (which really means 2 billion).
    (DEFAULT STORAGE at the Tablespace level cannot be set if it is LOCAL AUTOALLOCATE or LOCAL UNIFORM)
    See [The 10gR2 documentation on the STORAGE clause|http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/clauses009.htm#i997450]
    In your 10gXE install you will not be able to create a DICTIONARY MANAGED Tablespace as the SYSTEM Tablespace itself is LOCALLY MANAGED.
    If you want to limit the size of a table you could
    a. Create a Tablespace with a set size for datafiles (ie, set AUTOEXTEND OFF for the datafiles)
    b. Create the Table in that Tablespace
    Edited by: Hemant K Chitale on Aug 18, 2009 3:31 PM

  • 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

  • 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

  • ORA-01658: unable to create INITIAL extent for segment in tablespace

    NEW REPOSITORY INSTALLATION ERROR!!
    I want to install a new Repository using Oracle9iR9.2.0.1 and iDS10g on windowsXP Professional the same machine.
    After running all the SQL scripts ( ckqa,ckvalqa,ckcreate,ckreport) with success to installing a new Repository on my Database using "the Scripts Method",I start the Repository Administration Utility( RAU) to scheck the priveleges and so on.
    After pressing the Install button in the RAU:
    -I take public synonyms
    -I scheck the box for "Support Designer Objects", then
    -The Repository size is Medium
    -I have not change the defauft Tablespace of the Repository_Manager names TEMPORARY_TABLES to store the index and table of System Data....Diagram Data.
    After Starting, the Installation began an stop by installing some Tables like schown :
    Operation: Started : 07/03/04 20:26:32
    Reading File: cktabs.sql
    Object : TABLE CDDL_TMP_TBL
    Executing statement(s)...
    Verifying...
    .and so on till....uns so weiter bis
    Reading File: cktabs.sql
    Object : TABLE RM$INFO
    Executing statement(s)...
    Error Submitting Definition: User intervention required...
    RME-02124: Failed to execute SQL statement: CREATE TABLE RM$INFO
    (NAME VARCHAR2(128) NOT NULL
    ,VALUE VARCHAR2(128)
    Storage (initial 4K next 4K pctincrease 0) Tablespace TEMPORARY_TABLES
    ORA-01658: unable to create INITIAL extent for segment in tablespace TEMPORARY_TABLES
    Dumping Buffer...
    CREATE TABLE RM$INFO
    (NAME VARCHAR2(128) NOT NULL
    ,VALUE VARCHAR2(128)
    ...End of Buffer
    User Requested: Stop Process
    When I read the Help of the Error the
    CAUSE was: Failed to find sufficient contiguous Space to allocate INITIAL extend for Segment being created.
    ACTION: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the tablespace or retry with a smaller Value for initial.
    I then try to resolve it by schecking and changing the Values of INITIAL_VALUE and NEXT_VALUE in the ckparams.txt to 500k.I change the Values of TEMPORARY_TABLES(10214 to 51200k) and TEMPORARY_INDEXES from (20000 to 100000k).Then I run the scripts @ckparams.txt, @ckvalqa, @ckcreate but
    -pressing the Scheck Privileges Button on the RAU still give me 106k for the INITIAL_ and NEXT_VALUE.
    -And the installato still stop with the same Error.
    Question: How schould I resolve this Configuration?
    You could respond in ENGLICH, GERMAN or FRENCH
    Thank you for your Help!

    You are running into database errors. You should refer to the database documentation on how to adjust the size your tablespaces. The online Designer installation guide will advise you as to the sizes of tablespaces you require. (http://otn.oracle.com/pls/wocprod/docs/page/ocom/technology/products/designer/supporting_doc/Des10g_9044/cmnhlp72/rep_insgde/igttl_9i.htm)
    Regards
    Sue

  • How to setup the portal with the uniform style for SRM + Esourcing?

    how to setup the portal with the uniform style for SRM + Esourcing? We will setup SRM 7 + esoourcing + portal, but as we know esourcing screen style is not same with SRM, so how to uniform the style between this 2 diffirent software?  any body have idea?

    Hi,
    SAP E-Sourcing 6.0 is the solution. It is same look&feel.
    Regards,
    Masa

  • How do I get camera raw plugin for cs5.1 extented for new olympus omd e-m1 camera?

    how do you get camera raw plugin for cs5.1 extented for new olympus omd e-m1 camera?

    Native support requires ACR version 8.3, which will only run under CS6 or CC.
    Use the free DNG converter to make DNGs readable in older ACR versions. http://www.adobe.com/downloads/updates.html

  • AIR Extentions for Flex Builder 2

    I was watching some video's on lynda.com about developing
    AIR/Apollo applications with Flex, so I bought the software. One
    thing it mentioned was to make sure and install the Apollo
    extentions for Flex which can be found at the adobe website. I can
    not find the extenions anywhere!? Can anyone point me in the right
    direction as to where I can find the extentions?
    Thanks in advance.
    Greg

    good to know. If I try the Beta version of Flex 3 with my
    Flex 2 serial number, will I be locked into using the Beta version?
    Or will I be able to upgrade to the full version Flex 3 when it is
    released? Thanks in advance.

  • Unable to create INITIAL extent for segment in tablespace FLOW_4686

    I'm trying to create a new table on here (only 4 rows) from a spreadsheet, and I keep getting the following:
    ORA-20001: Excel load run ddl error: drop table "COMMODITIES" ORA-00942: table or view does not exist ORA-20001: Excel load run ddl error: create table "COMMODITIES" ( "ID" NUMBER, "DEP_ID" NUMBER, "LINE" NUMBER, "CODE" VARCHAR2(6), "COMMOD" VARCHAR2(30), "QUAL" VARCHAR2(30), "COMMOD_TP" VARCHAR2(1), "IMPORT" VARCHAR2(5), constraint "COMMODITIES_PK" primary key("ID") ) ORA-01658: unable to create INITIAL extent for segment in tablespace FLOW_4686
    I'm trying to upload/create this to see if I get the same error messages on here as I do on my local installation for another problem I'm having.
    Thanks

    Thanks Sergio, to you and the rest of the HTMLDB team. I remember reading somewhere that there's only 13 of you guys working on this product, and with development work and answering all of our questions on here, you guys are really doing a great job and deserve every penny you guys make (and more!)
    Thanks again!

  • What is extent for..

    Extent is a specific number of contignous data blocks, but I don't understand sense in it. When we read data from the table - we ask for blocks, when we update/insert/delete - we also operate on block. So what is extent for?
    Thx for help.
    Aliq.

    Well we shall try just to see what are extents in a more simple way.Just take the oracle table as a home.You make a home by adding lots of walls.The walls are actualy you wont bother anytime whenever you will talk about your home right?But they are very important.So you make walls.The walls are nothing but your different extents for the home.Now wall is no thing.Its made up by collection of bricks(blocks).Now when we talk about a home, neither it is physicla,nor the wall.The only real thing is the blocks. So same is the case of table itself.There is no such thing called table.Please note I am saying it ust for the reference purpose.Table is a logical grouping that is given to us by oracle/db for storing our data in a more structured way and this gives us more control and prciseness when we refer our data eg. show me all employees.Ok no issues, see we have this table called Employees.Its much better than to say that we have blocks from file 1 to 11 and from block no 1 to 1000 containing employees and our dear scott user is in block no 237.Isnt it?So the real thing is blocks.Well to be precise again they are not real but still lets not go to O/s blocks and all that.
    Now you are very right in saying that when we do read /write/select data , we select in the terms of blocks.But assume a situation when we are doing a big full table scan and we need to scan some 4kb data in one chunk as our o/s supports that. Now it would be very difficult to come and start looking all the blocks in a file which are just lying there.But if they are mapped in a grouping like extent,we know that we need to read thse many extents to complete our IO.So extents are basically the logical grouping for the blocks which helps in contegous read to happen. Its just a mapping that Oracle has made for easier and better management for the IO operations.
    Example given is not so good but I hope you would get some idea.
    Just my 2 cents.
    Aman....

  • Recude the extents for a segment

    Can anybody provide me the steps to reduce the number of extents for a specific segment?
    Iam not supposed to increase the tablespace datafile size but i have to reduce the number of extents .
    I also tried the coalesce option on the tablespace where my segment exactlly lies but it is of no use.
    Caan anyone give me the steps to accomplish that ?
    Thanks A TON
    Aram

    This is your third duplicate post on this issue. You have been warned ! Pl continue the discussion in your original thread.
    reduce extents
    ora-01658 unable to create initital extents error in oracle 8.1.7.0.0

  • Too many extents for table on locally managed uniform ASSM tablespace

    Running Oracle 9.2.0.8 on solaris 10, Enterprise edition.
    Tablespace configuration:
    select extent_management, allocation_type, segment_space_management, block_size, initial_extent, next_extent
    from dba_tablespaces
    where tablespace_name = 'PCLARGE';
    LOCAL UNIFORM AUTO 8192 2097152 2097152
    A nightly peoplesoft SQR job inserts and updates the problem table. The job has been in place without change for four years. During that time, the database moved from 8i to 9i, and the tablespace parameters moved to uniform local ASSM. The job selects from a 70 million row table and then updates the target summary table.
    Can somebody help me understand why the number of extents would grow way out of proportion to the number of rows?
    When the row count was 9807427, this table had 233 extents.
    Row count 10759033, table had 501 extents.
    Row count 10764665, table has 1967 extents.
    The table is not analyzed since the system is using RULE. DBMS_SPACE.SPACE_USAGE indicates no extents above the high water mark. Running SELECT name,value FROM v$sysstat WHERE name like '%table%' seems to indicate that chained rows are not a factor, since the row with name "table fetch continued row" returns a small amount of rows.
    Any ideas? Is it possible there is a bug with ASSM that is causing this?
    Unfortunately I don't have detailed extent history information after each nightly run. I just have the 3 data points above.

    Hi Hemant,
    Thanks for your reply! No parallelism was involved in the SQR script.
    Oracle support has pointed me to Metalink Note:469985.1: Sudden Increase in Unformatted Blocks. This behavior matches our symptoms. My company is going to pursue a backport, but in the meantime we may need to move data into tablespaces without ASSM.
    Best regards,
    Ben

  • Extentions for Microsoft Office 2007

    The instructions for configuring the desktop say....
    "The plug-in requires Microsoft Office 2003 for Windows (or later) versions of Excel and Word."
    The (or later) can only be Microsoft Office 2007, which I have installed.
    The actual download page for the extension install file does not say "or later).
    I tried to install and it failed saying the I did not have Office 2003 installed. That is correct, I have Microsoft Office Enterprise 2007. So the information in the disk configuration instructions must be wrong.
    Does anyone know whether the extentions will be made available for Word and Excel 2007, or even if they are needed?

    Hi,
    There is a new version of the Adobe LiveCycle Rights Management for Microsoft Office which works with Microsoft Office 2007. You can download the new version of the plugin from http://www.adobe.com/products/livecycle/rightsmanagement/extension/downloads.html.
    Before installing the plugin you have to uninstall the previous installed version and also quit any running Microsoft Office programs.
    After the installation is complete, you will have to manually configure the plugin to work with the Adobe Document Center. To do this:
    * Launch one of the Microsoft Office applications.
    * Click on the newly installed tab called "Adobe Rights Management".
    * Click on the "Choose Server" button in the tab. You will see there is an existing pre-configured server.
    * Select the pre-configured server and click on the Edit button. In the name field enter "Adobe Document Center", in the Server Address Field enter "pdf-policy.adobe.com" and in the Port field enter "443"
    * Next click on the "Connect to this Server" button. This will prompt you to login to the server. Enter your Adobe Document Center username and password in this field.
    * Once login is successful there will be a message that the server has been successfully configured. Select the new Adobe Document Center entry in the Server Configuration dialog and make this entry the default by clicking on the "Set Default" button. This will complete the configuration.
    You can now use the Adobe Document Center to secure Office 2007 file formats using the Secure button on the Adobe Rights Management tab.
    Please let me know if you have any trouble.
    Thanks
    Mangesh

Maybe you are looking for

  • StatsPack report check

    What are the imporant things to check the performance degradation in StatsPack report?

  • Account type M& GL with open item managment not permitted error

    Hi We are getting the below error message while trying to do Goods reciepting using MIGO transaction.We have created new plants and done all assignments... Account type M&GL account with open item management not permitted....

  • How does one create LOV Map between 2 fields for custom lookup mapping

    Hi there In Internet Expenses, Expense Report Line Detail we have two unrelated fields; namely Expense Location & Tax Code. The requirement is to map a default tax code to locations; basically when a user enters Expense Location then the mapped tax c

  • Blue Screen after 10.6.5 update

    I installed 10.6.5, and on re-start, all I got was the dreaded blue screen. My Mac Pro will boot up in safe mode, but that's it. The Geek-squad Mac expert looked at everything for a long-time, repaired permissions, etc. etc., and believes the problem

  • HDMI issues on a M72e Tiny

    I upgraded the hard drive to a SSD and installed Windows 7 Ultimate 64-bit. Audio through HDMI works as long as I do not upgrade the Intel HD video driver. With the Intel HD video driver installed the HD audio device shows up as a playback device but