Preformance tuning

Hi All,
Could you please tell me why this query is taking more time in a package where it is define under a item procedure, but when I not using this in my package which is a outbound taking data from oracle to staging table, this query execute fast and in 40 min I am getting more then 3 lakh+ records in the staging table but when I am include below code it taking more the 12 hours to fatch the records from oracle to staging table. please help how to optimize this query as I have created indexs for all the table.
SELECT distinct substr(TRIM(fds.short_text),instr(fds.short_text,'Rev:',1)+5,instr(fds.short_text,'UOM:',1)-instr(fds.short_text,'Rev:',1)-5)
INTO v_Drawing_Rev
FROM fnd_documents_tl fdt
,FND_DOCUMENTS_SHORT_TEXT fds
,fnd_attached_documents fad
WHERE 1=1
--AND (fdt.MEDIA_ID=14173223)
AND fdt.language = 'US'
AND fdt.MEDIA_ID = fds.MEDIA_ID
AND fad.pk2_value = r_get_data(i).inventory_item_id --to_char(msi.inventory_item_id)
AND fad.pk1_value = (SELECT to_char(organization_id)
FROM org_organization_definitions
WHERE organization_code = 'FLS')
AND fad.document_id = fdt.document_id
AND 'MTL_SYSTEM_ITEMS' = fad.ENTITY_NAME
AND ROWNUM =1;
EXCEPTION
WHEN OTHERS THEN
v_Drawing_Rev := NULL;
END;
}

Hi,
Please post the application release along with the database version and OS.
Do you run "Gather Schema Statistics" concurrent program on regular basis?
Please generate the explain plan and post it here -- See the links referenced in this thread for details.
Regarding Performance Tuning
Regarding Performance Tuning
Thanks,
Hussein

Similar Messages

  • Preformance Tuning assistance

    Greeting all,
    Using: Oracle 10.1.0.5.0
    I seem to be having a bit of a problem wiht the length of time my queries take to run.
    I'm reading the Preformance and Tuning manual, but am not having much luck ( making next to no since)
    I ran the Hit/Miss ratio queries I found that were off linked in another post and they seem to be fine, but over the past month or two, queries that used to take 2 - 3 minutes to run are now taking 15 - 20 minutes. I've tried playing around with some hints, but they dont seem to do anything to help speed up the process. Any thoughts or idea would be muchly appericated.
    -Joseph

    Did you do a sql trace on the queries and used tkprof to analyze what is taking so long?
    http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96533/sqltrace.htm#1018

  • Preformance tuning,its urgent,i would appreciate ur help

    hi
        I have some problem with performance tuning
    SELECT stlty
               stlnr
               stlkn
               stpoz
               idnrk
          FROM stpo
          INTO TABLE t_detail
           FOR ALL ENTRIES IN t_header
    *MOD04{
           WHERE stlnr eq t_header-stlnr
            AND postp EQ p_postp
            AND lkenz NE c_pos
            AND stlty NE c_null.
          WHERE
          stlty IN s_stlty
           AND stlnr EQ t_header-stlnr
          AND postp EQ p_postp
          AND lkenz EQ space.
    *}MOD04
    *}MOD03
        IF sy-subrc <> 0.  "t_detail[] IS INITIAL.
          MESSAGE s045.  "No Data found for the given selection criteria
          LEAVE LIST-PROCESSING.
        ELSE.
          SORT t_detail BY stlnr.
        ENDIF.  "t_detail[] IS INITIAL.
    iam getting some problem in performance tuning,its displaying as fetch request as 65% from stpo
    i have to use some other table other than stpo,there is no other table than stpo,how to do it.even i cheked the indexes used as well
    i would be extremely thankfull for ur valuable answers

    Hi,
    chk this you might get some idea...
    Performance Analysis
    Interpreting and correcting performance violations
    PURPOSE
    Each and every rule is outlined that results in a performance violation and explained in detail as to what to avoid while coding a program and correcting such performance violations if they exist in the code.
    It is a general practice to use           Select  *  from <database>…     This statement populates all the values of the structure in the database.
    The effect is many fold:-
    •     It increases the time to retrieve data from database
    •     There is large amount of unused data in memory
    •     It increases the processing time from work area or internal tables
    It is always a good practice to retrieve only the required fields. Always use the syntax      Select f1  f2  …  fn  from <database>…      
    e.g.     Do not use the following statement:-
         Data: i_mara like mara occurs 0 with header line.
         Data: i_marc like marc occurs 0 with header line.
         Select * from mara
              Into table i_mara
              Where matnr in s_matnr.
         Select * from marc
              Into table i_marc
              For all entries in i_mara
              Where matnr eq i_mara-matnr.
         Instead use the following statement:-
                                       Data: begin of i_mara occurs 0,
                                            Matnr like mara-matnr,
                                                  End of i_mara.
         Data: begin of i_marc occurs 0,
              Matnr like marc-matnr,
                                            Werks like marc-werks,
                                                 End of i_marc.
         Select matnr from mara
              Into table i_mara
              Where matnr in s_matnr.
                                                                                    The objective here is to identify all select statements in the program where there is a possibility to restrict the data retrieval from database. It identifies all select statements, which do not use the where condition effectively. It is a good practice to restrict the amount of data as this reduces the data retrieval time, improves the processing time and occupies less memory. Always use as many conditions in the where clause as possible.
    e.g.     Do not use the following statement:-
         Select matnr from mara
              Into table i_mara.
    Loop at i_mara.
              If i_mara-matnr+0(1) ‘A’.
                   Delete i_mara index sy-tabix.
              Endif.
         Endloop.
         Instead use the following statement:-
                                            Select matnr from mara
                                                 Into table i_mara
                                                 Where matnr like ‘A%’.
    Limit the access to database as far as possible. Accessing the same table multiple times increases the load on the database and may affect other programs accessing the same table. It is a good practice to retrieve all the relevant data from database in a single select statement into an internal table. All the processing should be done with this internal table.
    e.g.     Do not use the following statement:-
         Select vbeln vkorg from vbak
              Into table i_vbak
              Where vbeln in s_vbeln.
         Loop at i_vbak.
              Case i_vbak-vkorg.
              When ‘IJI1’.
                   Select hkunnr from kunh
                        Into table i_kunh
                        Where vkorg = ‘IJI1’.
              When ‘IJI2’.
                   Select hkunnr from kunh
                        Into table i_kunh
                        Where vkorg = ‘IJI2’.
              When ‘IJI3’.
                   Select hkunnr from kunh
                        Into table i_kunh
                        Where vkorg = ‘IJI3’.
              When ‘IJI4’.
                   Select hkunnr from kunh
                        Into table i_kunh
                        Where vkorg = ‘IJI4’.
              Endcase.
         Endloop.
         Instead use the following statement:-
              Select vbeln vkorg from vbak
                   Into table i_vbak
                   Where vbeln in s_vbeln.
              Select hkunnr from kunh
                   Into table i_kunh
                   Where vkorg in (‘IJI1’,’IJI2’,’IJI3’,’IJI4’).
              Loop at i_vbak.
                   Case i_vvbak-vkorg.
                        When ‘IJI1’.
                             Read table i_kunh where vkorg = i_vbak-vkorg.
                        When ‘IJI2’.
                             Read table i_kunh where vkorg = i_vbak-vkorg.
                        When ‘IJI3’.
                             Read table i_kunh where vkorg = i_vbak-vkorg.
                        When ‘IJI4’.
                             Read table i_kunh where vkorg = i_vbak-vkorg.
                   Endcase.
              Endloop.
    When the size of the record or the number of records in the internal table is large, doing a linear search is time consuming. It is always a good practice to search a record by binary search (Always Sort the table before doing a binary search). The difference is felt especially in the production environment where the live data is usually huge. As of release 4.0 there are new types of internal tables like SORTED and HASHED which can be effectively used to further reduce the search time and processing time.
    e.g.     Do not use the following statement:-
    Select matnr from mara
    Into table i_mara
    Where matnr in s_matnr.
         Select matnr werks from marc
              Into table i_marc
              For all entries in i_mara
              Where matnr eq i_mara-matnr.
         Loop at I_mara.
              Read table i_marc with key matnr = I_mara-matnr.
         Endloop.
    Instead use the following statement:-
         Select matnr from mara
              Into table i_mara
              Where matnr in s_matnr.
                                       Select matnr werks from marc
                                            Into table i_marc
                                            For all entries in i_mara
                                           Where matnr eq i_mara-matnr.
                                       Sort I_marc by matnr.
                                       Loop at I_mara.
                                            Read table i_marc with key
    matnr = I_mara-matnr
    binary search.
                                       Endloop.
    It is a good practice to search records from internal tables using a binary search. But extreme caution needs to be applied as it may either increase the time or may cause run time termination if it is not sorted.
    Always the sort the internal table by the required keys before performing a binary search.                                                                               
    e.g.     Do not use the following statement:-
    Select matnr from mara
    Into table i_mara
    Where matnr in s_matnr.
         Select matnr werks from marc
              Into table i_marc
              For all entries in i_mara
              Where matnr eq i_mara-matnr.
         Loop at I_mara.
              Read table i_marc with key matnr = I_mara-matnr binary search.
         Endloop.
    Instead use the following statement:-
         Select matnr from mara
              Into table i_mara
              Where matnr in s_matnr.
                                       Select matnr werks from marc
                                            Into table i_marc
                                            For all entries in i_mara
                                           Where matnr eq i_mara-matnr.
                                       Sort I_marc by matnr.
                                       Loop at I_mara.
                                            Read table i_marc with key
    matnr = I_mara-matnr
    binary search.
                                       Endloop.
    It is a general practice to use           Read table <itab>…     This statement populates all the values of the structure in the workarea.
    The effect is many fold:-
    •     It increases the time to retrieve data from internal table
    •     There is large amount of unused data in work area
    •     It increases the processing time from work area later
    It is always a good practice to retrieve only the required fields. Always use the syntax      Read table <itab> transporting f1 f2  …  FN …          If just a check is being performed for existence of a record use      Read table <itab> transporting no fields …
    e.g.     Do not use the following statement:-
    data: i_vbak like vbak occurs 0 with header line.
    data: i_vbap like vbap occurs 0 with header line.
    Loop at i_vbak.
         read table i_vbap with key
    vbeln = i_vbak-vbeln binary search.
         If sy-subrc = 0 and i_vbap-posnr = ‘00010’.
         endif.
    Endloop.
    Instead use the following statement:-
    data: i_vbak like vbak occurs 0 with header line.
    data: i_vbap like vbap occurs 0 with header line.
    Loop at i_vbak.
                                  read table i_vbap transporting posnr with key
    vbeln = i_vbak-vbeln binary search.
                                  If sy-subrc = 0 and i_vbap-posnr = ‘00010’.
                                  endif.
    Endloop.
    There are many ways in which a select statement can be optimized. Effective use of primary and secondary indexes is one of them. Very little attention is paid especially to the secondary indexes. The following points should be noted before writing a select statement:-
    •     Always use the fields in the where clause in the same order as the keys in the database table
    •     Define the secondary indexes in the database for the fields which are most frequently used in the programs
    •     Always try to use the best possible secondary index in the where clause if it exists
    •     Do not have many secondary indexes defined for a table
    •     Use as many keys both primary and secondary as possible to optimize data retrieval
    As of release 4.5 it is now possible to define the secondary index in the where clause using %_HINT.
    e.g.     Do not use the following statement:-
         Assuming a secondary index is defined on the field vkorg in table vbak
         Select vbeln vkorg from vbak
              Into table i_vbak
              Where vbeln in s_vbeln.
         Loop at i_vbak.
              Case i_vbak-vkorg.
              When ‘IJI1’.
              When ‘IJI2’.
              Endcase.
         Endloop.
    Instead use the following statement:-
                                       Select vbeln vkorg from vbak
                                            Into table i_vbak
                                            Where vbeln in s_vbeln and
                                                 Vkorg in (‘IJI1’,’IJI2’).
                                       Loop at i_vbak.
                                            Case i_vbak-vkorg.
                                            When ‘IJI1’.
                                            When ‘IJI2’.
                                            Endcase.
                                       Endloop.
    This rule identifies all select statements in the program which use      Select … UP TO 1 ROWS…      It is a general practice to use this syntax to retrieve a single record from database table. If all the primary keys of a table are used in the where clause it is a good practice to use      Select SINGLE …
    e.g.     Do not use the following statement:-
         select matnr up to 1 rows from mara
              into mara-matnr
              where matnr = itab-matnr.
    Instead use the following statement:-
                                       select single matnr from mara
                                            into mara-matnr
                                            where matnr = itab-matnr.
    Table buffering is used to optimize data access from database. However if buffering is used on tables which are updated frequently, it has an adverse effect. The buffer area is updated at regular intervals by the system. If selection is done from this table before the buffer is updated the values are fetched first from the buffer and then from the database as the buffer is outdated.  This increases the load on the system and also the processing time.
    It is always a good practice to bypass buffer in the select statement for tables, which are buffered but are updated at regular frequently.
    e.g.     Do not use the following statement:-
         select  matnr from mara
              into table i_mara
              where matnr in s_matnr.
    Instead use the following statement:-
                                       select matnr bypassing buffer
    from mara
                                            into table i_mara
                                            where matnr in s_matnr.
    Most of the performance issues are related to database. It should be an inherent practice to reduce the access to database as far as possible and use it in the most optimal manner.
    Just as in select statements, database updates also affect the performance. When records are to be inserted in database table do it in once. Populate the internal table completely, with which the records are to be inserted. Then update the table from the internal table instead of updating it for each record within the loop.
    e.g.     Do not use the following statement:-
         Loop at i_mara.
              Insert  into mara values i_mara.
         Endloop.
    Instead use the following statement:-
    Loop at i_mara.
                                            Modify i_mara.
                                       Endloop.
                                       Insert  mara from table i_mara.
    Read statement fetches the record from the internal table using implicit key or explicit key. When no key or index is specified for the search criteria the key in the WA of the internal table is used implicitly for searching. SAP recommends explicit search criteria. Here the key or index is explicitly specified which is used for searching the records from internal table. This is faster than an implicit search.
    e.g.     Do not use the following statement:-
         Loop at i_mara.
              i_marc-matnr = i_mara-matnr.
              read table i_marc. 
         Endloop.
    Instead use the following statement:-
         Loop at i_mara.
              read table i_marc with key 
              matnr = i_mara-matnr.
         Endloop.
    When an internal table is sorted without specifying the keys the default is used. This may affect he performance. Always specify the keys when sorting.
    e.g.     Do not use the following statement:-
         Data : begin of i_mara occurs 0,
              ersda   like mara-ersda,
    ernam  like mara-ernam,
    laeda   like mara-laeda,
    aenam  like mara-aenam,
    vpsta   like mara-vpsta,
                   End of i_mara.
         Sort i_mara.
         Loop at i_mara.
         Endloop.
    Instead use the following statement:-
         Data : begin of i_mara occurs 0,
              ersda   like mara-ersda,
    ernam  like mara-ernam,
    laeda   like mara-laeda,
    aenam  like mara-aenam,
    vpsta   like mara-vpsta,
                   End of i_mara.
         Sort i_mara by matnr aenam.
         Loop at i_mara.
         Endloop.
    Whenever values need to be passed in a subroutine have type declarations assigned to the formal parameters. If no specific type declaration is possible then use TYPE ANY. This improves the performance. It is also recommended by SAP and can be noticed during extended program check (EPC) for the program.
    e.g.     Do not use the following statement:-
    perform type_test using p_var1 p_var2 p_var3.
    form type_test using p_var1 p_var2 p_var3.
    endform.
    Instead use the following statement:-
         perform type_test using p_var1 p_var2 p_var3.
         form type_test using   p_var1  type c
    p_var2  type any
    p_var3  like mara-matnr.
         endform.
    This is similar to type declarations for subroutines explained in Rule 13. Except that type declarations need to be maintained for field-symbols. More help is provided by SAP under TYPE ASSIGNMENTS.
    e.g.     Do not use the following statement:-
    field-symbols: <fs1>, <fs2>, <fs3>.
    Instead use the following statement:-
    field-symbols:  <fs1>   type  c,
    <fs2> like mara-matnr,
    <fs3> like marc-werks.
    The      Do … Enddo      loop does not have a terminating condition. This has to be handled explicitly within the loop construct. This has some affect on the performance. On the other hand      While … Endwhile      loop has a condition to satisfy before entering the loop. Hence will improve the performance and is also safe to use.
    e.g.     Do not use the following statement:-
    Do.
    If count > 20.
         Exit.
    Endif.
    Count = count + 1.
    Enddo.
    Instead use the following statement:-
    While ( count < 20 ).
    Endwhile.
    Do not use the           CHECK           construct within      Loop … Endloop.      The end condition for check statement varies with the type of loop structure. For example within loop … endloop it moves to the next loop pass whereas in form … endform it terminates the subroutine. Thus the outcome may not be as expected. It is always safe to use      If … Endif.
    e.g.     Do not use the following statement:-
         Loop at i_mara.
              Check i_mara-matnr = ‘121212’
         Endloop.
    Instead use the following statement:-
         Loop at i_mara.
              If i_mara-matnr = ‘121212’
              Endif.
         Endloop.
    This rule is similar to rule 16 except that it is for      Select … Endselect      statements. The affect is similar to that in loop … endloop.
    e.g.     Do not use the following statement:-
         Select matnr from mara
              Into table i_mara.
              Check i_mara-matnr = ‘121212’
         Endselect.
    Instead use the following statement:-
                                       Select matnr from mara
              Into table i_mara.
              If i_mara-matnr = ‘121212’
              Endif.
         Endselect.
    This feature is also available in SAP Tips & Tricks. As can be seen the time measured for the same logical units of code using      if… elseif … endif      is almost twice that of      case … endcase.
    It is always advisable to use case … endcase as far as possible.
    e.g.     Do not use the following statement:-
    IF     C1A = 'A'.   WRITE '1'.
    ELSEIF C1A = 'B'.   WRITE '2'.
    ELSEIF C1A = 'C'.   WRITE '3'.
    ELSEIF C1A = 'D'.   WRITE '4'.
    ELSEIF C1A = 'E'.   WRITE '5'.
    ELSEIF C1A = 'F'.   WRITE '6'.
    ELSEIF C1A = 'G'.   WRITE '7'.
    ELSEIF C1A = 'H'.   WRITE '8'.
    ENDIF.                        
    Instead use the following statement:-
    CASE C1A.             
    WHEN 'A'. WRITE '1'.
    WHEN 'B'. WRITE '2'.
    WHEN 'C'. WRITE '3'.
    WHEN 'D'. WRITE '4'.
    WHEN 'E'. WRITE '5'.
    WHEN 'F'. WRITE '6'.
    WHEN 'G'. WRITE '7'.
    WHEN 'H'. WRITE '8'.
    ENDCASE.              
    Sort by Clause should be used instead of Order by at database level especially in the cases where the number of records is less. When using Order by clause we need to ensure that it uses an index. This is not the case in sort by. Also the performance is significantly high for Sort by Clause especially for small number of records.
    e.g.     Do not use the following statement:-
    SELECT * FROM SBOOK                
             WHERE                     
               CARRID  = 'LH '      AND
               CONNID  = '0400'     AND
               FLDATE  = '19950228'    
             ORDER BY PRIMARY KEY.  
    ENDSELECT.
    Instead use the following statement:-
    SELECT * FROM SBOOK                
             WHERE                     
               CARRID  = 'LH '      AND
               CONNID  = '0400'     AND
               FLDATE  = '19950228'    
             SORT BY PRIMARY KEY.  
    ENDSELECT.
    It is observed that break points are hard coded in the program during testing. Some are soft break points some are hard coded and also user specific. These are left in the program during transports and cause production problems later. This rule helps you to identify all the hard coded break points that are left in the program.
    This rule is self-explanatory. Hence no examples are provided.

  • Buffer busy wait ratio

    Hi
    Working in oracle 9i AIX 5.3
    I would like to calculate Buffer busy wait ratio
    I knew the formula as
    buffer busy waits/ logical reads
    what would be the query agains this formula.
    thanks
    ranga

    Hi;
    Please see:
    Question 1) i got warning about Parse to Execute Ratio,24,0397,2, (High parse to execute ratio), what is the cause of this? how can i solve?Troubleshooting and Diagnosing ORA-4031 Error [Video] [ID 396940.1]
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1594740500346667363
    Question 2) which document should i read for understanding these informations?See below googling, you can see many good links on it
    http://www.google.com.tr/#hl=tr&biw=1259&bih=793&q=preformance+tuning%2Boracle&aq=f&aqi=&aql=&oq=&fp=59bee11737e76a38
    Question 3) i got 2 nodes RAC 11gr2. "sessions" parameter value is 1500, cursor is 400, processes 500... how can i optimize these values?Those are system parameter and you can modifiy them by observing your system by AWR,ASH etc..(also users error message)
    http://oracleandunix.blogspot.com/2009/10/oracle-11gr2-database-parameters.html
    Question 4) I didnt create any server pool. But my database server is working well. Why do i need server pool? What is the advantages of server pool technology?RAC Assurance Support Team: RAC and Oracle Clusterware Starter Kit and Best Practices (Generic) [ID 810394.1]
    RAC: Frequently Asked Questions [ID 220970.1]
    Regard
    Helios

  • RAR Web service violation limit setting does not seem to work

    In RAR under config - preformance tuning one can configure the limit for violations of the webservice between RAR and CUP.
    If I set this to 20000, 100000 or even 1.5 miillion I still get the message:
    Risk analysis failed: EXCEPTION_FROM_THE_SERVICEViolations exceeds the threshold limit
    Even though the CUP request only hold a very limited number of violations.
    Does this setting require a server restart or a webservice restart before it works? Or is this a bug in AC 5.3 SP 11.2?
    Edited by: S. Pados on Aug 12, 2010 10:45 AM

    Thanks Sunny,
    But info in the note is well known with us. We have set the parameter however it seems to be ignored as the user in CUP request has a low number of violations and we still get the error even though the threshold has a very high value.

  • What r the steps to be taken before writing a query

    Hi
    What r the steps to be taken before writing a query
    regds

    First step is learn to write correctly more or less because in SQL you cannot write r inestead of are. Second step is read Oracle concepts manual (http://tahiti.oracle.com) to understand the basics of Oracle. And then continue with other docs like Preformance tuning guide, application developers guide etc. Probably then you can ask more precise question and others can provide more precise answers :)

  • Preformance in mapping

    can you give me the order for graphical,java,abap and xslt mappings in preformance point of view?

    There  are some unfortunate things about XI compared to other ESB EAI framework.
    XI just use JAVA, J2EE and Web service technology for design and configuration phase. In run time ABAP engine is the main player which use J2EE engine as RFC destination to handle supporting work.
    However other ESB EAI Engine such as Aqualogic, Websphere, Mule, TIBCO etc depend on JAVA as a core engine.
    Regarding the view of a programmer who do not have a clue on the powe of JAVA and XSLT and at the same time have to depend on the burdon of some architectural flops in XI , it is nice to say that for the sake of goodness use ABAP mapping as much as possible for complicated mapping.
    However provided that XI will one day use JAVA as a core engine and use JAVA technology as a main stream then XSLT and JAVA mapping can rock with even a 2 CPU production machine.
    For example, I have a SAP Integration with 45 different plant system for a Telecom supply chain in USA where 2 instance of weblogic server with J2EE and JAVA can handle 35,000 master data changes (IDOCS) from SAP to all plants in 4 hours without breaking a single one. It took more than 3 days to load into the same SAP master data system using ABAP technologies and may be 60 CPU machines too.
    If you know what is the power of XSLT, JAVA caching, power of JAVA POJOS, HEAP tuning and provided you have a right infrastructure supported by ESB EAI features such as transformation, translation, routing, then JAVA is the solution.
    But if you are from a back ground of customization project, not much clue of software programming and dragged to certain believe then JAVA is not a solution.
    I hope to see one day SAP platform use JAVA and J2EE technologies with its full power and keep the right steps SAP took with Netweaver platform.
    Thanks

  • Simple and reliable method to preform an OCR on a pdf? [SOLVED]

    I have Acrobat at work which does a wonderful job preforming an OCR (optical character recognition) on scanned pdf files so that one can do keyword searching within the pdf.  I have spent the past hour following-up various guides on the 'net at large which do not work for me.  Can someone recommend a simple and reliable method to accomplish this?
    Last edited by graysky (2014-03-30 13:50:34)

    I can second OCRFeeder. It can use different OCR engines, and the application doesn't hide the complexity of the options that these engines accept, so with a little fine tuning you should get reasonable results. For Latin text, that is. For non-Latin or mixed scripts, all  FOSS engines are essentially useless (I've tried long and hard to get Japanese OCR to work).
    To be honest, I myself only use Acrobat now because it's the only thing that produces consistently excellent results. For example, text selection will often not work smoothly  because the FOSS tools don't group the text objects properly into lines or paragraphs.

  • Help for query tuning

    hello all
    my one of query is returning result in 1-2 mins only for 1 lakh record but i am not sure if it showed me complete rows or not because when I an trying to get count of result ..its taking lot of time .when I am using this query on plsql code ..code is running slow so just wanted to confirm on query tuning point of view if its fine or not ..please look onto it and let me know if query is fine or not by explain plan .my oracle version is 11g
    this is my query
    SELECT ROWNUM , TRUNC(rownum/5000) + 20000 ,'FOR_UPDATE', sku_org.NAME ,
    acct_promo_sku.src_num , acct_promo_sku.sub_type ,
    promo_actual.sku_actual_pos
    FROM siebel.s_src acct_promo_hdr,
    siebel.s_src acct_title_format,
    siebel.s_src acct_promo_sku,
    siebel.s_src_x acct_promo_hdrx,
    siebel.s_src_x acct_promo_skux,
    siebel.s_prod_int prod,
    siebel.s_bu promo_hdr_org,
    siebel.s_bu sku_org,
    siebelwb.stg_sbl_acct_promo_actuals2 promo_actual
    WHERE acct_promo_hdr.sub_type = 'PLAN_ACCOUNT_PROMOTION'
    AND acct_promo_hdr.row_id = acct_title_format.par_src_id
    AND acct_title_format.sub_type = 'PLAN_ACCT_PROMOTION_CATEGORY'
    AND acct_title_format.row_id = acct_promo_sku.par_src_id
    AND acct_promo_sku.sub_type = 'PLAN_ACCOUNT_PROMOTION_PRODUCT'
    AND acct_promo_hdr.row_id = acct_promo_hdrx.par_row_id
    AND acct_promo_sku.row_id = acct_promo_skux.par_row_id(+)
    AND acct_promo_sku.prod_id = prod.row_id
    AND acct_promo_hdr.bu_id = promo_hdr_org.row_id
    AND acct_promo_sku.bu_id = sku_org.row_id
    AND prod.x_prod_material_num = promo_actual.material_number
    and prod.X_PROD_SALES_ORG=promo_actual.sales_org
    AND acct_promo_hdr.row_id = promo_actual.acct_promo_id
    and nvl(acct_promo_hdr.pr_accnt_id,0)=nvl(promo_actual.acct_siebel_rowid,0)
    and nvl(acct_promo_hdr.x_indirect_id,0)=nvl(promo_actual.indirect_acct_siebel_rowid,0)
    AND promo_actual.load_date >= TRUNC(SYSDATE)
    AND promo_actual.load_date < TRUNC(SYSDATE + 1)
    explain plan
    PLAN_TABLE_OUTPUT
    Plan hash value: 3864590768
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 298 | 2300 (1)| 00:00:28 |
    | 1 | COUNT | | | | | |
    |* 2 | FILTER | | | | | |
    | 3 | NESTED LOOPS | | | | | |
    | 4 | NESTED LOOPS | | 1 | 298 | 2300 (1)| 00:00:28 |
    | 5 | NESTED LOOPS OUTER | | 1 | 273 | 2298 (1)| 00:00:28 |
    | 6 | NESTED LOOPS | | 1 | 263 | 2296 (1)| 00:00:28 |
    | 7 | NESTED LOOPS | | 1 | 236 | 2295 (1)| 00:00:28 |
    | 8 | NESTED LOOPS | | 1 | 165 | 2292 (1)| 00:00:28 |
    | 9 | NESTED LOOPS | | 1 | 117 | 2289 (1)| 00:00:28 |
    | 10 | NESTED LOOPS | | 1 | 109 | 2289 (1)| 00:00:28 |
    | 11 | NESTED LOOPS | | 1 | 99 | 2287 (1)| 00:00:28 |
    |* 12 | TABLE ACCESS FULL | STG_SBL_ACCT_PROMO_ACTUALS2 | 1 | 49 | 2285 (1)| 00:0
    |* 13 | TABLE ACCESS BY INDEX ROWID| S_SRC | 1 | 50 | 2 (0)| 00:00:01 |
    |* 14 | INDEX UNIQUE SCAN | S_SRC_P1 | 1 | | 1 (0)| 00:00:01 |
    |* 15 | INDEX RANGE SCAN | S_SRC_X_U1 | 1 | 10 | 2 (0)| 00:00:01 |
    |* 16 | INDEX UNIQUE SCAN | S_BU_P1 | 1 | 8 | 0 (0)| 00:00:01 |
    |* 17 | TABLE ACCESS BY INDEX ROWID | S_SRC | 1 | 48 | 3 (0)| 00:00:01 |
    |* 18 | INDEX RANGE SCAN | S_SRC_F2 | 2 | | 2 (0)| 00:00:01 |
    |* 19 | TABLE ACCESS BY INDEX ROWID | S_SRC | 1 | 71 | 3 (0)| 00:00:01 |
    |* 20 | INDEX RANGE SCAN | S_SRC_F2 | 2 | | 2 (0)| 00:00:01 |
    | 21 | TABLE ACCESS BY INDEX ROWID | S_BU | 1 | 27 | 1 (0)| 00:00:01 |
    |* 22 | INDEX UNIQUE SCAN | S_BU_P1 | 1 | | 0 (0)| 00:00:01 |
    |* 23 | INDEX RANGE SCAN | S_SRC_X_U1 | 1 | 10 | 2 (0)| 00:00:01 |
    |* 24 | INDEX UNIQUE SCAN | S_PROD_INT_P1 | 1 | | 1 (0)| 00:00:01 |
    |* 25 | TABLE ACCESS BY INDEX ROWID | S_PROD_INT | 1 | 25 | 2 (0)| 00:00:
    Predicate Information (identified by operation id):
    2 - filter(TRUNC(SYSDATE@!)<TRUNC(SYSDATE@!+1))
    12 - filter("PROMO_ACTUAL"."LOAD_DATE">=TRUNC(SYSDATE@!) AND "PROMO_ACTUAL"."LOAD_DATE"<TRUNC(SYSD
    13 - filter("ACCT_PROMO_HDR"."SUB_TYPE"='PLAN_ACCOUNT_PROMOTION' AND
    NVL("ACCT_PROMO_HDR"."PR_ACCNT_ID",'0')=NVL("PROMO_ACTUAL"."ACCT_SIEBEL_ROWID",'0') AND
    NVL("ACCT_PROMO_HDR"."X_INDIRECT_ID",'0')=NVL("PROMO_ACTUAL"."INDIRECT_ACCT_SIEBEL_ROWID",'0'
    14 - access("ACCT_PROMO_HDR"."ROW_ID"="PROMO_ACTUAL"."ACCT_PROMO_ID")
    15 - access("ACCT_PROMO_HDR"."ROW_ID"="ACCT_PROMO_HDRX"."PAR_ROW_ID")
    16 - access("ACCT_PROMO_HDR"."BU_ID"="PROMO_HDR_ORG"."ROW_ID")
    17 - filter("ACCT_TITLE_FORMAT"."SUB_TYPE"='PLAN_ACCT_PROMOTION_CATEGORY')
    18 - access("ACCT_PROMO_HDR"."ROW_ID"="ACCT_TITLE_FORMAT"."PAR_SRC_ID")
    19 - filter("ACCT_PROMO_SKU"."PROD_ID" IS NOT NULL AND
    "ACCT_PROMO_SKU"."SUB_TYPE"='PLAN_ACCOUNT_PROMOTION_PRODUCT')
    20 - access("ACCT_TITLE_FORMAT"."ROW_ID"="ACCT_PROMO_SKU"."PAR_SRC_ID")
    22 - access("ACCT_PROMO_SKU"."BU_ID"="SKU_ORG"."ROW_ID")
    23 - access("ACCT_PROMO_SKU"."ROW_ID"="ACCT_PROMO_SKUX"."PAR_ROW_ID"(+))
    24 - access("ACCT_PROMO_SKU"."PROD_ID"="PROD"."ROW_ID")
    25 - filter("PROD"."X_PROD_MATERIAL_NUM" IS NOT NULL AND
    "PROD"."X_PROD_MATERIAL_NUM"="PROMO_ACTUAL"."MATERIAL_NUMBER" AND
    "PROD"."X_PROD_SALES_ORG"="PROMO_ACTUAL"."SALES_ORG")
    55 rows selected.
    thanks

    Hi,
    the plan you posted has the cost of 2300, i.e. 2300 single-block reads or equivalent number f multi-block reads. Even if none of the blocks is found in cache, 2300 reas shouldn't take more than a couple of minutes, beacause for most of the hard drives available today a disk read is typically within 5-10 ms.
    This means that if there is a problem, we will never find out about it by looking in the plan. And it's quite likely that there is, in fact, a problem, because the plan contains a bunch of nested joins, and the cost of each nested join is directly proportional to the cardinality of the previous nested loop. I.e. it suffices to make one bad mistake in estimating the number of rows coming fom one of the nested rows to screw up the entire plan and get all remaining estimates (including the total cost of the query) completely wrong.
    In order for us to be able to tell more, we need to see the plan with rowsource statistics, and please don't forget to use tags to preserve formatting (use the preview tab to make sure the posted plan is actually readable).
    Best regards,
      Nikolay                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • HOW TO: Post a SQL statement tuning request - template posting

    This post is not a question, but similar to Rob van Wijk's "When your query takes too long ..." post should help to improve the quality of the requests for SQL statement tuning here on OTN.
    On the OTN forum very often tuning requests about single SQL statements are posted, but the information provided is rather limited, and therefore it's not that simple to provide a meaningful advice. Instead of writing the same requests for additional information over and over again I thought I put together a post that describes how a "useful" post for such a request should look like and what information it should cover.
    I've also prepared very detailed step-by-step instructions how to obtain that information on my blog, which can be used to easily gather the required information. It also covers again the details how to post the information properly here, in particular how to use the \ tag to preserve formatting and get a fixed font output:
    http://oracle-randolf.blogspot.com/2009/02/basic-sql-statement-performance.html
    So again: This post here describes how a "useful" post should look like and what information it ideally covers. The blog post explains in detail how to obtain that information.
    In the future, rather than requesting the same additional information and explaining how to obtain it, I'll simply refer to this HOW TO post and the corresponding blog post which describes in detail how to get that information.
    *Very important:*
    Use the \ tag to enclose any output that should have its formatting preserved as shown below.
    So if you want to use fixed font formatting that preserves the spaces etc., do the following:
    \   This preserves formatting
    \And it will look like this:
       This preserves formatting
       . . .Your post should cover the following information:
    1. The SQL and a short description of its purpose
    2. The version of your database with 4-digits (e.g. 10.2.0.4)
    3. Optimizer related parameters
    4. The TIMING and AUTOTRACE output
    5. The EXPLAIN PLAN output
    6. The TKPROF output snippet that corresponds to your statement
    7. If you're on 10g or later, the DBMS_XPLAN.DISPLAY_CURSOR output
    The above mentioned blog post describes in detail how to obtain that information.
    Your post should have a meaningful subject, e.g. "SQL statement tuning request", and the message body should look similar to the following:
    *-- Start of template body --*
    The following SQL statement has been identified to perform poorly. It currently takes up to 10 seconds to execute, but it's supposed to take a second at most.
    This is the statement:
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id;It should return data from a table in a specific order.
    The version of the database is 11.1.0.7.
    These are the parameters relevant to the optimizer:
    SQL>
    SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_capture_sql_plan_baselines boolean     FALSE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      11.1.0.7
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    optimizer_use_invisible_indexes      boolean     FALSE
    optimizer_use_pending_statistics     boolean     FALSE
    optimizer_use_sql_plan_baselines     boolean     TRUE
    SQL>
    SQL> show parameter db_file_multi
    NAME                                 TYPE        VALUE
    db_file_multiblock_read_count        integer     8
    SQL>
    SQL> show parameter db_block_size
    NAME                                 TYPE        VALUE
    db_block_size                        integer     8192
    SQL>
    SQL> show parameter cursor_sharing
    NAME                                 TYPE        VALUE
    cursor_sharing                       string      EXACT
    SQL>
    SQL> column sname format a20
    SQL> column pname format a20
    SQL> column pval2 format a20
    SQL>
    SQL> select
      2             sname
      3           , pname
      4           , pval1
      5           , pval2
      6  from
      7           sys.aux_stats$;
    SNAME                PNAME                     PVAL1 PVAL2
    SYSSTATS_INFO        STATUS                          COMPLETED
    SYSSTATS_INFO        DSTART                          01-30-2009 16:25
    SYSSTATS_INFO        DSTOP                           01-30-2009 16:25
    SYSSTATS_INFO        FLAGS                         0
    SYSSTATS_MAIN        CPUSPEEDNW              494,397
    SYSSTATS_MAIN        IOSEEKTIM                    10
    SYSSTATS_MAIN        IOTFRSPEED                 4096
    SYSSTATS_MAIN        SREADTIM
    SYSSTATS_MAIN        MREADTIM
    SYSSTATS_MAIN        CPUSPEED
    SYSSTATS_MAIN        MBRC
    SYSSTATS_MAIN        MAXTHR
    SYSSTATS_MAIN        SLAVETHR
    13 rows selected.Here is the output of EXPLAIN PLAN:
    SQL> explain plan for
      2  -- put your statement here
      3  select
      4             *
      5  from
      6             t_demo
      7  where
      8             type = 'VIEW'
      9  order by
    10             id;
    Explained.
    Elapsed: 00:00:00.01
    SQL>
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    14 rows selected.Here is the output of SQL*Plus AUTOTRACE including the TIMING information:
    SQL> rem Set the ARRAYSIZE according to your application
    SQL> set autotrace traceonly arraysize 100
    SQL> select
      2             *
      3  from
      4             t_demo
      5  where
      6             type = 'VIEW'
      7  order by
      8             id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    Execution Plan
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    Statistics
              0  recursive calls
              0  db block gets
         149101  consistent gets
            800  physical reads
            196  redo size
        1077830  bytes sent via SQL*Net to client
          16905  bytes received via SQL*Net from client
           1501  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         149938  rows processed
    SQL>
    SQL> disconnect
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsThe TKPROF output for this statement looks like the following:
    TKPROF: Release 11.1.0.7.0 - Production on Mo Feb 23 10:23:08 2009
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Trace file: orcl11_ora_3376_mytrace1.trc
    Sort options: default
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch     1501      0.53       1.36        800     149101          0      149938
    total     1503      0.53       1.36        800     149101          0      149938
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 88 
    Rows     Row Source Operation
    149938  TABLE ACCESS BY INDEX ROWID T_DEMO (cr=149101 pr=800 pw=0 time=60042 us cost=0 size=60 card=1)
    149938   INDEX RANGE SCAN IDX_DEMO (cr=1881 pr=1 pw=0 time=0 us cost=0 size=0 card=1)(object id 74895)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                    1501        0.00          0.00
      db file sequential read                       800        0.05          0.80
      SQL*Net message from client                  1501        0.00          0.69
    ********************************************************************************The DBMS_XPLAN.DISPLAY_CURSOR output:
    SQL> -- put your statement here
    SQL> -- use the GATHER_PLAN_STATISTICS hint
    SQL> -- if you're not using STATISTICS_LEVEL = ALL
    SQL> select /*+ gather_plan_statistics */
      2  *
      3  from
      4  t_demo
      5  where
      6  type = 'VIEW'
      7  order by
      8  id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    SQL>
    SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
    PLAN_TABLE_OUTPUT
    SQL_ID  d4k5acu783vu8, child number 0
    select   /*+ gather_plan_statistics */          * from          t_demo
    where          type = 'VIEW' order by          id
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   0 | SELECT STATEMENT            |          |      1 |        |    149K|00:00:00.02 |     149K|   1183 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |      1 |      1 |    149K|00:00:00.02 |     149K|   1183 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |      1 |      1 |    149K|00:00:00.02 |    1880 |    383 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    20 rows selected.I'm looking forward for suggestions how to improve the performance of this statement.
    *-- End of template body --*
    I'm sure that if you follow these instructions and obtain the information described, post them using a proper formatting (don't forget about the \ tag) you'll receive meaningful advice very soon.
    So, just to make sure you didn't miss this point:Use proper formatting!
    If you think I missed something important in this sample post let me know so that I can improve it.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Alex Nuijten wrote:
    ...you missed the proper formatting of the Autotrace section ;-)Alex,
    can't reproduce, does it still look unformatted? Or are you simply kidding? :-)
    Randolf
    PS: Just noticed that it actually sometimes doesn't show the proper formatting although the code tags are there. Changing to the \ tag helped in this case, but it seems to be odd.
    Edited by: Randolf Geist on Feb 23, 2009 11:28 AM
    Odd behaviour of forum software                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Need help in tuning a procedure

    DECLARE
    CURSOR Cur_sub_rp IS
    SELECT A.SUB_ACCOUNT, B.PH_basic_srv,B.PH_Salesman,A.SUB_SSN
    FROM STG_SUB_MASTER_MONTH_HISTORY A, STG_PHN_MASTER_MONTH_HISTORY
    B
    WHERE A.SUB_ACCOUNT = B.PH_ACCOUNT (+)
    AND A.MONTH_ID = B.MONTH_ID ;
    TYPE t_values_tab IS TABLE OF cur_sub_rp%rowtype ;
    values_tab t_values_tab := t_values_tab() ;
    BEGIN
    OPEN Cur_sub_rp ;
    LOOP
    FETCH Cur_sub_rp BULK COLLECT INTO Values_tab
    LIMIT 1000;
    EXIT WHEN Cur_sub_rp%NOTFOUND ;
    END LOOP ;
    CLOSE Cur_sub_rp;
    FORALL i IN VALUES_TAB.first..values_tab.last
    INSERT INTO SUB_PHN_1 VALUES VALUES_TAB(i);
    commit;
    END;
    The tables used here has 9 million records each.
    The total process takes around 19 minutes.
    Need your help in optimizing the process.

    i have tried using
    Create table as SELECT A.SUB_ACCOUNT,  B.PH_basic_srv,B.PH_Salesman,A.SUB_SSN
                        FROM STG_SUB_MASTER_MONTH_HISTORY A, STG_PHN_MASTER_MONTH_HISTORY
    B
                        WHERE A.SUB_ACCOUNT = B.PH_ACCOUNT (+)
                        AND A.MONTH_ID = B.MONTH_ID (+);But still taking long time(apprx 15 min).
    so used this...
    help me in tuning the query in either of this.
    DECLARE
    CURSOR Cur_sub_rp IS
                    SELECT A.SUB_ACCOUNT,  B.PH_basic_srv,B.PH_Salesman,A.SUB_SSN
                        FROM STG_SUB_MASTER_MONTH_HISTORY A, STG_PHN_MASTER_MONTH_HISTORY
    B
                        WHERE A.SUB_ACCOUNT = B.PH_ACCOUNT (+)
                        AND A.MONTH_ID = B.MONTH_ID (+);
    TYPE t_values_tab IS TABLE OF cur_sub_rp%rowtype ;
    values_tab t_values_tab := t_values_tab()  ;
    BEGIN
        OPEN Cur_sub_rp ;
        LOOP
            FETCH Cur_sub_rp BULK COLLECT INTO Values_tab
                                                LIMIT 1000;
            EXIT WHEN Cur_sub_rp%NOTFOUND ;
        END LOOP ;
        CLOSE Cur_sub_rp;
    FORALL i IN VALUES_TAB.first..values_tab.last
    INSERT INTO SUB_PHN_1 VALUES VALUES_TAB(i);
    commit;
    END;Message was edited by:
    Vakeel
    Message was edited by:
    Vakeel

  • Real Instruments, Enhance Tuning, Enhance Timing, Etc?

    Hi,
    I am having trouble getting to the Real Instruments, Enhance Tuning, Enhance Timing, area of GB3.
    I see the window partially, but not enough to move the sliders, while seeing there placement..
    I'm sure there's something I'm unaware of to get the full view, and I've snapped a screen shot to show what I'm talking about, if anyone is interested..
    Thanks For Any Help,
    Eric

    Hang-
    I have a work around I kind of stumbled onto..
    http://members.aol.com/unkie/GB3-pict-2.gif
    After you select the Real Instrument track you'd like to correct the pitch or timing of, you hit the "I" for track information, then you can click on the region arrow,(?) and the Enhancing area opens up properly.
    Check out the picture linked above, and below I will place the before shot link..
    The preference not coming up seems to be linked to using iChat, believe it or not..
    I read it here in the forum.
    If you open iChat, and then Garageband 3, your preference pane may not open up, until you reboot your computer.
    Strange but true..
    HangTime, Thanks for "Hanging" in there with me through this dilemma..
    Take Care,
    Eric
    Before Link: http://members.aol.com/unkie/GB3.gif
    G4 Desktop (QuickSilver) Dual 1 Gig Processors Mac OS X (10.4.3) 1.5 Gigs of RAM

  • Help me in Report(RDF) Performance tuning

    Hi Viewers,
    I need some steps related to report ( RDF) perfomance tune.
    here is my following question.
    (Q). A report for 100,000+ lines/records is taking 20 hours to run – what steps should be taken to resolve / tune
    Thanks in advance.
    new

    Hello,
    Have you followed the "tips" in the documents ?
    Oracle® Application Server Reports Services Publishing Reports to the Web
    10g Release 2 (10.1.2)
    B14048-02
    20 Tuning Oracle Reports
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_tune.htm
    Regards

  • Report running for long time & performance tuning

    Hi All,
    (1). WebI report is running for long time.so what are the steps i need to check for it ?
    (2). Can you tell me about performance tuning in BO ?
    please help me.....
    Thanks
    Kumar

    (1). WebI report is running for long time.so what are the steps i need to check for it ?
    The first step is to see if the problem lies in the query on the data source or in webi itself. Depending on the data source there are different ways to extract the query and try to run it against the database. Which source does your report uses?
    (2). Can you tell me about performance tuning in BO ?
    I would recommend to start by reading the administrator's guide. There is a section about how to improve performance.
    Regards,
    Stratos

  • Need Help in Breaking a big view into multiple small views or tuning the vw

    Hi
    I have the following view can some one help me in breaking the view in small views or any recommendations for tuning it.
    CODE
    CREATE OR REPLACE FORCE VIEW "CRUVPD"."PX16_CHK_VW_SUMMARY_VW" ("CIDN", "BATCH_NUMBER", "BUSINESS_UNIT", "CHECK_VOUCHER_NUMBER", "CHECK_VOUCHER_CODE", "CHECKVIEW_CLOCK_NUMBER", "COMPANY_CHECKVIEW_HOME_DEPT", "PERIOD_END_DATE", "FEDERAL_TAX", "GROSS_PAY"
    , "HOME_DEPARTMENT", "HOME_DEPARTMENT_DESC", "LIVED_LOCAL_TAX_CODE", "LIVED_STATE_TAX_CODE", "LIVED_LOCAL_TAX", "LIVED_STATE_TAX", "MEDICARE_TAX", "NET_PAY", "DEPARTMENT_WORKED_IN", "PAY_TO_COMPANY_INDICATOR", "PAY_DATE", "PAYROLL_NUMBER", "SCHOOL_DISTRIC
    T_TAX", "CHECKVIEW_SCHOOL_DISTRICT", "SOCIAL_SECURITY_TAX", "SUI_SDI_TAX", "SUI_SDI_TAX_CODE", "VOID_CHECK_INDICATOR", "WEEK_NUMBER", "WORKED_LOCAL_TAX_CODE", "WORKED_STATE_TAX_CODE", "WORKED_LOCAL_TAX", "WORKED_STATE_TAX", "YEAR", "COMPANY_CODE", "FILE_N
    UMBER", "FIRST_NAME", "LAST_NAME", "LAST_NAME_FIRST_NAME", "SOCIAL_SECURITY_NUMBER", "STATUS", "OVERTIME_EARNINGS", "OVERTIME_HOURS", "REGULAR_EARNINGS", "REGULAR_HOURS", "VIEWPK", "HOME_COST_NUMBER", "TAX_FREQUENCY", "COMPANY_COST_NUMBER", "COST_NUMBER_W
    ORKED_IN", "DISTRIBUTION_NUMBER", "TOTAL_DEDUCTIONS_AMOUNT", "TOTAL_HOURS_AMOUNT", "TOTAL_MEMO_AMOUNT", "TOTAL_OTHER_EARNINGS", "TOTAL_OTHER_HOURS", "CHECK_SEQ_NO", "JOINKEY", "CHECK_REVERSAL_INDICATOR") AS
    with user_security_homedept
    AS
    (select /*+ INLINE */ distinct cg.cidn,co_code,asso.oid,asso.name,department_Access ,t2.column_value dep,cg.oid
    from px16_cocodegroup cg ,
    px16_associate asso ,
    px16_securityobject so,
    px16_cocodegrp_securitygrp cs,
    px16_security_group sg ,
    TABLE(f_str2tbl_px16(cg.department_access)) t2
    where cg.USEROID = asso.OID
    and cg.co_code = substr(so.name,8,3)
    and upper(asso.name) = upper(sys_context('payx_r16_app_context', 'app_userid'))
    and cg.oid = cs.cocodegroupoid
    and cs.securitygroupoid = sg.oid
    and cg.cidn = asso.cidn
    and cg.cidn = so.cidn
    and cg.cidn = cs.cidn
    and cs.cidn = sg.cidn
    order by 2,1
    user_security_cost_no
    AS
    (select /*+ INLINE */
    cg.cidn,co_code,count(distinct cd.code)cost_no,cd.code
    from px16_cocodegroup cg ,
    px16_associate asso ,
    px16_securityobject so,
    px16_cocodegrp_securitygrp cs,
    px16_security_group sg ,
    px16_customaccessdetail cd
    where cg.USEROID = asso.OID
    and cg.co_code = substr(so.name,8,3)
    and upper(asso.name) = upper(sys_context('payx_r16_app_context', 'app_userid'))
    and cg.oid = cs.cocodegroupoid
    and cs.securitygroupoid = sg.oid
    and cg.oid = cd.cocodegroupoid(+)
    and cg.cidn = cd.cidn(+)
    and cg.cidn = asso.cidn
    and cg.cidn = so.cidn
    and cg.cidn = cs.cidn
    and cs.cidn = sg.cidn
    group by cg.cidn,co_code,cd.code
    order by 2,1
    super_user_check as
    (SELECT
    distinct a.cidn su_cidn,1 as su_user
    FROM
    px16_LINK LN
    , px16_userprofile up
    , px16_ASSOCIATE a
    , px16_pcp_user pu
    WHERE
    a.oid = pu.oid
    AND pu.userprofileoid = up.oid
    AND LN.parentoid = up.oid
    AND a.active = 1
    AND a.cidn=pu.cidn
    AND pu.cidn=up.cidn
    AND ln.cidn=up.cidn
    AND upper(a.name) = upper(sys_context('payx_r16_app_context', 'app_userid'))
    AND upper(up.name) = upper('Super user')
    nonsuper_user_check as
    SELECT distinct a.cidn s_cidn , 1 as non_user
    FROM
    px16_LINK LN
    , px16_userprofile up
    , px16_ASSOCIATE a
    , px16_pcp_user pu
    WHERE
    a.oid = pu.oid
    AND pu.userprofileoid = up.oid
    AND LN.parentoid = up.oid
    AND a.active = 1
    AND a.cidn=pu.cidn
    AND pu.cidn=up.cidn
    AND ln.cidn=up.cidn
    AND upper(a.name) = upper(sys_context('payx_r16_app_context', 'app_userid'))
    AND LN.childoid IN ( 'SYS:5:7478')
    SELECT distinct
    cidn
    ,batch_number Batch_Number
    , business_unit Business_Unit
    , check_voucher_number Check_Voucher_Number
    , check_voucher_code Check_Voucher_Code
    , clock_number CheckView_Clock_Number
    , company_code_or_dept Company_CheckView_Home_Dept
    , period_end_date Period_End_Date
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, 1, (INSTR(taxes_and_rates, '~', 1, 1) -1)), CHR(155), NULL)) Federal_Tax
    , gross_pay Gross_Pay
    , home_department Home_Department
    , home_department_descr Home_Department_Desc
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 1) +1)
    , INSTR(taxes_and_rates, '~', 1, 2) - (INSTR(taxes_and_rates, '~', 1, 1) +1)), CHR(155), NULL), 1, 32) Lived_Local_Tax_Code
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 2) +1)
    , INSTR(taxes_and_rates, '~', 1, 3) - (INSTR(taxes_and_rates, '~', 1, 2) +1)), CHR(155), NULL), 1, 32) Lived_State_Tax_Code
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 3) +1)
    , INSTR(taxes_and_rates, '~', 1, 4) - (INSTR(taxes_and_rates, '~', 1, 3) +1)), CHR(155), NULL)) Lived_Local_Tax
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 4) +1)
    , INSTR(taxes_and_rates, '~', 1, 5) - (INSTR(taxes_and_rates, '~', 1, 4) +1)), CHR(155), NULL)) Lived_State_Tax
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 5) +1)
    , INSTR(taxes_and_rates, '~', 1, 6) - (INSTR(taxes_and_rates, '~', 1, 5) +1)), CHR(155), NULL)) Medicare_Tax
    , net_pay Net_Pay
    , department_paid Department_Worked_In
    , to_pay_indicator Pay_to_Company_Indicator
    , pay_date Pay_Date
    , payroll_number Payroll_Number
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 6) +1)
    , INSTR(taxes_and_rates, '~', 1, 7) - (INSTR(taxes_and_rates, '~', 1, 6) +1)), CHR(155), NULL)) School_District_Tax
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 7) +1)
    , INSTR(taxes_and_rates, '~', 1, 8) - (INSTR(taxes_and_rates, '~', 1, 7) +1)), CHR(155), NULL), 1, 32) CheckView_School_District
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 8) +1)
    , INSTR(taxes_and_rates, '~', 1, 9) - (INSTR(taxes_and_rates, '~', 1, 8) +1)), CHR(155), NULL)) Social_Security_Tax
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 9) +1)
    , INSTR(taxes_and_rates, '~', 1, 10) - (INSTR(taxes_and_rates, '~', 1, 9) +1)), CHR(155), NULL)) SUI_SDI_Tax
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 10) +1)
    , INSTR(taxes_and_rates, '~', 1, 11) - (INSTR(taxes_and_rates, '~', 1, 10) +1)), CHR(155), NULL), 1, 32) SUI_SDI_Tax_Code
    , void_check_indicator Void_Check_Indicator
    , week_number Week_Number
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 11) +1)
    , INSTR(taxes_and_rates, '~', 1, 12) - (INSTR(taxes_and_rates, '~', 1, 11) +1)), CHR(155), NULL), 1, 32) Worked_Local_Tax_Code
    , SUBSTR(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 12) +1)
    , INSTR(taxes_and_rates, '~', 1, 13) - (INSTR(taxes_and_rates, '~', 1, 12) +1)), CHR(155), NULL), 1, 32) Worked_State_Tax_Code
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 13) +1)
    , INSTR(taxes_and_rates, '~', 1, 14) - (INSTR(taxes_and_rates, '~', 1, 13) +1)), CHR(155), NULL)) Worked_Local_Tax
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 14) +1)
    , INSTR(taxes_and_rates, '~', 1, 15) - (INSTR(taxes_and_rates, '~', 1, 14) +1)), CHR(155), NULL)) Worked_State_Tax
    , year Year
    , company_code Company_Code
    , file_number File_Number
    , first_name First_Name
    , last_name Last_Name
    , name Last_Name_First_Name
    , ssn Social_Security_Number
    , status Status
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 15) +1)
    , INSTR(taxes_and_rates, '~', 1, 16) - (INSTR(taxes_and_rates, '~', 1, 15) +1)), CHR(155), NULL)) Overtime_Earnings
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 16) +1)
    , INSTR(taxes_and_rates, '~', 1, 17) - (INSTR(taxes_and_rates, '~', 1, 16) +1)), CHR(155), NULL)) Overtime_Hours
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 17) +1)
    , INSTR(taxes_and_rates, '~', 1, 18) - (INSTR(taxes_and_rates, '~', 1, 17) +1)), CHR(155), NULL)) Regular_Earnings
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 18) +1)
    , INSTR(taxes_and_rates, '~', 1, 19) - (INSTR(taxes_and_rates, '~', 1, 18) +1)), CHR(155), NULL)) Regular_Hours
    , (company_code || '/' || ssn || '/' || file_number || '/' || TO_CHAR(payroll_number) || '/'
    || TO_CHAR(year) || '/' || TO_CHAR(week_number) || '/' || check_voucher_number
    || '/' || to_char(check_seq_num) || '/' || TO_CHAR(distribution_number)) Viewpk
    , home_costnumber_desc Home_Cost_Number
    , tax_frequency Tax_Frequency
    , co_chkv_home_cost_no Company_Cost_Number
    , cost_no_worked_in Cost_Number_Worked_In
    , distribution_number Distribution_Number
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 19) +1)
    , INSTR(taxes_and_rates, '~', 1, 20) - (INSTR(taxes_and_rates, '~', 1, 19) +1)), CHR(155), NULL)) Total_Deductions_Amount
    , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 20) +1)
    , INSTR(taxes_and_rates, '~', 1, 21) - (INSTR(taxes_and_rates, '~', 1, 20) +1)), CHR(155), NULL)), 0) Total_Hours_Amount
    , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 21) +1)
    , INSTR(taxes_and_rates, '~', 1, 22) - (INSTR(taxes_and_rates, '~', 1, 21) +1)), CHR(155), NULL)), 0) Total_Memo_Amount
    , NVL(TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 22) +1)
    , INSTR(taxes_and_rates, '~', 1, 23) - (INSTR(taxes_and_rates, '~', 1, 22) +1)), CHR(155), NULL)), 0) Total_Other_Earnings
    , TO_NUMBER(REPLACE(SUBSTR(taxes_and_rates, (INSTR(taxes_and_rates, '~', 1, 23) +1)), CHR(155), NULL)) Total_Other_Hours
    , check_seq_num Check_Seq_No
    , (NVL(company_code, '~') || CHR(155) || NVL(file_number, '~') || CHR(155) || NVL(ssn, '~') || CHR(155) || NVL(TO_CHAR(year), '~') || CHR(155)
    || NVL(TO_CHAR(week_number), '~') || CHR(155) || NVL(TO_CHAR(payroll_number), '~')
    || CHR(155) || NVL(check_voucher_number, '~') || CHR(155) || NVL(TO_CHAR(check_seq_num), '~') || CHR(155) || NVL(TO_CHAR(distribution_number), '~')) Joinkey
    , chk_reverse Check_Reversal_Indicator
    FROM
    SELECT
    ch.cidn cidn
    /*BATCH NUMBER*/
    , ch.batch_nb batch_number
    , /*BUSINESS UNIT*/
    (select asso.description
    from px16_appointment ap,
    px16_jobposition jp,
    px16_corporation co,
    px16_associate asso,
    px16_payrollagreement pa,
    px16_payrollgroup pg
    where
    ch.cidn = pg.cidn
    AND ch.cidn = pa.cidn
    AND pa.cidn = pg.cidn
    AND pa.cidn = ap.cidn
    AND em.cidn = ap.cidn
    AND ap.cidn = jp.cidn
    and jp.cidn = co.cidn
    and co.cidn = asso.cidn
    and ch.co_code=pg.co_code
    and ch.file_nb=pa.file_number
    and pa.cocodeoid=pg.oid
    and pa.appointmentoid=ap.oid
    and em.oid=ap.employmentoid
    and ap.jobpositionoid=jp.oid
    and jp.corporationoid=co.oid
    and co.oid=asso.oid) business_unit
    , /*CHECK/VOUCHER NUMBER*/
    ch.check_nb check_voucher_number
    , /*CHECK/VOUCHER CODE*/
    SUBSTR(f_type_px16(ch.cidn,ch.chkvchcodeoid, 'NAME'), 1, 255) check_voucher_code
    , /*CLOCK NUMBER*/
    ch.clock_id clock_number
    , /* COMPANY CODE OR DEPT*/
    ch.co_code||'/'||substr(ch.home_dept_code,1,20) company_code_or_dept
    , /*PERIOD END DATE*/
    ch.payroll_ending_date period_end_date
    , /*GROSS PAY*/
    NVL(chd.gross_pay_amt,0) gross_pay
    , /*HOME DEPARTMENT*/
    ch.home_dept_code home_department
    , /*HOME DEPARTMENT DESCRIPTION*/
    (select ty.description
    from px16_type ty,px16_securityobject sc
    where
    ch.cidn = sc.cidn
    and ty.cidn in ('COMMON', ch.cidn)
    and ch.home_dept_code=ty.name
    and ty.category='T_CO_DEPT'
    and ty.securityoid=sc.oid
    and ch.co_code=substr(sc.name,8)) home_department_descr
    , /*NET PAY*/
    nvl(chd.net_pay_amt,0) net_pay
    , /*DEPARTMENT PAID*/
    -- ch.paid_in_debt_code department_paid
    chd.worked_in_dept department_paid
    , /*TO PAY INDICATOR*/
    decode(to_char(ch.pay_to_co),'1','Y','0','N',to_char(ch.pay_to_co)) to_pay_indicator
    , /*PAY DATE*/
    ch.pay_date pay_date
    , /*PAYROLL NUMBER*/
    to_char(ch.payroll_nb) payroll_number
    , /*VOID CHECK INDICATOR*/
    decode(to_char(ch.void_flag),'1','Y','0','N',to_char(ch.void_flag)) void_check_indicator
    , /*WEEK NUMBER*/
    TO_number(ch.week) week_number
    , /*YEAR*/
    to_char(ch.year) year
    , /*COMPANY CODE*/
    ch.co_code company_code
    , /*FILE NUMBER*/
    LPAD(ch.file_nb,6,0) file_number
    , /*FIRST NAME*/
    pe.first_name first_name
    , /*LAST NAME*/
    pe.last_name last_name
    , /*NAME*/
    pe.last_name||', '||pe.first_name name
    , /*SSN*/
    payx_r16_principal_info.masked_ssn(pe.unique_id, ch.cidn) ssn
    , /*STATUS*/
    (SELECT SUBSTR(f_type_px16(ap.cidn,ap.currentstatusoid, 'DESC'), 1, 255)
    from
    px16_appointment ap,
    /*context co_ap,*/
    px16_payrollagreement pa,
    px16_payrollgroup pg
    where
    pg.cidn=ch.cidn
    and pa.cidn=ch.cidn
    and ap.cidn=pa.cidn
    and ap.cidn = em.cidn
    and ap.employmentoid=em.oid
    and ap.active=1
    and ap.oid=pa.appointmentoid
    and lpad(to_char(pa.file_number),6,0)=ch.file_nb
    and pa.cocodeoid=pg.oid
    and pg.co_code=ch.co_code) status
    -- FED TAX
    -- , LIVED LOCAL TAX CODE, LIVED STATE TAX CODE, LIVED LOCAL TAX, LIVED STATE TAX, MEDICARE TAX
    -- , SCHOOL DISTRICT TAX, SCHOOL DISTRICT, SOCIAL SECURITY TAX, SUI SDI TAX, SUI SDI TAX CODE
    -- , WORKED LOCAL TAX CODE, WORKED STATE TAX CODE, WORKED LOCAL TAX, WORKED STATE TAX
    -- , OVERTIME EARNINGS, OVERTIME HOURS, REGULAR EARNINGS, REGULAR HOURS
    NVL (
    (SELECT
    TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2982', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2984', ci.code, NULL), NULL)), CHR(155)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2987', DECODE(ci.code,'XX',null,ci.code), NULL), NULL)), CHR(155)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2984', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2987', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4118', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4114', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:4114', ci.code, NULL), NULL)), CHR(155)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2988', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2989', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2989', ci.code, NULL), NULL)), CHR(155)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2983', ci.code, NULL), NULL)), CHR(155)) || '~'
    || NVL(MAX(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2986', ci.code, NULL), NULL)), CHR(155)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2983', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3709', DECODE(ci.taxcodeoid, 'SYS:4:2986', NVL(ci.amount,0), 0), 0) ), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3713', NVL(ci.amount,0), 0)), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3727', NVL(ci.amount,0), 0)), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3715', NVL(ci.amount,0), 0)), 0)) || '~'
    || TO_CHAR(NVL(SUM(DECODE(ci.histtypeoid, 'SYS:4:3716', NVL(ci.amount,0), 0)), 0)) || '~'
    -- R16 columns.
    -- Total Deductions Amount === Other Deductions on UI screen.
    || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'DeductionHistory'
    , DECODE(NVL(ci.statutory_ded, 0), 0
    , DECODE(ci.taxcodeoid, NULL
    , DECODE(ci.code, NULL, 0, NVL(ci.amount,0)), 0), 0), 0)), 0)) || '~' -- "Total Deductions Amount"
    || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'OvertimeHours', NVL(ci.amount,0)
    , 'AdditionalHours', NVL(ci.amount,0), 'RegularHours', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Hours Amount"
    || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'Memo', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Memo Amount"
    || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'AdditionalEarnings', NVL(ci.amount,0), 0)), 0)) || '~' -- "Total Other Earnings"
    || TO_CHAR(NVL(SUM(DECODE(chcat.name, 'AdditionalHours', NVL(ci.amount,0), 0)), 0)) -- "Total Other Hours"
    FROM
    px16_checkhistoryitem ci
    , px16_sys_type chcat
    WHERE
    ci.cidn=chd.cidn
    AND ci.checkhistorydistributionoid = chd.oid
    AND chcat.category = 'CheckHistoryItem'
    AND chcat.oid = ci.histtypeoid
    -- AND ci.histtypeoid IN ('SYS:4:3713', 'SYS:4:3727', 'SYS:4:3715', 'SYS:4:3716', 'SYS:4:3709')
    ), '0' || '~' || CHR(155) || '~' || CHR(155)
    || '0~0~0~0~' || CHR(155) || '~0~0~' || CHR(155) || '~' || CHR(155) || '~'
    || CHR(155) || '~0~0~0~0~0~0'
    ) taxes_and_rates
    , ch.check_seq_num check_seq_num
    , ch.home_cost_number home_costnumber_desc
    , SUBSTR(f_type_px16(ch.cidn,ch.payfrequencyoid, 'NAME'), 1, 255) tax_frequency
    , (ch.co_code || '/' || ch.home_cost_number) co_chkv_home_cost_no
    , chd.worked_in_cost_number cost_no_worked_in
    , chd.distribution_number distribution_number
    , DECODE(NVL(ch.reversed_flag, 0), 1, 'Y', 'N') chk_reverse
    FROM
    px16_checkhistory ch
    , px16_employment em
    , px16_person pe
    , px16_payrollgroup pg
    , px16_checkhistory_dist chd
    , px16_appointment ap
    WHERE
    ch.cidn = em.cidn
    and em.cidn = pe.cidn
    and pg.cidn = ch.cidn
    and ch.cidn = chd.cidn
    and ap.cidn(+) = em.cidn
    and ch.employmentoid=em.oid
    AND em.personoid=pe.oid
    AND pg.co_code = ch.co_code
    AND ch.active = 1
    AND ch.oid = chd.checkhistoryoid
    AND ap.employmentoid(+) = em.oid
    AND DECODE(ap.oid, NULL, 1, NVL((SELECT 1 FROM px16_payrollagreement pa
    WHERE
    pa.cidn = ap.cidn
    and pa.cidn = ch.cidn
    and pa.cidn = pg.cidn
    and pa.appointmentoid = ap.oid
    AND pa.file_number = ch.file_nb
    AND pa.cocodeoid = pg.oid), 0)) = 1
    and ch.cidn in (select distinct s_cidn from nonsuper_user_check)
    AND ( sys_context('payx_r16_app_context', 'app_role') in ('ADP', 'CSR')
    or (exists (select 1 from super_user_check where su_cidn =ch.cidn))
    or (ch.cidn,ch.co_code,ch.home_dept_code) in (select cidn,co_code,dep from user_security_homedept)
    or (ch.cidn,ch.co_code,ch.home_cost_number) in (select cidn,co_code,code from user_security_cost_no)
    or ( exists(select co_code from user_security_homedept where cidn=ch.cidn and co_code = ch.co_code and dep is null)
    and exists(select co_code from user_security_cost_no where cidn=ch.cidn and co_code = ch.co_code and cost_no = 0) )
    Explain plan
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
    | 0 | SELECT STATEMENT | | 1 | 7519 | 99 (2)|
    | 1 | VIEW | PX16_CHK_VW_SUMMARY_VW | 1 | 7519 | |
    | 2 | SORT UNIQUE | | 1 | 445 | 78 (0)|
    |* 3 | FILTER | | | | |
    | 4 | NESTED LOOPS OUTER | | 1 | 445 | 63 (2)|
    | 5 | NESTED LOOPS | | 1 | 414 | 58 (2)|
    | 6 | NESTED LOOPS | | 1 | 362 | 53 (2)|
    | 7 | NESTED LOOPS | | 1 | 331 | 48 (3)|
    | 8 | NESTED LOOPS | | 1 | 306 | 43 (3)|
    | 9 | NESTED LOOPS | | 1 | 253 | 38 (3)|
    | 10 | NESTED LOOPS | | 1 | 120 | 23 (5)|
    | 11 | NESTED LOOPS | | 1 | 79 | 18 (6)|
    | 12 | NESTED LOOPS | | 1 | 53 | 13 (8)|
    |* 13 | INDEX FAST FULL SCAN | USERPROFILE_GG_U | 5 | 110 | 11 (0)|
    |* 14 | INDEX RANGE SCAN | UQ_LINK | 1 | 31 | |
    | 15 | TABLE ACCESS BY INDEX ROWID | PCP_USER | 1 | 26 | 6 (17)|
    |* 16 | INDEX RANGE SCAN | XIF3PCP_USER | 1 | | |
    |* 17 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 41 | 6 (17)|
    |* 18 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |* 19 | TABLE ACCESS BY INDEX ROWID | CHECKHISTORY | 1 | 133 | 16 (7)|
    |* 20 | INDEX RANGE SCAN | J_CO_CODE | 13 | | 2 (0)|
    | 21 | TABLE ACCESS BY INDEX ROWID | CHECKHISTORYDISTRIBUTION | 1 | 53 | 6 (17)|
    |* 22 | INDEX RANGE SCAN | TMP_IDX11 | 1 | | |
    | 23 | TABLE ACCESS BY INDEX ROWID | PAYROLLGROUP | 1 | 25 | 6 (17)|
    |* 24 | INDEX RANGE SCAN | PAYROLLGROUP_IDX2 | 1 | | |
    | 25 | TABLE ACCESS BY INDEX ROWID | EMPLOYMENT | 1 | 31 | 6 (17)|
    |* 26 | INDEX UNIQUE SCAN | EMPLOYMENT_GG_U | 1 | | |
    | 27 | TABLE ACCESS BY INDEX ROWID | PERSON | 1 | 52 | 6 (17)|
    |* 28 | INDEX UNIQUE SCAN | PERSON_GG_U | 1 | | |
    | 29 | TABLE ACCESS BY INDEX ROWID | APPOINTMENT | 1 | 31 | 6 (17)|
    |* 30 | INDEX RANGE SCAN | XIF12APPOINTMENT | 1 | | |
    |* 31 | FILTER | | | | |
    |* 32 | TABLE ACCESS BY INDEX ROWID | PAYROLLAGREEMENT | 1 | 34 | 21 (5)|
    |* 33 | INDEX RANGE SCAN | UQ_FILE_NO_COCODE | 1 | | 3 (0)|
    |* 34 | FILTER | | | | |
    | 35 | NESTED LOOPS | | 1 | 130 | 27 (4)|
    | 36 | NESTED LOOPS | | 1 | 89 | 22 (5)|
    | 37 | NESTED LOOPS | | 1 | 63 | 17 (6)|
    |* 38 | TABLE ACCESS BY INDEX ROWID | USERPROFILE | 1 | 41 | 16 (7)|
    |* 39 | INDEX RANGE SCAN | XIF1USERPROFILE | 1 | | 2 (0)|
    |* 40 | INDEX RANGE SCAN | LINK_IDX2 | 1 | 22 | |
    | 41 | TABLE ACCESS BY INDEX ROWID | PCP_USER | 1 | 26 | 6 (17)|
    |* 42 | INDEX RANGE SCAN | XIF3PCP_USER | 1 | | |
    |* 43 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 41 | 6 (17)|
    |* 44 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |* 45 | FILTER | | | | |
    | 46 | NESTED LOOPS | | 1 | 144 | 48 (3)|
    | 47 | MERGE JOIN CARTESIAN | | 1 | 142 | 37 (3)|
    | 48 | NESTED LOOPS | | 1 | 116 | 32 (4)|
    | 49 | NESTED LOOPS | | 1 | 96 | 31 (4)|
    | 50 | NESTED LOOPS | | 1 | 72 | 26 (4)|
    |* 51 | TABLE ACCESS BY INDEX ROWID | COCODEGROUP | 1 | 34 | 21 (5)|
    |* 52 | INDEX RANGE SCAN | XIF1COCODEGROUP | 9 | | 2 (0)|
    |* 53 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 38 | 6 (17)|
    |* 54 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |* 55 | INDEX RANGE SCAN | COSEC_IDX_GG | 1 | 24 | 1 (0)|
    |* 56 | INDEX UNIQUE SCAN | SECURITY_GROUP_GG_U | 1 | 20 | |
    | 57 | BUFFER SORT | | 1 | 26 | 35 (0)|
    |* 58 | INDEX RANGE SCAN | UQ_SECURITYOBJECT | 1 | 26 | 1 (0)|
    |* 59 | COLLECTION ITERATOR PICKLER FETCH | F_STR2TBL_PX16 | | | |
    |* 60 | FILTER | | | | |
    | 61 | SORT GROUP BY | | 1 | 183 | 66 (0)|
    | 62 | NESTED LOOPS | | 1 | 183 | 51 (2)|
    | 63 | NESTED LOOPS | | 1 | 163 | 50 (2)|
    |* 64 | HASH JOIN OUTER | | 1 | 139 | 45 (3)|
    | 65 | NESTED LOOPS | | 1 | 96 | 42 (3)|
    |* 66 | HASH JOIN | | 1 | 58 | 37 (3)|
    | 67 | TABLE ACCESS BY INDEX ROWID | SECURITYOBJECT | 13 | 338 | 16 (7)|
    |* 68 | INDEX RANGE SCAN | SECURITYOBJECT_IDX1 | 13 | | 2 (0)|
    | 69 | TABLE ACCESS BY INDEX ROWID | COCODEGROUP | 9 | 288 | 21 (5)|
    |* 70 | INDEX RANGE SCAN | XIF1COCODEGROUP | 1 | | 2 (0)|
    |* 71 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 38 | 6 (17)|
    |* 72 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |* 73 | TABLE ACCESS FULL | CUSTOMACCESSDETAIL | 9 | 387 | 2 (0)|
    |* 74 | INDEX RANGE SCAN | COSEC_IDX_GG | 1 | 24 | 1 (0)|
    |* 75 | INDEX UNIQUE SCAN | SECURITY_GROUP_GG_U | 1 | 20 | |
    | 76 | VIEW | | 1 | 2032 | |
    | 77 | SORT UNIQUE | | 1 | 144 | 63 (0)|
    |* 78 | FILTER | | | | |
    | 79 | NESTED LOOPS | | 1 | 144 | 48 (3)|
    | 80 | NESTED LOOPS | | 1 | 142 | 37 (3)|
    | 81 | NESTED LOOPS | | 1 | 104 | 32 (4)|
    | 82 | NESTED LOOPS | | 1 | 84 | 31 (4)|
    | 83 | NESTED LOOPS | | 1 | 60 | 26 (4)|
    |* 84 | TABLE ACCESS BY INDEX ROWID | COCODEGROUP | 1 | 34 | 21 (5)|
    |* 85 | INDEX RANGE SCAN | XIF1COCODEGROUP | 9 | | 2 (0)|
    |* 86 | INDEX RANGE SCAN | UQ_SECURITYOBJECT | 1 | 26 | 1 (0)|
    |* 87 | INDEX RANGE SCAN | COSEC_IDX_GG | 1 | 24 | 1 (0)|
    |* 88 | INDEX UNIQUE SCAN | SECURITY_GROUP_GG_U | 1 | 20 | |
    |* 89 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 38 | 6 (17)|
    |* 90 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |* 91 | COLLECTION ITERATOR PICKLER FETCH| F_STR2TBL_PX16 | | | |
    | 92 | VIEW | | 1 | 43 | |
    |* 93 | FILTER | | | | |
    | 94 | SORT GROUP BY | | 1 | 183 | 55 (0)|
    |* 95 | FILTER | | | | |
    | 96 | NESTED LOOPS | | 1 | 183 | 40 (3)|
    | 97 | NESTED LOOPS | | 1 | 163 | 39 (3)|
    |* 98 | HASH JOIN OUTER | | 1 | 139 | 34 (3)|
    | 99 | NESTED LOOPS | | 1 | 96 | 31 (4)|
    | 100 | NESTED LOOPS | | 1 | 58 | 26 (4)|
    |*101 | TABLE ACCESS BY INDEX ROWID | COCODEGROUP | 1 | 32 | 21 (5)|
    |*102 | INDEX RANGE SCAN | XIF1COCODEGROUP | 9 | | 2 (0)|
    |*103 | INDEX RANGE SCAN | UQ_SECURITYOBJECT | 1 | 26 | 1 (0)|
    |*104 | TABLE ACCESS BY INDEX ROWID | ASSOCIATE | 1 | 38 | 6 (17)|
    |*105 | INDEX UNIQUE SCAN | ASSOCIATE_GG_U | 1 | | |
    |*106 | TABLE ACCESS FULL | CUSTOMACCESSDETAIL | 9 | 387 | 2 (0)|
    |*107 | INDEX RANGE SCAN | COSEC_IDX_GG | 1 | 24 | 1 (0)|
    |*108 | INDEX UNIQUE SCAN | SECURITY_GROUP_GG_U | 1 | 20 | |
    Predicate Information (identified by operation id):
    3 - filter(DECODE("SYS_ALIAS_19"."OID",NULL,1,NVL( (SELECT /*+ */ 1 FROM "PAYX_R16"."PAYROLLAGREEMENT"
    "PX16_PAYROLLAGREEMENT" WHERE :B1='C69C1Y' AND :B2=:B3 AND :B4=:B5 AND
    "PX16_PAYROLLAGREEMENT"."FILE_NUMBER"=TO_NUMBER(:B6) AND "PX16_PAYROLLAGREEMENT"."COCODEOID"=:B7 AND
    "PX16_PAYROLLAGREEMENT"."CIDN"=:B8 AND "PX16_PAYROLLAGREEMENT"."APPOINTMENTOID"=:B9),0))=1 AND
    (SYS_CONTEXT('payx_r16_app_context','app_role')='ADP' OR
    SYS_CONTEXT('payx_r16_app_context','app_role')='CSR' OR EXISTS (SELECT /*+ */ 0 FROM
    "PAYX_R16"."PCP_USER" "PX16_PCP_USER","PAYX_R16"."ASSOCIATE" "PX16_ASSOCIATE","PAYX_R16"."USERPROFILE"
    "PX16_USERPROFILE","PAYX_R16"."LINK" "PX16_LINK" WHERE :B10='C69C1Y' AND
    "PX16_LINK"."PARENTOID"="PX16_USERPROFILE"."OID" AND "PX16_LINK"."CIDN"='C69C1Y' AND
    "PX16_LINK"."CIDN"=:B11 AND "PX16_USERPROFILE"."CIDN"='C69C1Y' AND UPPER("PX16_USERPROFILE"."NAME")='SUPER
    USER' AND "PX16_USERPROFILE"."CIDN"=:B12 AND "PX16_ASSOCIATE"."CIDN"=:B13 AND
    "PX16_ASSOCIATE"."OID"="PX16_PCP_USER"."OID" AND "PX16_ASSOCIATE"."ACTIVE"=1 AND
    UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')) AND
    "PX16_PCP_USER"."USERPROFILEOID"="PX16_USERPROFILE"."OID" AND "PX16_PCP_USER"."CIDN"='C69C1Y' AND
    "PX16_PCP_USER"."USERPROFILEOID" IS NOT NULL AND "PX16_PCP_USER"."CIDN"=:B14) OR EXISTS (SELECT /*+ */ 0
    FROM TABLE("CRUVPD"."F_STR2TBL_PX16"("PX16_COCODEGROUP"."DEPARTMENT_ACCESS"))
    "KOKBF$","PAYX_R16"."SECURITY_GROUP" "PX16_SECURITY_GROUP","PAYX_R16"."COCODEGROUP_SECURITYGROUP"
    "PX16_COCODEGRP_SECURITYGRP","PAYX_R16"."SECURITYOBJECT" "PX16_SECURITYOBJECT","PAYX_R16"."ASSOCIATE"
    "PX16_ASSOCIATE","PAYX_R16"."COCODEGROUP" "PX16_COCODEGROUP" WHERE :B15='C69C1Y' AND
    "PX16_COCODEGROUP"."CIDN"=:B16 AND "PX16_COCODEGROUP"."CO_CODE"=:B17 AND "PX16_ASSOCIATE"."CIDN"='C69C1Y'
    AND "PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND
    UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')) AND
    "PX16_ASSOCIATE"."CIDN"=:B18 AND "PX16_SECURITYOBJECT"."CIDN"='C69C1Y' AND
    SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3)=:B19 AND "PX16_SECURITYOBJECT"."CIDN"=:B20 AND
    "PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"=:B21 AND "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y' AND
    "PX16_SECURITY_GROUP"."CIDN"='C69C1Y' AND "PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GR
    OUP"."OID" AND "PX16_SECURITY_GROUP"."CIDN"=:B22 AND VALUE(KOKBF$)=:B23) OR EXISTS (SELECT /*+ */ 0 FROM
    "PAYX_R16"."CUSTOMACCESSDETAIL" "PX16_CUSTOMACCESSDETAIL","PAYX_R16"."SECURITY_GROUP"
    "PX16_SECURITY_GROUP","PAYX_R16"."COCODEGROUP_SECURITYGROUP"
    "PX16_COCODEGRP_SECURITYGRP","PAYX_R16"."SECURITYOBJECT" "PX16_SECURITYOBJECT","PAYX_R16"."ASSOCIATE"
    "PX16_ASSOCIATE","PAYX_R16"."COCODEGROUP" "PX16_COCODEGROUP" WHERE "PX16_COCODEGROUP"."CIDN"='C69C1Y' AND
    "PX16_COCODEGROUP"."CIDN"="PX16_SECURITYOBJECT"."CIDN" AND
    "PX16_COCODEGROUP"."CO_CODE"=SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3) AND "PX16_ASSOCIATE"."CIDN"='C69C1Y'
    AND "PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND
    UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')) AND
    "PX16_COCODEGROUP"."CIDN"="PX16_ASSOCIATE"."CIDN" AND "PX16_SECURITYOBJECT"."CIDN"='C69C1Y' AND
    "PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGROUP"."CIDN"="PX16_COCODEGRP_SECURITYGRP"."CIDN" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y' AND "PX16_SECURITY_GROUP"."CIDN"='C69C1Y' AND
    "PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GROUP"."OID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"="PX16_SECURITY_GROUP"."CIDN" AND
    "PX16_COCODEGROUP"."CIDN"="PX16_CUSTOMACCESSDETAIL"."CIDN"(+) AND
    "PX16_COCODEGROUP"."OID"="PX16_CUSTOMACCESSDETAIL"."COCODEGROUPOID"(+) AND
    "PX16_CUSTOMACCESSDETAIL"."CIDN"(+)='C69C1Y' GROUP BY
    "PX16_COCODEGROUP"."CIDN","PX16_COCODEGROUP"."CO_CODE","PX16_CUSTOMACCESSDETAIL"."CODE" HAVING
    "PX16_COCODEGROUP"."CIDN"=:B24 AND "PX16_COCODEGROUP"."CO_CODE"=:B25 AN)
    13 - filter("PX16_USERPROFILE"."CIDN"='C69C1Y')
    14 - access("PX16_LINK"."CIDN"='C69C1Y' AND "PX16_LINK"."CHILDOID"='SYS:5:7478' AND
    "PX16_LINK"."PARENTOID"="PX16_USERPROFILE"."OID")
    filter("PX16_LINK"."CIDN"="PX16_USERPROFILE"."CIDN")
    16 - access("PX16_PCP_USER"."CIDN"='C69C1Y' AND "PX16_PCP_USER"."USERPROFILEOID"="PX16_USERPROFILE"."OID"
    filter("PX16_PCP_USER"."USERPROFILEOID" IS NOT NULL AND
    "PX16_PCP_USER"."CIDN"="PX16_USERPROFILE"."CIDN")
    17 - filter("PX16_ASSOCIATE"."ACTIVE"=1 AND UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_ap
    p_context','app_userid')))
    18 - access("PX16_ASSOCIATE"."OID"="PX16_PCP_USER"."OID" AND "PX16_ASSOCIATE"."CIDN"='C69C1Y')
    filter("PX16_ASSOCIATE"."CIDN"="PX16_PCP_USER"."CIDN")
    19 - filter("SYS_ALIAS_32"."ACTIVE"=1)
    20 - access("SYS_ALIAS_32"."CIDN"='C69C1Y')
    filter("SYS_ALIAS_32"."CIDN"="PX16_ASSOCIATE"."CIDN")
    22 - access("SYS_ALIAS_15"."CIDN"='C69C1Y' AND "SYS_ALIAS_32"."OID"="SYS_ALIAS_15"."CHECKHISTORYOID")
    filter("SYS_ALIAS_32"."CIDN"="SYS_ALIAS_15"."CIDN")
    24 - access("SYS_ALIAS_21"."CIDN"='C69C1Y' AND "SYS_ALIAS_21"."CO_CODE"="SYS_ALIAS_32"."CO_CODE")
    filter("SYS_ALIAS_21"."CIDN"="SYS_ALIAS_32"."CIDN")
    26 - access("SYS_ALIAS_32"."EMPLOYMENTOID"="SYS_ALIAS_11"."OID" AND "SYS_ALIAS_11"."CIDN"='C69C1Y')
    filter("SYS_ALIAS_32"."CIDN"="SYS_ALIAS_11"."CIDN")
    28 - access("SYS_ALIAS_11"."PERSONOID"="PX16_PERSON"."OID" AND "PX16_PERSON"."CIDN"='C69C1Y')
    filter("SYS_ALIAS_11"."CIDN"="PX16_PERSON"."CIDN")
    30 - access("SYS_ALIAS_19"."CIDN"(+)='C69C1Y' AND "SYS_ALIAS_19"."EMPLOYMENTOID"(+)="SYS_ALIAS_11"."OID")
    filter("SYS_ALIAS_19"."CIDN"(+)="SYS_ALIAS_11"."CIDN")
    31 - filter(:B1='C69C1Y' AND :B2=:B3 AND :B4=:B5)
    32 - filter("PX16_PAYROLLAGREEMENT"."APPOINTMENTOID"=:B1)
    33 - access("PX16_PAYROLLAGREEMENT"."CIDN"=:B1 AND "PX16_PAYROLLAGREEMENT"."COCODEOID"=:B2 AND
    "PX16_PAYROLLAGREEMENT"."FILE_NUMBER"=TO_NUMBER(:B3))
    34 - filter(:B1='C69C1Y')
    38 - filter(UPPER("PX16_USERPROFILE"."NAME")='SUPER USER')
    39 - access("PX16_USERPROFILE"."CIDN"='C69C1Y')
    filter("PX16_USERPROFILE"."CIDN"=:B1)
    40 - access("PX16_LINK"."CIDN"='C69C1Y' AND "PX16_LINK"."PARENTOID"="PX16_USERPROFILE"."OID")
    filter("PX16_LINK"."CIDN"=:B1)
    42 - access("PX16_PCP_USER"."CIDN"='C69C1Y' AND "PX16_PCP_USER"."USERPROFILEOID"="PX16_USERPROFILE"."OID"
    filter("PX16_PCP_USER"."USERPROFILEOID" IS NOT NULL AND "PX16_PCP_USER"."CIDN"=:B1)
    43 - filter("PX16_ASSOCIATE"."ACTIVE"=1 AND UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_ap
    p_context','app_userid')))
    44 - access("PX16_ASSOCIATE"."OID"="PX16_PCP_USER"."OID" AND "PX16_ASSOCIATE"."CIDN"=:B1)
    45 - filter(:B1='C69C1Y')
    51 - filter("PX16_COCODEGROUP"."CO_CODE"=:B1)
    52 - access("PX16_COCODEGROUP"."CIDN"=:B1)
    53 - filter(UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')))
    54 - access("PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND "PX16_ASSOCIATE"."CIDN"='C69C1Y')
    filter("PX16_ASSOCIATE"."CIDN"=:B1)
    55 - access("PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGRP_SECURITYGRP"."CIDN"=:B1 AND "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    56 - access("PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GROUP"."OID" AND
    "PX16_SECURITY_GROUP"."CIDN"='C69C1Y')
    filter("PX16_SECURITY_GROUP"."CIDN"=:B1)
    58 - access("PX16_SECURITYOBJECT"."CIDN"='C69C1Y')
    filter(SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3)=:B1 AND "PX16_SECURITYOBJECT"."CIDN"=:B2)
    59 - filter(VALUE(KOKBF$)=:B1)
    60 - filter("PX16_COCODEGROUP"."CIDN"=:B1 AND "PX16_COCODEGROUP"."CO_CODE"=:B2 AND
    "PX16_CUSTOMACCESSDETAIL"."CODE"=:B3)
    64 - access("PX16_COCODEGROUP"."OID"="PX16_CUSTOMACCESSDETAIL"."COCODEGROUPOID"(+) AND
    "PX16_COCODEGROUP"."CIDN"="PX16_CUSTOMACCESSDETAIL"."CIDN"(+))
    66 - access("PX16_COCODEGROUP"."CO_CODE"=SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3) AND
    "PX16_COCODEGROUP"."CIDN"="PX16_SECURITYOBJECT"."CIDN")
    68 - access("PX16_SECURITYOBJECT"."CIDN"='C69C1Y')
    70 - access("PX16_COCODEGROUP"."CIDN"='C69C1Y')
    71 - filter(UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')))
    72 - access("PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND "PX16_ASSOCIATE"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_ASSOCIATE"."CIDN")
    73 - filter("PX16_CUSTOMACCESSDETAIL"."CIDN"(+)='C69C1Y')
    74 - access("PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_COCODEGRP_SECURITYGRP"."CIDN" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    75 - access("PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GROUP"."OID" AND
    "PX16_SECURITY_GROUP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGRP_SECURITYGRP"."CIDN"="PX16_SECURITY_GROUP"."CIDN")
    78 - filter('C69C1Y'=:B1)
    84 - filter("PX16_COCODEGROUP"."CO_CODE"=:B1)
    85 - access("PX16_COCODEGROUP"."CIDN"='C69C1Y')
    86 - access("PX16_SECURITYOBJECT"."CIDN"='C69C1Y')
    filter(SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3)=:B1 AND
    "PX16_COCODEGROUP"."CIDN"="PX16_SECURITYOBJECT"."CIDN")
    87 - access("PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_COCODEGRP_SECURITYGRP"."CIDN" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    88 - access("PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GROUP"."OID" AND
    "PX16_SECURITY_GROUP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGRP_SECURITYGRP"."CIDN"="PX16_SECURITY_GROUP"."CIDN")
    89 - filter(UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')))
    90 - access("PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND "PX16_ASSOCIATE"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_ASSOCIATE"."CIDN")
    91 - filter(VALUE(KOKBF$) IS NULL)
    93 - filter(COUNT(DISTINCT "PX16_CUSTOMACCESSDETAIL"."CODE")=0)
    95 - filter('C69C1Y'=:B1)
    98 - access("PX16_COCODEGROUP"."OID"="PX16_CUSTOMACCESSDETAIL"."COCODEGROUPOID"(+) AND
    "PX16_COCODEGROUP"."CIDN"="PX16_CUSTOMACCESSDETAIL"."CIDN"(+))
    101 - filter("PX16_COCODEGROUP"."CO_CODE"=:B1)
    102 - access("PX16_COCODEGROUP"."CIDN"='C69C1Y')
    103 - access("PX16_SECURITYOBJECT"."CIDN"='C69C1Y')
    filter(SUBSTR("PX16_SECURITYOBJECT"."NAME",8,3)=:B1 AND
    "PX16_COCODEGROUP"."CIDN"="PX16_SECURITYOBJECT"."CIDN")
    104 - filter(UPPER("PX16_ASSOCIATE"."NAME")=UPPER(SYS_CONTEXT('payx_r16_app_context','app_userid')))
    105 - access("PX16_COCODEGROUP"."USEROID"="PX16_ASSOCIATE"."OID" AND "PX16_ASSOCIATE"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_ASSOCIATE"."CIDN")
    106 - filter("PX16_CUSTOMACCESSDETAIL"."CIDN"(+)='C69C1Y')
    107 - access("PX16_COCODEGROUP"."OID"="PX16_COCODEGRP_SECURITYGRP"."COCODEGROUPOID" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGROUP"."CIDN"="PX16_COCODEGRP_SECURITYGRP"."CIDN" AND
    "PX16_COCODEGRP_SECURITYGRP"."CIDN"='C69C1Y')
    108 - access("PX16_COCODEGRP_SECURITYGRP"."SECURITYGROUPOID"="PX16_SECURITY_GROUP"."OID" AND
    "PX16_SECURITY_GROUP"."CIDN"='C69C1Y')
    filter("PX16_COCODEGRP_SECURITYGRP"."CIDN"="PX16_SECURITY_GROUP"."CIDN")
    277 rows selected.
    Really need advice on it.

    Without formatting using [ PRE ] and [ /PRE ] tags it is nearly impossible to read much less provide help.
    But what is it you hope to accomplish by breaking it up into smaller views?
    Improvements in ease of maintenance will likely be offset by poorer performance.

Maybe you are looking for

  • How can I make signature darker when I print the report?

    I need to put my manager's signature on the report. The signature is too light, How can I make it darker when I print the report? I used file link and OLE, both did't make it. Thanks.

  • Column names

    Hi All, I have a SQL database. I am finding it hard to list the colums names of a particular table in my DB. can someone please tell me how i can see just the colum names in the table? using SELECT * FROM <TABLENAME> from the command line is not help

  • Syncing Audio

    Hello all. I'm trying to sync an animation in Flash with a piece of music I created in Reason 4. The audio is at 120BPM and the Flash movie is currently set to 24FPS - I haven't actually created the animation yet - I've merely imported the audio into

  • Why does "ken burns" increase speed going in/out?

    If you've used Flash, you know that you can control the motion by 'easing in/out', that is, the constant and consistent motion of a picture or object can be emphasized at the start or end of a tween (move slow and increases in motion speed towards th

  • Struggling to sync, match calendars, contacts and I need HELP!

    HI Please help me, techie people! I received my iPhone 3G S yesterday (my first iPhone) and hardly got any sleep last night through trying to resolve some syncing issues. These are my problems: All my contacts mixed up en route into my iPhone, so con