How to rebuild index in E-Business

Hi
As on core DB side we can check index status for rebuild with command
select owner,index_name,blevel,last_analyzed from dba_indexes where blevel>3 order by last_analyzed
and after that
alter index <index_name> rebuild compute statistics;
my question is can we do the same with my e-business R12.1.2 and 10.2.0.4 database or there is some other recommendation. I want to do this for performance increase.
Thanks
Krishna

Hi krishna,
Also please see
note 163208.1 bde_last_analyzed.sql - Verifies CBO Statistics
note 174605.1 bde_chk_cbo.sql - Reports Database Initialization Parameters related to an Apps 12 or 11i instance
note 396009.1 Database Initialization Parameters for Oracle Applications Release 12
note 216205.1 Database Initialization Parameters for Oracle Applications 11i
note 744143.1 Tuning performance on eBusiness suite
note 169935.1 Troubleshooting Oracle Applications Performance Issues
note 244040.1 Oracle E-Business Suite Recommended Performance Patches

Similar Messages

  • How to rebuild index from different schema

    Hi All,
    I want to rebuild an Index of schema A from Schema B.
    Is there any grant needs to be give to Schema B in order to rebuild index of Schema A?
    Thanks,
    Tarak

    It is true what P. Forstmann said. However if you don't want to give the second user the ANY priviledge, then you can do a little workaround. Create a small procedure in Schema A that does the rebuild (maybe dynamically). Then grant execute rights on the procedure to Schema B.

  • How to rebuild index on a table in a faster way

    Hi All,
    We have using Oracle 9.2.0.3
    On weekly basis we are loading around 20-30 million of data into a table using sqlloader.
    Before loading the data into the table, we are dropping all the indexes adn rebuilding the same once done.
    There are 6 index on the table and rebuilding them takes around 10-11 hours.
    Is there any ways to reduce the time of index rebuilding.
    Rgds,
    Amol

    Doing it that way a
    alter session set skip_unusable_indexes=truemight also be necessary.

  • How to rebuild creidt exposure?

    Hi everybody,
    Can anyone let me know how to rebuild credit exposure for business partner? What is the purpose of this?
    Regards

    Hi
    This is for rebuilding the credit limit exposure, which can be seen in F.32.
    This is not normally used but exceptionally used if there are any organization changes made in SAP.
    Yuo can try it first in test system and with test run to see what all customers affected due to this run and understand the consequences to proceed further.
    Regards

  • How to delete the index for the business object BUS0033

    Hi to all experts,
    I'm applying note 1349496 the error here is no records with F4 help for the funds center .
    solution from the note
    Implement the attached program corrections. Then, in the transaction, delete the index for the business object BUS0033, reactivate it, and start the indexing in the indexing mode "Full". The system then displays the data correctly in the F4 search help.
    how to do the second part i have already applied the note .

    any help

  • How to rebuild oracle 8.1.7.4 indexes online or thi sindex: sys_c001316

    This select is running for hours
    SELECT t1.native_id
    FROM atc_xref t1
    WHERE t1.app_id = :v0
    AND t1.obj_name = :v1
    AND t1.canonical_id = :v2
    How to rebuild 8 i indexes fo improve performance or to resolve ora_08108

    What is the size of atc_xref ? How many records do you have in it? When did it start behaving like that? What was your last major change to the database?

  • How to rebuild BIA index ?

    Hello,
    I wonder how to rebuild a BI Accelerator index, without deleting it previously ?
    I hope this is not a silly question, cause I do not find for the moment if it is really possible.
    Thank you very much for your help.
    Benjamin

    Hi Benjamin,
    The concept of rebuild of index is to initially delete the index completely and create again. So, there is no option to rebuild the index without deleting it.
    For eg: Based on the initial data volumes, if BIA had decided not to split a fact table on  BIA side, and over a period of time, if the data volumes have increased. BIA triggers an alert indicating the difference of volumes in percentage between BI and BIA. At this point of time, based on the difference, you are required to rebuild the index.
    It then deletes the whole structure of index on BIA and then recreates the index structure. Thereby, it can decide to split the Fact table index based on the new volumes. This is one of the benefit of deleting the whole index structure and then creating again.
    Regards,
    Srini

  • REBUILD INDEXES IN OFFLINE MODE

    hi all
    we got SQL 2012 enterprise edition on our production server, As our frag levels are more we are planning to do defragmentation but when we scheduled rebuild indexs last time this ran for 7-8hrs and drive spaces decreased rapidly so we have killed
    the process in the middle. I heard that offline indexes will be the better solution as it will be done quickly and keeping in simple recovery prevents the log file increase. could some one tell me how to schedule maintenance plan  for rebuild  with
    offline mode in sql 2012 enterprise edtion or some other efficient way.
    proposed plan for rebuilding->take full backup for DB
    change recovery model to simple
    configure m plan with offline mode
    change to full after the plan finished
    run dbcc update usage
    take full backup after all done
    could you please help me in this by letting me know is this correct way to do and how to configure plan which rebuils in offline mode
    with regards,
    ram.

    ->setting recovery model from full to simple is to save the disk space, as log will not increase
    ->As of now we are not taking any T-log backup due to some internal issues so there will be no issue with log chain break
    Frankly, I get scared. OK, I don't know what your system is doing, and what your SLA is saying, but someone is paying a lot of money to use Enterprise Edition. But you are not taking log backups? I can only hope that your system does not have a disaster,
    because if you have and you are not able to restart the business, you need to be in a country with very high labour security to not lose your job.
    ->won't the DB files size increase wen we do this bulk logged
    Obviously, if you are not taking log backups, the log file file will keep growing, but it will grow less in bulk-logged recovery. On the other hand, the log backups - had you taken any - will be larger.
    Please correct me If iam wrong, could you please tell me the procedure for REBUILD IN OFFLINE MODE through maintenance plan.
    If you are talking about the maintenance plans you see in SSMS, I only have one advice: don't use them. Instead go to
    http://ola.hallengren.com
    for an enterprise solution.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Shrink Database (Rebuild Indexes)

    Hi
    I would like to know that, If I shrink my DB and started rebuilding indexes how much time it would require to rebuild a DB of size 1 GB.
    Thanks ...
    Manish

    Why to shrink, as you probably know after rebuilding in may grow again :-)))
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Rebuilding indexes after importing...

    My coworker and I are discussing whether it is necessary, or advised, to rebuild indexes after an import of the schema.
    My thinking is that the index data is put into fresh blocks thereby creating a very flat index tree without any fragmentation.
    But my coworker suspects that perhaps the blocks are built exactly as they existed in the source database.
    I could understand, perhaps, if the refresh were done by using RMAN which copies block by block, but even then I'm not sure.
    Can you help us understand this please?
    Thanks.
    Ed

    Hi,
    Normally, the indexes are build and statistics upfated after the import automatically. You do not ned to generate the statistics after the import until unless you are running very old version of database.
    Regards
    [sfa-dev1:oracle:10.2.0] $ imp help=Y
    Import: Release 10.2.0.4.0 - Production on Fri Nov 13 11:49:56 2009
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    You can let Import prompt you for parameters by entering the IMP
    command followed by your username/password:
    Example: IMP SCOTT/TIGER
    Or, you can control how Import runs by entering the IMP command followed
    by various arguments. To specify parameters, you use keywords:
    Format: IMP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
    Example: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
    or TABLES=(T1:P1,T1:P2), if T1 is partitioned table
    USERID must be the first parameter on the command line.
    Keyword Description (Default) Keyword Description (Default)
    USERID username/password FULL import entire file (N)
    BUFFER size of data buffer FROMUSER list of owner usernames
    FILE input files (EXPDAT.DMP) TOUSER list of usernames
    SHOW just list file contents (N) TABLES list of table names
    IGNORE ignore create errors (N) RECORDLENGTH length of IO record
    GRANTS import grants (Y) INCTYPE incremental import type
    INDEXES import indexes (Y) COMMIT commit array insert (N)
    ROWS import data rows (Y) PARFILE parameter filename
    LOG log file of screen output CONSTRAINTS import constraints (Y)
    DESTROY overwrite tablespace data file (N)
    INDEXFILE write table/index info to specified file
    SKIP_UNUSABLE_INDEXES skip maintenance of unusable indexes (N)
    FEEDBACK display progress every x rows(0)
    TOID_NOVALIDATE skip validation of specified type ids
    FILESIZE maximum size of each dump file
    STATISTICS             import precomputed statistics (always) On 10gR2
    Edited by: skvaish1 on Nov 13, 2009 11:50 AM

  • Rebuild Index VS Drop and Rebuild?

    Hey all,
    I am currently redesigning a weekly process (weekly coz we pre determined the rate of index fragmentation) for specific indexes that get massive updates. The old process has proved to be able to fix and maintain reports performance.
    In this process we rebuild specific indexes using the below command:
    Alter index index_name rebuild online;
    This command takes around 10 min for selected indexes.
    Testing the below took 2 min for 6 or 7 indexes.
    Drop Index Index_Name;
    Create Index Index_Name on Table_name (Col1, col, ..);
    I know that indexes might not be used, and the application performance would be degraded with stale or non-existent stats. But our production and all our test DBs have procedures that daily gather stats on them.
    I tested the below script to make sure that execution plan does not change:
    SELECT ProductID, ProductName, MfrID FROM PRODUCT WHERE MFRID = 'Mfr1';
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
    | 0 | SELECT STATEMENT | | 37 | 3737 | 13 (0)|
    | 1 | TABLE ACCESS BY INDEX ROWID| PRODUCT | 37 | 3737 | 13 (0)|
    | 2 | INDEX RANGE SCAN | PRODUCT_X1 | 37 | | 3 (0)|
    dropping PRODUCT_X1 and recreating it only changed the cost to 12.
    Gathering the stats again took the cost to 14.
    No performance issues were faced and index was still used.
    My question is: Is there any oracle recommendation that requires rebuilding the index instead of dropping and recreating it?
    Is there any side effect to my approach that I did not consider?
    Thank you

    Charlov wrote:
    I am currently redesigning a weekly process (weekly coz we pre determined the rate of index fragmentation)Nice. Not only have you defined and located index fragmentation but have also measured the rate at which it occurs.
    Could you please share your definition of index fragmentation, how you detect it, and how you measure the rate of change of this fragmentation.
    I am curious about all this since it can be repeatedly shown that Oracle btree indexes are never fragmented.
    http://richardfoote.files.wordpress.com/2007/12/index-internals-rebuilding-the-truth-ii.pdf
    The old process has proved to be able to fix and maintain reports performance.Great so you have traces and run time statistics from before and after the rebuild that highlight this mysterious fragmentation and show how the fragmentation caused the report to be slow, details what effects the rebuild had that caused the reports to perform better.
    Please share them as these would be an interesting discussion point since no one has been able to show previously how an index rebuild caused a report to run faster or even show the fragmentation that caused it to be slow in the first place.
    I mean it would be a pity if the report was just slow because of an inefficient plan and compressing an index or two that probably shouldn't be used in teh first place appears to temporarily speed it up. Could you imagine rebuilding indexes every week, because some developer put the wrong hint in a query? That would be pretty funny.

  • Rebuild index vs Analyze index

    Hi All,
    I am realy confused about rebuilding index versus Analyzing index.
    Could anyone plz help me out what is the diffrence between them.
    How to Perform analyze of indexes and Rebuld of Indexes for both Oracle 9i and 10g databases.
    Thanks a lot

    CKPT wrote:
    You can see the posts of experts by jonathan
    I am realy confused about rebuilding index versus Analyzing index. tell us you are getting confused why we need to ananlyze before reubild index? if so
    if index analyzed the whole statistics of index will be gathered.... then you can check what is the hieght of the index.. according to the height of the index you need to take step is index need to be really rebuild or not...
    lets see furhter posts from experts if not clear..Thanks OK, so you determine the height of an index is (say) 4. What then ? If you decide to rebuild the index and the index remains at a height of 4, what now ? Was it really worth doing and do you rebuild it again as the index height is still 4 and still within your index rebuild criteria ? At what point do you decide that rebuilding the index just because it has a height of 4 is a total waste of time in this case ?
    OK, so you determine the index only has a height of (say) 3, does that mean you don't rebuild the index ? But what if by rebuilding the index, the index now reduces to a height of just 1 ? Perhaps not rebuilding the index even though it has just a height of 3 and doesn't currently meet your index rebuild criteria is totally the wrong thing to do and a rebuild would result in a significantly leaner and more efficient index structure ?
    So what if it's pointless rebuilding an index with a height of 4 but another index with a height of 3 is a perfect candidate to be rebuilt ?
    Perhaps knowing just the height of an index leaves one totally clueless after all as to whether the index might benefit from an index rebuild ...
    Cheers
    Richard Foote
    http://richardfoote.wordpress.com/

  • Multiple objects with same name when rebuilding index online

    I am looking for advice on how to handle a race-condition in sql server, related to reading metadata while an online index rebuild is being performed.
    The problem is as follows:
    At some point we execute the following statement:
    SELECT 
    obj.object_id AS id, 
    scm.name AS scm, 
    obj.name AS name, 
    obj.type AS type, 
    ds.name AS dataspace_name, 
    prop.value AS description, 
    part.data_compression_desc as compression_desc
    FROM sys.objects AS obj
    INNER JOIN sys.schemas AS scm ON obj.schema_id = scm.schema_id
    INNER JOIN sys.indexes AS idx ON obj.object_id = idx.object_id AND idx.type IN (0,1)
    INNER JOIN sys.data_spaces AS ds ON idx.data_space_id = ds.data_space_id
    INNER JOIN (SELECT object_id, data_compression_desc FROM sys.partitions WHERE index_id IN (0,1) /*Heap, Clustered*/) AS part ON part.object_id = obj.object_id
    LEFT OUTER JOIN sys.extended_properties AS prop ON obj.object_id = prop.major_id AND prop.minor_id = 0 AND prop.class = 1 AND prop.name = 'Description'
    WHERE obj.type = 'U' OR obj.type = 'S'";
    The statement returns some metadata for indexes (indices?), the purpose of wich is not the subject.
    When executed while an online index rebuild is running, a race condition occurs: When the rebuilding enters the final phase, the new index, which have the same name, becomes visible and thus results in two rows with the same name (from sys.object). I am unaware
    if this only occurs for clustered index (which is what we have observed).
    We became aware of this behaviour, as we added the metadata to a .Net Dictionary using name as key, and received a duplicate key exception. We have, hoewever, not been able to reproduce the situation, due to the nature of the race condition, and we found very
    little documentation on the subject.
    What we would like to do now, is to differentiate between the two. We see two options:
    1) We could just use the first of the rows and ignore the second. This solution would require that the metadata for both rows are identical.
    2) We could discern the "real" index from the "rebuilding" index. This requires some kind of extension of the Where-part.
    We have not been able to determine if the requirements for either option is present, as we havent found any documentation, nor have we been able to test for differences, as we cannot reproduce the situation.
    We would also like some way of reproducing the situation, so ideas as to how to do that is welcome.
    Can anyone direct me to relevant documentation, or alternate solutions.
    HRP

    1. Use the index with the lower fragmentation to identify the newly rebuilt index (as it almost always will have lower fragmentation)
    2. To reproduce, block the online index rebuild process by trying to alter the table's definition in a transaction (and don't commit, which will place schema lock on the table)
    Satish Kartan http://www.sqlfood.com/

  • How to update the bucketset of business rules in MDS through Rules SDK

    How to update the bucketset of business rules in MDS through Rules SDK.
    Any sample code which will help me........ :)
    Is it possible to expose a Business Rule as webservice which was created with the help of Java fact?
    Edited by: 984804 on Jan 29, 2013 6:12 PM

    FYI, the output of this call returns something like:
    <?xml version="1.0" encoding="UTF-8"?> 
    <queryplan>
        <union>
            <fullOuterJoin>
                <statement index="1">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), count( distinct SALES.inv_id) FROM SALES GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
                <statement index="2">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), sum(INVOICE_LINE.nb_guests) FROM SALES, INVOICE_LINE, SERVICE_LINE, SERVICE WHERE ( SALES.INV_ID=INVOICE_LINE.INV_ID ) AND ( INVOICE_LINE.SERVICE_ID=SERVICE.SERVICE_ID ) AND ( SERVICE.SL_ID=SERVICE_LINE.SL_ID ) AND ( SERVICE_LINE.service_line = 'Accommodation' ) GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
            </fullOuterJoin>
            <fullOuterJoin>
                <statement index="3">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), count( distinct SALES.inv_id) FROM SALES GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
                <statement index="4">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), sum(INVOICE_LINE.days * INVOICE_LINE.nb_guests * SERVICE.price) FROM SALES, INVOICE_LINE, SERVICE WHERE ( SALES.INV_ID=INVOICE_LINE.INV_ID ) AND ( INVOICE_LINE.SERVICE_ID=SERVICE.SERVICE_ID ) GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
            </fullOuterJoin>
        </union>
    </queryplan>

  • How to judge index health

    Hi
    i just want to know how to judge index is healthy
    i know i should look at
    BLEVEL , LEAF_BLOCKS , DISTINCT_KEYS , CLUSTERING_FACTOR
    in dba_indexes
    but how to calculate from this value the health of an index
    I know that BLEVEL should be 3 or less , any other rules?
    Thanks very much

    Thanks for all replies , BLEVEL is 4 or more means u need to rebuild ur index.
    After reading , i am including example of more jnior dbas to help them understand , wen i can say that clustering factor is good or bad for an index
    Ex:
    suppose i have T1 table , and i have Id.T1 indexed with index called IDX1 ,
    IF
    select blocks from dba_tables where table_name ='T1';
    = or close to
    select clustering_factor from dba_indexes where index_name = 'IDX1';
    then the clustering factor is very good. because that means each visit to 1 index block
    will nearly fetch 1 data block from the table (data in the table is not randomly inserted accoring to the indexed column(ID))
    but if the select clustering_factor from dba_indexes where index_name = 'IDX1';
    is much higher than the blocks of the table and nearly = to the number of index entries (or the count(distinct values to the indxed column) (ID) )
    then the clustering factor is very bad and the CBo may prefer to Full table scan rather than access the table by index

Maybe you are looking for