LOB pctversion vs retention definition

I am trying to understand the difference between pctversion and retention definitions of LOB column.
I am using outline LOB (5.5Kb size) that is stored in ASSM tablespace with UNIFORM size .
If i create a LOB without any settings then default is RETENTION that is derived from UNDO_RETENTION of the instance.
In addition i can see in user_lobs PCTVERSION is set to 10 which is a default value.
The question is what definition is taken precedence RETENTION or PCTVERSION ?
What is the exact meaning of RETENTION inside the LOB definition , does it mean that previous LOB pages are not overwritten for the UNDO_RETENTION period of time ?
My application is running massive update commands against LOB column with very few select statemnets .
I see that my LOB Segment is growing and application is waiting for "enq HW contention" wait.
Thank you
Michael

Yes, of course i read the docs but got confused by what is defined in the docs and especially what was not written there.
Oracle documentation does not mention that in ASSM tablespaces LOBS default definition is retention and not pctversion. This information i found in metalink.
My question was when i see both definitions in user_lobs what definition is really taken place.
I have played a little with PCTVERSION by setting it to 100 or to 0.
When i set it to 100 i see that each time i do an update LOB segment allocates new extent and does not overwrite any of already allocated extents in a future.
Test case:
Create table with LOB
In a LOOP update LOB column one by one (all table rows) doing a commit after each update.
The result of this test case with PCTVERSION 0 is that LOB segment is increased by initial value of extents
If at the begining it was 100 extents , after 1 full update it was extended to 200 extents and so on.
The question is for how long time old versions will be kept (please notice that all these old versions are from committed changes) ?
Another question about RETENTION, does it mean that for X sec (defined by UNDO_RETENTION) Oracle is keeping old versions of the LOB without doing overwrite ?
If this is true then this may very quickly lead to significant LOB segment growth.
For example application that performs massive updates on LOBS and UNDO_RETENTION is defined for 12 hours.
The problem here that i can not tune RETENTION period on a LOB level .
Michael

Similar Messages

  • LOB and retention

    Hi,
    I try to modify the retention parameter on a partition table. Whatever the SQL order, I ran ... I can't see the result in the dictionary. What's wrong in my sql order ?
    Thanks a lot for your help ..
    The release of the database is 9.2.0.8.
    I create the table:
    ==============
    CREATE TABLE test_lob (chp1 clob, chp2 int)
    lob (chp1) STORE AS SEGNAME (TABLESPACE FD
    PCTVERSION 0)
    partition by range (chp2)
    (PARTITION P1 VALUES LESS THAN (1),
    PARTITION P2 VALUES LESS THAN (2),
    PARTITION P3 VALUES LESS THAN (3));
    I verify that the value is correct in the dictionary:
    ===================================
    select bitand(defflags,32) from sys.partlob$ where TABOBJ# in(select OBJECT_ID from dba_objects where OBJECT_NAME='TEST_LOB');
    (result is 0)
    I modify the table:
    ===============
    alter table test_lob modify lob(chp1) (retention);
    I check one more time:
    ==================
    select bitand(defflags,32) from sys.partlob$ where TABOBJ# in(select OBJECT_ID from dba_objects where OBJECT_NAME='TEST_LOB');
    (result is 0 .. must be 32)
    I make another SQL order:
    ====================
    alter table test_lob modify partition p1 lob (chp1) (retention);
    alter table test_lob modify partition p2 lob (chp1) (retention);
    alter table test_lob modify partition p3 lob (chp1) (retention);
    I check one more time :
    ====================
    select bitand(defflags,32) from sys.partlob$ where TABOBJ# in(select OBJECT_ID from dba_objects where OBJECT_NAME='TEST_LOB');
    (result is 0 .. must be 32)
    What's wrong ???

    Before I checked the 10g manual I would have said that LOB segments do not use UNDO tablespace. UNDO for LOB segments is kept in the LOB segment.
    >>
    PCTVERSION integer Specify the maximum percentage of overall LOB storage space used for maintaining old versions of the LOB. The default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.
    You can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. PCTVERSION is the default in manual undo mode. RETENTION is the default in automatic undo mode. You cannot specify both PCTVERSION and RETENTION.
    RETENTION Use this clause to indicate that Oracle Database should retain old versions of this LOB column. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database.
    You can specify the RETENTION parameter only if the database is running in automatic undo mode. In this mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION and RETENTION
    <<
    I still believe that when RETENTION is set that Oracle uses the LOB segment to store the UNDO rather than the UNDO tablespace, but I will have to see the documentation in more detail to try to find support.
    HTH -- Mark D Powell --

  • Deallocating the Clob Segments

    Hi,
    We have an application which has many tables with CLOB columns. There are some historical tables which has to be purged on a regular basis to keep the DB size as minimal as possible. Now When I Query the user Segments , I find lot of LOB segments taking more space. Is there anyway through which we can relate these LOB_SEGMENTS to their respective tables and columns ?.

    query ALL_LOBS
    SQL> desc all_LOBS
    Name                            Null?    Type
    OWNER                                  VARCHAR2(30)
    TABLE_NAME                             VARCHAR2(30)
    COLUMN_NAME                             VARCHAR2(4000)
    SEGMENT_NAME                             VARCHAR2(30)
    TABLESPACE_NAME                        VARCHAR2(30)
    INDEX_NAME                             VARCHAR2(30)
    CHUNK                                  NUMBER
    PCTVERSION                             NUMBER
    RETENTION                             NUMBER
    FREEPOOLS                             NUMBER
    CACHE                                  VARCHAR2(10)
    LOGGING                             VARCHAR2(7)
    ENCRYPT                             VARCHAR2(4)
    COMPRESSION                             VARCHAR2(6)
    DEDUPLICATION                             VARCHAR2(15)
    IN_ROW                              VARCHAR2(3)
    FORMAT                              VARCHAR2(15)
    PARTITIONED                             VARCHAR2(3)
    SECUREFILE                             VARCHAR2(3)
    SEGMENT_CREATED                        VARCHAR2(3)

  • Quick Migrate SQL 2k To Oracle 10g fails

    Has anyone come across a solution for the following:
    Error ocurred during capture: ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column
    When using the quick migrate feature of SQL Developer 2.1.1.64 to import a SQL Server 2000 database into Oracle 10g. I am also using JTDS 1.2.5.
    Any assistance would be appreciated - thanks in advance.
    Edited by: user13281085 on Jun 10, 2010 4:34 PM

    Hi,
    I found a reference to a cause for this error available in My Oracle Support -
    ORA-24816 On Insert Statement (Doc ID 746333.1)
    When attempting to insert data into a table that contains LOBs, received the following error during insert.
    INSERT INTO catentdesc (NAME, LONGDESCRIPTION, XMLDETAIL, AVAILABLE, PUBLISHED) VALUES (?, ?, ?, ?, ?)
    ERROR
    Ora-24816: expanded non long bind data supplied after actual long or lob column
    The table definition is:
    Name Null? Type
    NAME VARCHAR2(128)
    LONGDESCRIPTION CLOB
    XMLDETAIL CLOB
    AVAILABLE NOT NULL NUMBER(38)
    PUBLISHED NOT NULL NUMBER(38)
    The workround was to change the insert -
    INSERT INTO catentdesc (NAME, AVAILABLE, PUBLISHED,
    LONGDESCRIPTION, XMLDETAIL) VALUES (?, ?, ?, ?, ?);
    where the lob columns are positioned at the end of the statement.
    This is fixed in the 11.2 RDBMS.
    ========
    To follow up we would need to know the statement causing the problem and the definition of the SQL*Server table involved.
    Could you do a manual capture and generate the scripts for the Oracle table creates ?
    Regards,
    Mike

  • Using SECUREFILE in STORAGE preference?

    I know I can set BASIC_STORAGE preferences for a CONTEXT index. For r_table_clause, the documentation states that The default clause is: 'LOB(DATA) STORE AS (CACHE)'.
    If I'm using 11g, does it make sense to specify this as: 'LOB(DATA) STORE AS SECUREFILE (CACHE)'?
    If so, do any of the other SECURFILE options (like COMPRESS or DEDUPLICATE) make sense?
    Thanks!

    As far as I understand, option SECUREFILE (CACHE) wont make any sense with both base table and $R table, IF
    - all your queries are using the specified index
    Other way round, if all your queries are using index always, then it can fetch the required data from $R itself and it wont require to access the base table for LOB data.
    But, for other option like COMPRESS it very well make sense.
    If you use COMPRESS option only in $R table, it compresses the data of only $R table but your base table still uses large amount of space.
    So, for big LOB data, you should definitely use COMPRESS for base table too (keeping in mind about the performance issue while syncing index etc).

  • LOB Storage definition in Designer

    Does somebody know how to specify a
    LOB Storage definition in Designer 6i?
    Thanks,
    Michael

    Hi Didier - its actually the measure I'm trying tu restrict.
    I'm a bit hazy on what I'øm supposed to use as a filter key.
    What I'm trying to do is:
    1. Create a restricted measuer called BO Amount Curr
    2. Which is based on SAP measure Amount
    3. The restriction should be based on the dimension L01 Currency
    4. where the use selects the desired currency unit at run time.
    I suspect that I'm messing up the filter key selection - however, I haven't been able to find a guide on how to use this functionality.
    What should be uesd as Filter key - the dimesion you want to filter or the dimension you want to use as filter?
    When I use the Filter dimension as filter key - I get an empty query result.
    br
    Jess

  • R3load export of  table REPOSRC with lob col - error ora-1555 and ora-22924

    Hello,
    i have tried to export data from our production system for system copy and then upgrade test. while i export the R3load job has reported error in table REPOSRC, which has lob column DATA. i have apsted below the conversation in which i have requested SAP to help and they said it comes under consulting support. this problem is in 2 rows of the table.
    but i would like to know if i delete these 2 rows and then copy from our development system to production system at oracle level, will there be any problem with upgrade or operation of these prorgams and will it have any license complications if i do it.
    Regards
    Ramakrishna Reddy
    __________________________ SAP SUPPORT COnveration_____________________________________________________
    Hello,
    we have are performing Data Export for System copy of our Production
    system, during the export, R3load Job gave error as
    R3LOAD Log----
    Compiled Aug 16 2008 04:47:59
    /sapmnt/DB1/exe/R3load -datacodepage 1100 -
    e /dataexport/syscopy/SAPSSEXC.cmd -l /dataexport/syscopy/SAPSSEXC.log -stop_on_error
    (DB) INFO: connected to DB
    (DB) INFO: DbSlControl(DBSL_CMD_NLS_CHARACTERSET_GET): WE8DEC
    (DB) INFO: Export without hintfile
    (NT) Error: TPRI_PAR: normal NameTab from 20090828184449 younger than
    alternate NameTab from 20030211191957!
    (SYSLOG) INFO: k CQF :
    TPRI_PAR&20030211191957&20090828184449& rscpgdio 47
    (CNV) WARNING: conversion from 8600 to 1100 not possible
    (GSI) INFO: dbname = "DB120050205010209
    (GSI) INFO: vname = "ORACLE "
    (GSI) INFO: hostname
    = "dbttsap "
    (GSI) INFO: sysname = "AIX"
    (GSI) INFO: nodename = "dbttsap"
    (GSI) INFO: release = "2"
    (GSI) INFO: version = "5"
    (GSI) INFO: machine = "00C8793E4C00"
    (GSI) INFO: instno = "0020111547"
    (DBC) Info: No commits during lob export
    DbSl Trace: OCI-call 'OCILobRead' failed: rc = 1555
    DbSl Trace: ORA-1555 occurred when reading from a LOB
    (EXP) ERROR: DbSlLobGetPiece failed
    rc = 99, table "REPOSRC"
    (SQL error 1555)
    error message returned by DbSl:
    ORA-01555: snapshot too old: rollback segment number with name "" too
    small
    ORA-22924: snapshot too old
    (DB) INFO: disconnected from DB
    /sapmnt/DB1/exe/R3load: job finished with 1 error(s)
    /sapmnt/DB1/exe/R3load: END OF LOG: 20100816104734
    END of R3LOAD Log----
    then as per the note 500340, i have chnaged the pctversion of table
    REPOSRC of lob column DATA to 30, but i get the error still,
    i have added more space to PSAPUNDO and PSAPTEMP also, still the same
    error.
    the i have run the export as
    exp SAPDB1/sap file=REPOSRC.dmp log=REPOSRC.log tables=REPOSRC
    exp log----
    dbttsap:oradb1 5> exp SAPDB1/sap file=REPOSRC.dmp log=REPOSRC.log
    tables=REPOSRC
    Export: Release 9.2.0.8.0 - Production on Mon Aug 16 13:40:27 2010
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit
    Production
    With the Partitioning option
    JServer Release 9.2.0.8.0 - Production
    Export done in WE8DEC character set and UTF8 NCHAR character set
    About to export specified tables via Conventional Path ...
    . . exporting table REPOSRC
    EXP-00056: ORACLE error 1555 encountered
    ORA-01555: snapshot too old: rollback segment number with name "" too
    small
    ORA-22924: snapshot too old
    Export terminated successfully with warnings.
    SQL> select table_name, segment_name, cache, nvl(to_char
    (pctversion),'NULL') pctversion, nvl(to_char(retention),'NULL')
    retention from dba_lobs where
    table_name = 'REPOSRC';
    TABLE_NAME | SEGMENT_NAME |CACHE | PCTVERSION | RETENTION
    REPOSRC SYS_LOB0000014507C00034$$ NO 30 21600
    please help to solve this problem.
    Regards
    Ramakrishna Reddy
    Dear customer,
    Thank you very much for contacting us at SAP global support.
    Regarding your issue would you please attach your ORACLE alert log and
    trace file to this message?
    Thanks and regards.
    Hello,
    Thanks for helping,
    i attached the alert log file. i have gone through is, but i could
    not find the corresponding Ora-01555 for table REPOSRC.
    Regards
    Ramakrishna Reddy
    +66 85835-4272
    Dear customer,
    I have found some previous issues with the similar symptom as your
    system. I think this symptom is described in note 983230.
    As you can see this symptom is mainly caused by ORACLE bug 5212539 and
    it should be fixed at 9.2.0.8 which is just your version. But although
    5212539 is implemented, only the occurrence of new corruptions will be
    avoided, the already existing ones will stay in the system regardless of the patch.
    The reason why metalink 452341.1 was created is bug 5212539, since this
    is the most common software caused lob corruption in recent times.
    Basically any system that was running without a patch for bug 5212539 at some time in the past could be potentially affected by the problem.
    In order to be sure about bug 5212539 can you please verify whether the
    affected lob really is a NOCACHE lob? You can do this as described in
    mentioned note #983230. If yes, then there are basically only two
    options left:
    -> You apply a backup to the system that does not contain these
    corruptions.
    -> In case a good backup is not available, it would be possible to
    rebuild the table including the lob segment with possible data loss . Since this is beyond the scope of support, this would have to be
    done via remote consulting.
    Any further question, please contact us freely.
    Thanks and regards.
    Hello,
    Thanks for the Help and support,
    i have gone through  the note 983230 and metalink 452341.1.
    and i have ran the script and found that there are 2 rows corrupted in
    the table REPOSRC. these rows belong to Standard SAP programs
    MABADRFENTRIES & SAPFGARC.
    and to reconfirm i have tried to display them in our development system
    and production system. the development systems shows the src code in
    Se38 but in production system it goes to short dump DBIF_REPO_SQL_ERROR.
    so is it possible to delete these 2 rows and update ourselves from our
    development system at oracle level. will it have any impact on SAP
    operation or upgrade in future.
    Regards
    Ramakrishna Reddy

    Hello, we have solved the problem.
    To help someone with the same error, what we have done is:
    1.- wait until all the processes has finished and the export is stopped.
    2.- startup SAP
    3.- SE14 and look up the tables. Crete the tables in the database.
    4.- stop SAP
    5.- Retry the export (if you did all the steps with sapinst running but the dialogue window in the screen) or begin the sapinst again with the option: "continue with the old options".
    Regards to all.

  • LOB size problem.

    Hello.
    We have tablespace USERS, in this tablespace we have big LOBSEGMENT (115 GB):
    IFD.SYS_LOB0000153564C00002$$
    I find what it is it:
    SELECT owner, table_name, column_name
      FROM dba_lobs
    WHERE segment_name LIKE 'SYS_LOB0000153564C00002$$';
    Result:
    OWNER :     IFD     
    TABLE_NAME : T_XML_LOAD
    COLUMN_NAME : XML_DOC_BLOB
    I try to find what in this LOB take so many space ?! And use this:
    SELECT dbms_lob.getlength(XML_DOC_BLOB)/1048576,ss.user_name,ss.id,ss.num_of_line,ss.date_load FROM IFD.T_XML_LOAD ss ORDER BY dbms_lob.getlength(XML_DOC_BLOB) DESC;
    Result:
    DBMS_LOB.GETLENGTH(XML_DOC_BLO     USER_NAME     ID     NUM_OF_LINE     DATE_LOAD
    161,970319747925     IFD     40035     805462     26.03.2010 13:40:02
    160,532628059387     SYS     28768692     1710570     19.08.2011 22:50:00
    159,682207107544     SYS     28526053     1701731     12.08.2011 22:50:00
    159,381219863892     SYS     28413137     1698744     05.08.2011 22:50:00
    158,797404289246     SYS     28284336     1692654     29.07.2011 22:50:00
    158,017144203186     SYS     27468680     1684534     22.07.2011 22:50:00
    157,411050796509     SYS     27332613     1678214     15.07.2011 22:50:00
    156,677186965942     SYS     27199246     1670574     08.07.2011 22:50:01
    156,494536399841     SYS     27044492     1668730     01.07.2011 22:50:00
    155,795727729797     SYS     26757077     1661519     24.06.2011 22:50:00
    154,577393531799     SYS     26611800     1648826     17.06.2011 22:50:00
    154,029727935791     SYS     26548886     1643136     10.06.2011 22:50:00
    153,142061233521     SYS     25521350     1633923     03.06.2011 22:50:00
    152,008434295654     SYS     25426220     1622157     27.05.2011 22:50:00
    151,739135742188     SYS     23757539     1621182     25.03.2011 21:01:11
    151,739135742188     SYS     23759891     1621182     26.03.2011 15:44:11
    151,229548454285     SYS     24915230     1614073     20.05.2011 22:50:01
    150,821460723877     SYS     24763769     1610080     06.05.2011 22:50:00
    150,512250900269     SYS     24840403     1606616     13.05.2011 22:50:00
    150,183876991272     SYS     24705893     1603575     29.04.2011 22:50:01
    Not summary 115 Gb...If you will look this size in MB's ... But total size not 115 GB... How to find who take big size in this LOB ?!
    Please help! Thx.

    Try first to get the user size of all LOB column with something like:
    SELECT sum(dbms_lob.getlength(XML_DOC_BLOB)/1048576)
    FROM IFD.T_XML_LOAD;Then you need to check at least:
    1. LOB segment storage parameters like PCTVERSION/RETENTION because undo data for LOB column is stored in LOB segments and not in undo tablespace
    2. CHUNK parameter
    See http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_tables.htm#ADLOB45274.
    Please post also your 4 digits Oracle version and if using 11g whether you are using BasicFiles or SecureFiles.
    Edited by: P. Forstmann on 25 août 2011 08:28

  • E-Recruiting 6.0: Expiry & Retention Periods

    Hi Experts,
    Expiration Period
    Definition: It indicates the maximum period of time an application & the person-related data of the associated candidate may be saved in the system once the recruitment process has been completed.  The process is completed when the application status is set to 'rejected' or 'withdrawn'.
    Question (1):
    If I set the period to be 12 months, after 12 months, what happens to my applications?  Will the system automatically deletes it? How does the system actually works based on the config for this parameter?
    Retention Period
    Definition: It indicates how long a requisition and all related information (applications, applicant data, activities, audit trails etc) must be retained before they can be deleted.
    Question (2):
    I have set it to 12 months. But when i tried deleting a requisition which I have created, the system still allows it.  Can anyone share with me how does the system reacts based on my settings?
    Thanks in advance.
    William

    Well the functionality is not consistent.
    If you maintain periods of time for retention on a requisition, the workflow calculates a retention limit date for an application when it is rejected. It will never be updated automatically.
    A check on retention dates when deleting an requisition is not implemented. I checked the code but did not find anything.
    The only check on this date, which will be than in the candidacy information (hrp5133), is in report:
    RCF_DELETE_EXT_CAND
    Regards

  • Problem creating LOB segment

    Hi all,
    I'm working with 11gR2 version in RAC environment with 2 nodes. I'm creating the schemes on my new database with empty tablespaces and 100Mb of initial free space. I'm having an error on the creation of this table:
    CREATE TABLE "IODBODB1"."DOCUMENTOS"
    (     "ID_DOC" NUMBER NOT NULL ENABLE,
         "ID_APP" NUMBER(5,0) NOT NULL ENABLE,
         "ID_CLS" NUMBER(6,0) NOT NULL ENABLE,
         "CREATE_FEC" DATE NOT NULL ENABLE,
         "LAST_MODIFIED_FEC" DATE NOT NULL ENABLE,
         "DOC_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE,
         "DOC_SIZE" NUMBER NOT NULL ENABLE,
         "DOC_DATA" BLOB NOT NULL ENABLE,
         "CLASE_FORMATO_FORMATO" VARCHAR2(150 BYTE),
         "REGULAR_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE,
         "USUARIO" VARCHAR2(25 BYTE),
         "USUARIO_LEVEL" VARCHAR2(5 BYTE)
    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 10 NOCACHE LOGGING STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    PARTITION BY LIST ("ID_APP")
    SUBPARTITION BY RANGE ("ID_DOC")
    PARTITION "PTL_DOCUMENTOS_FICTICIO" VALUES (0) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 10 NOCACHE LOGGING STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    (SUBPARTITION "PTR_DOCUMENTOS_FICTICIO" VALUES LESS THAN (MAXVALUE) LOB ("DOC_DATA") STORE AS (TABLESPACE "ODBODB_TBL_LOBS" ) TABLESPACE "ODBODB_TBD_DADES" NOCOMPRESS ) );
    PARTITION "PTL_DOCUMENTOS_ALFIMG" VALUES (2) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 32K PCTVERSION 10 NOCACHE LOGGING STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    (SUBPARTITION "STR_DOCUMENTOS_ALFIMG" VALUES LESS THAN (MAXVALUE) LOB ("DOC_DATA") STORE AS (TABLESPACE "BEALFIMG_TBL_ODB" ) TABLESPACE "BEALFIMG_TBD_ODB" NOCOMPRESS )
    The error is:
    ORA-03252: initial extent size not enough for LOB segment
    I can't understand how Oracle can't allocate enough extents to create the LOB segment, and I don't know to which LOB segment it refers because the sqlplus don't mark it with the error.
    Any ideas about this issue?
    Thanks in advance!
    dbajug

    Please, forget this post, I feel dumb... The LOB segment need to have same size of the rest of partition...

  • EXP/IMP..of table having LOB column to export and import using expdp/impdp

    we have one table in that having colum LOB now this table LOB size is approx 550GB.
    as per our knowldge LOB space can not be resused.so we have alrady rasied SR on that
    we are come to clusion that we need to take backup of this table then truncate this table and then start import
    we need help on bekow ponts.
    1)we are taking backup with expdp using parellal parameter=4 this backup will complete sussessfully? any other parameter need to keep in expdp while takig backup.
    2)once truncate done,does import will complete successfully..?
    any SGA PGA or undo tablespace size or undo retention we need to increase.. to completer susecfully import? because its production Critical database?
    current SGA 2GB
    PGA 398MB
    undo retention 1800
    undo tbs 6GB
    please any one give suggestion to perform activity without error...also suggest parameter need to keep during expdp/impdp
    thanks an advance.

    Hi,
    From my experience be prepared for a long outage to do this - expdp is pretty quick at getting lobs out but very slow at getting them back in again - a lot of the speed optimizations that may datapump so excellent for normal objects are not available for lobs. You really need to test this somewhere first - can you not expdp from live and load into some test area - you don't need the whole database just the table/lob in question. You don;t want to find out after you truncate the table that its going to take 3 days to import back in....
    You might want to consider DBMS_REDEFINITION instead?
    Here you precreate a temporary table (with same definitiion as the existing one), load the data into it from the existing table and then do a dictionary switch to swap them over - giving you minimal downtime. I think this should work fine with LOBS at 10g but you should do some research and see if it works fine. You'll need a lot of extra tablespace (temporarily) for this approach though.
    Regards,
    Harry

  • Buffer busy waits after cnanging lob storage  to oracle securefiles

    Hi Everyone
    I need help resolving a problem with buffer busy waits in for a lob segment using securefiles for storage.
    During the load the application inserts a record into a table with the lob segment and update the record after, populating lob data. The block size on the table space holding the lob is 8 kb and the chunk size on the lob segment is set to 8kb. The average size of the lob record is 6 kb and the minimum size is 4.03 KB. The problem occurs only when running a job with a big number of relatively small inserts (4.03 Kb) in to the lob column . The table definition allow in-row storage and the ptcfree set to 10%. The same jobs runs without problem when using basicfiles storage for the lob column.
    According to [oracle white paper |http://www.oracle.com/technetwork/database/options/compression/overview/securefiles-131281.pdf] securefiles have a number of performance enhancements. I was particular interested to test Write Gather Cache as our application does a lot of relatively small inserts into a lob segment.
    Below is a fragment from the AWR report. It looks like all buffer busy waits belong to a free list class. The lob segment is located in an ASSM tablespace and I cannot increase freelists.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning option
    Host Name        Platform                         CPUs Cores Sockets Memory(GB)
    DB5              Microsoft Windows x86 64-bit        8     2              31.99
                  Snap Id      Snap Time      Sessions Curs/Sess
    Begin Snap:      1259 01-Apr-11 14:40:45       135       5.5
      End Snap:      1260 01-Apr-11 15:08:59       155      12.0
       Elapsed:               28.25 (mins)
       DB Time:              281.55 (mins)
    Cache Sizes                       Begin        End
    ~~~~~~~~~~~                  ---------- ----------
                   Buffer Cache:     2,496M     2,832M  Std Block Size:         8K
               Shared Pool Size:     1,488M     1,488M      Log Buffer:    11,888K
    Load Profile              Per Second    Per Transaction   Per Exec   Per Call
    ~~~~~~~~~~~~         ---------------    --------------- ---------- ----------
          DB Time(s):               10.0                0.1       0.01       0.00
           DB CPU(s):                2.8                0.0       0.00       0.00
           Redo size:        1,429,862.3            9,390.5
       Logical reads:          472,459.0            3,102.8
       Block changes:            9,849.7               64.7
      Physical reads:               61.1                0.4
    Physical writes:               98.6                0.7
          User calls:            2,718.8               17.9
              Parses:              669.8                4.4
         Hard parses:                2.2                0.0
    W/A MB processed:                1.1                0.0
              Logons:                0.1                0.0
            Executes:            1,461.0                9.6
           Rollbacks:                0.0                0.0
        Transactions:              152.3
    Top 5 Timed Foreground Events
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                               Avg
                                                              wait   % DB
    Event                                 Waits     Time(s)   (ms)   time Wait Class
    buffer busy waits                 1,002,549       8,951      9   53.0 Concurrenc
    DB CPU                                            4,724          28.0
    latch: cache buffers chains      11,927,297       1,396      0    8.3 Concurrenc
    direct path read                    121,767         863      7    5.1 User I/O
    enq: DW - contention                209,278         627      3    3.7 Other
    ?Host CPU (CPUs:    8 Cores:    2 Sockets: )
    ~~~~~~~~         Load Average
                   Begin       End     %User   %System      %WIO     %Idle
           38.7       3.5       57.9
    Instance CPU
    ~~~~~~~~~~~~
                  % of total CPU for Instance:      40.1
                  % of busy  CPU for Instance:      95.2
      %DB time waiting for CPU - Resource Mgr:       0.0
    Memory Statistics
    ~~~~~~~~~~~~~~~~~                       Begin          End
                      Host Mem (MB):     32,762.6     32,762.6
                       SGA use (MB):      4,656.0      4,992.0
                       PGA use (MB):        318.4        413.5
        % Host Mem used for SGA+PGA:        15.18        16.50
                                                                 Avg
                                            %Time Total Wait    wait    Waits   % DB
    Event                             Waits -outs   Time (s)    (ms)     /txn   time
    buffer busy waits             1,002,549     0      8,951       9      3.9   53.0
    latch: cache buffers chain   11,927,297     0      1,396       0     46.2    8.3
    direct path read                121,767     0        863       7      0.5    5.1
    enq: DW - contention            209,278     0        627       3      0.8    3.7
    log file sync                   288,785     0        118       0      1.1     .7
    SQL*Net more data from cli    1,176,770     0        103       0      4.6     .6
    Buffer Wait Statistics                DB/Inst: ORA11G/ora11g  Snaps: 1259-1260
    -> ordered by wait time desc, waits desc
    Class                    Waits Total Wait Time (s)  Avg Time (ms)
    free list              818,606               8,780             11
    undo header            512,358                 141              0
    2nd level bmb          105,816                  29              0
    -> Total Logical Reads:     800,688,490
    -> Captured Segments account for   19.8% of Total
               Tablespace                      Subobject  Obj.       Logical
    Owner         Name    Object Name            Name     Type         Reads  %Total
    EAG50NSJ   EAG50NSJ   SYS_LOB0000082335C00            LOB    127,182,208   15.88
    SYS        SYSTEM     TS$                             TABLE    7,641,808     .95
    Segments by Physical Reads            DB/Inst: ORA11G/ora11g  Snaps: 1259-1260
    -> Total Physical Reads:         103,481
    -> Captured Segments account for  224.4% of Total
               Tablespace                      Subobject  Obj.      Physical
    Owner         Name    Object Name            Name     Type         Reads  %Total
    EAG50NSJ   EAG50NSJ   SYS_LOB0000082335C00            LOB        218,858  211.50
    ....Best regards
    Yuri Kogun

    Hi Jonathan,
    I was puzzled by the number of logical reads as well. This hasn't happened when the lob was stored as a basic fille and I assumed that the database is able to store the records in-row when we switched to securefiles. With regards to ASSM, according to the documentation this is the only option when using securefiles.
    We did have high number of HW-enqueue waits in the database when running the test with basic files and had to set 44951 event
    alter system set EVENTS '44951 TRACE NAME CONTEXT FOREVER, LEVEL 1024' There are 2 application servers running 16 jobs each, so we should not have more than 32 sessions inserting the data in the same time but I need to check wheter jobs can be brocken to smaller peaces. I that case the number of concurrent session may be bigger. Each session is configured with bundle size of 30 and it will issue commit every 30 inserts.
    I am not sure how exactly the code does insert, as I've been told it should be straight insert and update I will be able to check this on Monday.
    Below is the extract from the AWR reports with top SQL, I could not find any SQL related to the $TS table in the report. The query to the V$SEGMENT_STATISTICS was executed by me during the job run.
    ?SQL ordered by Elapsed Time          DB/Inst: ORA11G/ora11g  Snaps: 1259-1260
    -> Resources reported for PL/SQL code includes the resources used by all SQL
       statements called by the code.
    -> % Total DB Time is the Elapsed Time of the SQL statement divided
       into the Total Database Time multiplied by 100
    -> %Total - Elapsed Time  as a percentage of Total DB time
    -> %CPU   - CPU Time      as a percentage of Elapsed Time
    -> %IO    - User I/O Time as a percentage of Elapsed Time
    -> Captured SQL account for   91.3% of Total DB Time (s):          16,893
    -> Captured PL/SQL account for    0.1% of Total DB Time (s):          16,893
            Elapsed                  Elapsed Time
            Time (s)    Executions  per Exec (s)  %Total   %CPU    %IO    SQL Id
             7,837.5        119,351          0.07   46.4   28.3     .7 2zrh6mw372asz
    Module: JDBC Thin Client
    update JS_CHANNELDESTS set CHANNELID=:1, DESTID=:2, CHANNELDESTSTATUSDATE=:3, ST
    ATUS=:4, BINOFFSET=:5, BINNAME=:6, PAGECOUNT=:7, DATA=:8, SORTORDER=:9, PRINTFOR
    MAT=:10, ENVELOPEID=:11, DOCID=:12, CEENVELOPEID=:13, CHANNELTYPE=:14 where ID=:
    15
             7,119.0        115,997          0.06   42.1   23.1     .2 3vjx93vur4dw1
    Module: JDBC Thin Client
    insert into JS_CHANNELDESTS (CHANNELID, DESTID, CHANNELDESTSTATUSDATE, STATUS, B
    INOFFSET, BINNAME, PAGECOUNT, DATA, SORTORDER, PRINTFORMAT, ENVELOPEID, DOCID, C
    EENVELOPEID, CHANNELTYPE, ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :
    11, :12, :13, :14, :15)
                85.6              2         42.80     .5   98.3     .0 cc19qha9pxsa4
    Module: SQL Developer
    select object_name, statistic_name, value from V$SEGMENT_STATISTICS
    where object_name = 'SYS_LOB0000082335C00011$$'
                35.0        111,900          0.00     .2   74.3    7.6 c5q15mpnbc43w
    Module: JDBC Thin Client
    insert into JS_ENVELOPES (BATCHID, TRANSACTIONNO, SPOOLID, JOBSETUPID, JOBSETUPN
    AME, SPOOLNAME, STEPNO, MASTERCHANNELJOBID, SORTKEY1, SORTKEY2, SORTKEY3, ID) va
    lues (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12)
                34.9        111,902          0.00     .2   63.0    2.6 a0hmmbjwgwh1k
    Module: JDBC Thin Client
    insert into JS_CHANNELJOBPROPERTIES (NAME, VALUE, CHANNELJOBID, ID) values (:1,
    :2, :3, :4)
                29.2            950          0.03     .2   95.9     .1 du0hgjbn9vw0v
    Module: JDBC Thin Client
    SELECT * FROM JS_BATCHOVERVIEW WHERE BATCHID = :1
    ?SQL ordered by Executions            DB/Inst: ORA11G/ora11g  Snaps: 1259-1260
    -> %CPU   - CPU Time      as a percentage of Elapsed Time
    -> %IO    - User I/O Time as a percentage of Elapsed Time
    -> Total Executions:       2,476,038
    -> Captured SQL account for   96.0% of Total
                                                  Elapsed
    Executions   Rows Processed  Rows per Exec   Time (s)   %CPU    %IO    SQL Id
         223,581         223,540            1.0       22.4   63.7     .0 gz7n75pf57c
    Module: JDBC Thin Client
    SELECT SQ_CHANNELJOBPROPERTIES.NEXTVAL FROM DUAL
         120,624         120,616            1.0        8.1   99.0     .0 6y3ayqzubcb
    Module: JDBC Thin Client
    select batch0_.BATCHID as BATCHID0_0_, batch0_.BATCHNAME as BATCHNAME0_0_, batch
    0_.STARTDATE as STARTDATE0_0_, batch0_.PARFINDATE as PARFINDATE0_0_, batch0_.PRO
    CCOMPDATE as PROCCOMP5_0_0_, batch0_.BATCHSTATUS as BATCHSTA6_0_0_, batch0_.DATA
    FILE as DATAFILE0_0_, batch0_.BATCHCFG as BATCHCFG0_0_, batch0_.FINDATE as FINDA
         119,351         227,878            1.9    7,837.5   28.3     .7 2zrh6mw372a
    Module: JDBC Thin Client
    update JS_CHANNELDESTS set CHANNELID=:1, DESTID=:2, CHANNELDESTSTATUSDATE=:3, ST
    ATUS=:4, BINOFFSET=:5, BINNAME=:6, PAGECOUNT=:7, DATA=:8, SORTORDER=:9, PRINTFOR
    MAT=:10, ENVELOPEID=:11, DOCID=:12, CEENVELOPEID=:13, CHANNELTYPE=:14 where ID=:
    15
         116,033         223,892            1.9        8.0   92.2     .0 406wh6gd9nk
    Module: JDBC Thin Client
    select m_jobprope0_.CHANNELJOBID as CHANNELJ4_1_, m_jobprope0_.ID as ID1_, m_job
    prope0_.NAME as formula0_1_, m_jobprope0_.ID as ID4_0_, m_jobprope0_.NAME as NAM
    E4_0_, m_jobprope0_.VALUE as VALUE4_0_, m_jobprope0_.CHANNELJOBID as CHANNELJ4_4
    _0_ from JS_CHANNELJOBPROPERTIES m_jobprope0_ where m_jobprope0_.CHANNELJOBID=:1
         115,997         115,996            1.0    7,119.0   23.1     .2 3vjx93vur4d
    Module: JDBC Thin Client
    insert into JS_CHANNELDESTS (CHANNELID, DESTID, CHANNELDESTSTATUSDATE, STATUS, B
    INOFFSET, BINNAME, PAGECOUNT, DATA, SORTORDER, PRINTFORMAT, ENVELOPEID, DOCID, C
    EENVELOPEID, CHANNELTYPE, ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :
    11, :12, :13, :14, :15)
         115,996         115,996            1.0       15.9   75.0    4.5 3h58syyk145
    Module: JDBC Thin Client
    insert into JS_DOCJOBS (CREATEDATE, EFFDATE, JURIST, LANG, IDIOM, DD, DDVID, USE
    RKEY1, USERKEY2, USERKEY3, USERKEY4, USERKEY5, USERKEY6, USERKEY7, USERKEY8, USE
    RKEY9, USERKEY10, USERKEY11, USERKEY12, USERKEY13, USERKEY14, USERKEY15, USERKEY
    16, USERKEY17, USERKEY18, USERKEY19, USERKEY20, REVIEWCASEID, ID) values (:1, :2
         115,440         115,422            1.0       11.5   63.3     .0 2vn581q83s6
    Module: JDBC Thin Client
    SELECT SQ_CHANNELDESTS.NEXTVAL FROM DUAL
    ...The tablespace holding the lob segment has system extent allocation and the number of blocks for the lob segments roughly the same as the number of blocks in allocated extents.
           select segment_name,  blocks, count (*)  
           from dba_extents where segment_name = 'SYS_LOB0000082335C00011$$'
           group by segment_name,  blocks
           order by blocks
    SEGMENT_NAME                                                                      BLOCKS                 COUNT(*)              
    SYS_LOB0000082335C00011$$                                                         8                      1                     
    SYS_LOB0000082335C00011$$                                                         16                     1                     
    SYS_LOB0000082335C00011$$                                                         128                    158                   
    SYS_LOB0000082335C00011$$                                                         256                    1                     
    SYS_LOB0000082335C00011$$                                                         1024                   120                   
    SYS_LOB0000082335C00011$$                                                         2688                   1                     
    SYS_LOB0000082335C00011$$                                                         8192                   117                   
    SELECT
        sum(ceil(dbms_lob.getlength(data)/8000))
        from EAG50NSJ.JS_CHANNELDESTS
    SUM(CEIL(DBMS_LOB.GETLENGTH(DATA)/8000))
    993216                                  
    select sum  (blocks)   from dba_extents where segment_name = 'SYS_LOB0000082335C00011$$'
    SUM(BLOCKS)           
    1104536                Below is the instance activity stats related to securefiles from the AWR report
    Statistic                                     Total     per Second     per Trans
    securefile allocation bytes           3,719,995,392    2,195,042.4      14,415.7
    securefile allocation chunks                380,299          224.4           1.5
    securefile bytes non-transformed      2,270,735,265    1,339,883.4       8,799.6
    securefile direct read bytes          1,274,585,088      752,089.2       4,939.3
    securefile direct read ops                  119,725           70.7           0.5
    securefile direct write bytes         3,719,995,392    2,195,042.4      14,415.7
    securefile direct write ops                 380,269          224.4           1.5
    securefile number of non-transfo            343,918          202.9           1.3Best regards
    Yuri
    Edited by: ykogun on 02-Apr-2011 13:33

  • Oracle 11.2.0.3 - Lob space usage

    Hi Everyone,
    I would like some advise about how to interrupt LOB space usage given the following statistics. And would appreciate any feedback on whether my understanding of the following is correct:
    We have a table with BLOB column which is located on a LOB segment.
    This the DDL to create the table and the LOB:
    CREATE TABLE BLOB_TEST
      TEST_ID      NUMBER  NOT NULL,
      TEST         BLOB
    LOB (TEST) STORE AS (
      TABLESPACE  USERS
      ENABLE      STORAGE IN ROW
      CHUNK       8192
      RETENTION
      NOCACHE
      LOGGING
          STORAGE    (
                      INITIAL          64K
                      NEXT             1M
                      MINEXTENTS       1
                      MAXEXTENTS       UNLIMITED
                      PCTINCREASE      0
                      BUFFER_POOL      DEFAULT
                      FLASH_CACHE      DEFAULT
                      CELL_FLASH_CACHE DEFAULT
    TABLESPACE USERS
    RESULT_CACHE (MODE DEFAULT)
    PCTUSED    0
    PCTFREE    30
    INITRANS   10
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                NEXT             1M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
                FLASH_CACHE      DEFAULT
                CELL_FLASH_CACHE DEFAULT
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
    The statistics for this table is as follows:
    The size of the test blob is:
    A.
    select sum(dbms_lob.getlength (test))/1024/1024 mb  from BLOB_TEST
    = 4860 mb
    Space above HWM ( using dbms_space.unused_space):
    B.
    TOTAL_BLOCKS = 778368
    TOTAL_BYTES = 6376390656
    UNUSED_BLOCKS = 0
    UNUSED BYTES = 0
    LAST_USED_EXTENT_FILE_ID = 12
    LAST_USED_EXTENT_BLOCK_ID = 3383296
    LAST_USED_BLOCK = 8192
    Space below HWM (using dbms_space.used_space):
    C.
    TOTAL_BLOCKS = 778368
    TOTAL_BYTES = 6376390656
    UNUSED_BLOCKS = 0
    UNUSED BYTES = 0
    LAST_USED_EXTENT_FILE_ID = 12
    LAST_USED_EXTENT_BLOCK_ID = 3383296
    LAST_USED_BLOCK = 8192
    Unformatted Blocks = 0
    FS1 Blocks = 0
    FS2 Blocks = 0
    FS3 Blocks = 0
    FS4 Blocks = 0
    Full Blocks = 777114
    Using the above, this is what I'm interrupting and need your help on this to make sure that this is right.
    From A, the total size of the test blob data is:  4806 MB.
    From B, the amount of free space ABOVE HWM is 0. This is because there is 0 in the unused_blocks.
    From C, the amount of free space BELOW HWM is 0, because all the FS's are 0 and so is UNUSED_BLOCKS as well.
    The amount of full blocks = 777114 blocks. This means that 615168 blocks (from 4806MB) is for data.  The rest is for undo space as there is 0 for free space?
    In addition to this, 778368 - 777114 = 1254 blocks = 9.8 mb (approx) of? I'm not sure what is this.
    Am I on the right track here?
    Thanks

    Pavel wrote:
    Hello!
    I have Oracle 11.2.0.3 on Aix 64bit installed and see symptoms of bug 13443029 ,
    have I downgrade to 11.2.0.2 to appling the patch for fixing this bug ?
    README for *13443029*
    Patch Details
    Oracle Database 11g Release *11.2.0.2.0*
    ORACLE DATABASE Patch for Bug# 13443029 for AIX5L Platforms
    Released: 13 Jan, 2012Thanks and regards,
    PavelOpen SR . you will get help and send you patch if they think its need that .

  • Reclaiming LOB space in Oracle 10.2.0.5

    Hi experts,
    we have a database with some tables having LOB datatype. Even when rows from the tables having LOB data type are deleted, space is not released.
    Going through documents I came across -
    alter table <table> modify lob (col) (shrink space);
    However this generates a lots of log. This is a big issue for me as my table has grown roughly 120G. Is there any way I could suppress log generating while shrinking space for a particular table?
    Thanks for your help/advice.

    Shrinking the space generates a lot of redo because you're moving the LOB data around within the LOB segment. Those changes have to be protected by the generation of redo if you want the system to be online while the LOB data is being moved around. If you were somehow to suppress redo generation during the shrink operation, that would mean that if something went wrong during the shrink, your entire lob segment would be unusable. I'm assuming that would not be acceptable to you.
    Is it possible for you to partition the table in such a way that the LOB data in some partitions eventually becomes at least mostly static?
    What, exactly, is the problem with generating large amounts of redo? Obviously, it's going to generate a decent amount of load on your disk subsystem to write that redo information to disk and, assuming you're in archived log mode, it would add to the backup time. It's definitely annoying if you've got DataGuard and are trying to keep a standby database synchronized. It would be helpful to know exactly what aspect of the redo generation is problematic for you.
    Justin

  • Retention policy notification message outlook2010

    some user have the "retention policy" bar at bottom of messages and some don't even though all have same default policy applied; client is outlook 2010 w latest updates; would like it applied across the board; heard someone mention that it may
    be due to office 2010 professional being installed on some machines vs office 2010 standard, can anyone confirm?  any suggestions to getting bar to appear short of installing professional?
    thx

    Yep, its definitely a license thing and there is no way around it.
    http://office.microsoft.com/en-001/outlook-help/license-requirements-for-personal-archive-and-retention-policies-HA102576659.aspx
    DJ Grijalva | MCITP: EMA 2007/2010 SPA 2010 | www.persistentcerebro.com

Maybe you are looking for

  • Urgent issue REPORT FOR ALL MATERIAL BASED ON STOC TYPE

    Hi I want report for based on stock type i want to check the stock for all mterial with  stock type "quality inspction" i want that type of material documents is it possible to see the report regards sesidhar

  • Customized Skins in Non-English Projects

    I have a customized skin that when used non-English projects, it omits special characters in the buttons for Contents and Index. I didn't create the skin so I don't have Flash. Any suggestions on how to fix the buttons to display the missing characte

  • Query regarding perl in Oracle Home

    Hi All, One of my customers has asked the following question “There is Perl 5.6.1 present in OracleHome but I can't use it like Perl is meant to be, because there is no makemaker ... so I can't use modules provided by CPAN. I want to know if it is po

  • Javaee5tutorial

    dear all, I have a simple question (I hope). I downloaded the Java EE 5 development kit but I didn't find the javaee5tutorial. Where can I find and download this tutorial? Many thanks for the help and bye, Giordano

  • Skype won't sign in on Windows 8.1

    So every time I try to sign in to Skype on Windows 8.1 using the desktop version or the app version, it freezes on Signing In. I've tried compatibility mode, and it works fine on my phone, but I can't get it working on my computer. I upgraded to 8.1