Different DOP on tables nd indexes.

We have a few tables that have a different degree of paralellism from their indexes. I read that the table and indexes should have the same degree. Is that a best practice? If so, what are the issues if the DOP is different on the tables and the indexes? Why should they be the same and what is it's effect on CBO?
I have googled and have not been able to find out why they need to be the same. Can anyone point me to any links or articles on this?

I'm not sure that they NEED to be the same, but I would imagine that it would impact index cost adjusting if you don't have the same DOP between your table and your indexes. You might be left scratching your head as to why Oracle is doing a FTS when your testing is showing an index is much faster - then it turns out you have a larger DOP on your index than your table, etc.
Personally, I would not set DOP at the object level, but force your developers (or yourself) to set it via a hint. Rampant parallelism can cause significant performance problems and I've seen a lot of times that OLTP transactions will fire off extraneous PQ sessions (and cause slower performance for the query) simply because parallelism was set at the object level.
At least if you're doing it through a hint, you're making an explicit decision to use parallelism, as opposed to potentially firing it off without realizing it. It's also easier to change an SQL statement than it is to perform DDL against an object.

Similar Messages

  • Import dumpfile with seperate tablespaces for table and index

    Hi,
    We have a schema for which the its tables are stored in seperate tablespace and indexes are stored in different tablespace. Now we have take full schema export. Now we want to import it on another schema. Now I want to know if the we have difference in the tablespace name we use REMAP_TABLESPACE clause of the impdp command but what about the seperate tablespace for table and indexes. How would Oracle handle this.
    Regards,
    Abbasi

    Hi,
    I hope you created the same tablespace structure on the target side if not so remap_tablespace option you have to use for specifying different tablespaces.Oracle will take care of putting data and index.Any how if a index is moved from one tablespace to other you have to rebuild them,once you rebuild them than only stattistics are gathered otherwise you
    might face some performance issue.
    Better option is to keep same tablespace structures in source and target environment.
    Best regards,
    Rafi.
    http://rafioracledba.blogspot.com
    Edited by: Rafi (Oracle DBA) on May 9, 2011 7:07 AM

  • What are the different types of tables in oracle --plz help

    I want to know the different types of tables in orcle...Please help me

    There are seven types of tables in Oracle.
    1.Heap organized tables
    2.Index organized tables
    3.Index clustered tables
    4.Hash clustered tables
    5.Nested tables
    6.Global temporary tables
    7.Object tables
    Source:http://www.adp-gmbh.ch/ora/concepts/tables.html
    But if you are asking table types in the uses senses then they are n types :
    1.Stage tables
    2.Operational tables
    3.Functional tables
    4.Disposition tables
    5.Archive tables
    6.Other tables
    Source:http://www.databasejournal.com/features/oracle/article.php/3616476/Types-of-Tables-in-Oracle.htm
    And yes of course, the complete detail can be found in documentation.
    HTH
    Girish Sharma

  • How to create table(s)/indexes on a new database from an existing database

    Hello all - I need some help in finishing a task, quick response is really appreciated
    So, I have a new database that needs creation of tables including indexes and objects for two different tablespaces called CDS1 and CSD2. I have created these tablespaces and datafiles associated with them. I need some help just to create these tables and indexes from an existing database without copying any of its contents. How can I achieve this, these are 2 different servers at different locations. Can somebody give me step by step instruction - would greatly appreciate it !
    Thanks,
    Vikas

    9876543210 wrote:
    Hello all - I need some help in finishing a task, quick response is really appreciated
    So, I have a new database that needs creation of tables including indexes and objects for two different tablespaces called CDS1 and CSD2. I have created these tablespaces and datafiles associated with them. I need some help just to create these tables and indexes from an existing database without copying any of its contents. How can I achieve this, these are 2 different servers at different locations. Can somebody give me step by step instruction - would greatly appreciate it !
    Thanks,
    Vikas
    exp help=yes
    exp username/password rows=no
    How do I ask a question on the forums?
    https://forums.oracle.com/message/9362002#9362002

  • Separate table and index data in RAC database

    Hi Experts,
    Our database is Oracle11g RAC database. I need your expertise on this
    Do we need to retain the table and index data in two different tablespaces for performance perspective in RAC database too?
    Please share your practical experience…Thanks in advance.
    Regards
    Richard

    g777 wrote:
    In my opinion, if there is striping implemented then performance shouldn't degrade even if the index and table blocks are in one tablespace. Exactly.. striping is NOT a good idea at tablespace level as a tablespace is a logical storage device. It is very difficult to stripe comprehensively/correctly at that level, if not impossible.
    Striping is a function of the actual storage system and need to happen at physical level. A proper RAID0 implementation.
    So the question about multiple tablespaces for a performance increase should not be about striping - but about issues such as data management, block sizes, transportable tablespaces and so on.
    Thus my question (at the OP) - what performance problems are expected and are these relevant to the number of tablespaces?

  • INI_TRANS for TABLE and INDEX

    Hi,
    My DB version is 10.2.0.3
    As by default the INI_TRANS of tables is 1 and for indexes is 2. For some reasons I have to increase the INI_TRANS of a table to 5, then what value do I set for INI_TRANS of indexes on that table?
    I have read somewhere that INI_TRANS of indexes to be set twice as of table's INI_TRANS. Means if tables INI_TRANS is 5 then index INI_TRANS must be set to 10. Is it true? If yes then what is the logic behind this?
    Thanks,
    Oratest
    Edited by: oratest on Feb 4, 2013 3:26 PM

    oratest wrote:
    My DB version is 10.2.0.3
    As by default the INI_TRANS of tables is 1 and for indexes is 2. For some reasons I have to increase the INI_TRANS of a table to 5, then what value do I set for INI_TRANS of indexes on that table?
    I have read somewhere that INI_TRANS of indexes to be set twice as of table's INI_TRANS. Means if tables INI_TRANS is 5 then index INI_TRANS must be set to 10. Is it true? No.
    There is no useful guideline for a generic setting. Consider the contradictory scenes:
    a) Five sessions insert five separate rows into a single table block - taking up 5 ITL slots. There is an index on the table, but the five rows just inserted hold such different values that their index entries go to 5 different index leaf blocks: the index doesn't need initrans 5.
    b) Using ASSM 80 different sessions insert a row each into a table - the nature of ASSM means that (on average) there will be 5 rows inserted into 16 different blocks - the table ASSM needs to be 5. However, the indexed column in this case is generated by a sequence and all 80 index entries ought to be inserted into the same leaf block, so you need initrans to be 80 on the index. (Except Oracle will do index leaf block splits to work around problems of initrans being too small on concurrent inserts.
    You have to consider the nature of the indexes and the pattern of data change for every single index separately - and then you might set initrans on the index to NO MORE THAN the table initrans + 1 because (a) that won't waste too much space (b) it's probably not going to let too much contention happen (c) Oracle will dynamically extend the ITL in most cases, (d) if it's bad for one particular index you'll notice it pretty quickly - and there will be other problems (buffer busy waits) to deal with on that index anyway.
    Regards
    Jonathan Lewis

  • Large insert op into table with indexes

    Hi,
    Oracle 8.1.7.0. Empty table (after truncate) with two indexes. Need to insert about 40 billions records. What is better way to complete this task:
    1. Drop indexes, insert data then build indexes.
    2. Simply insert data into table.
    Thanks.

    The only way to find out is to test... For example, I did a test on my single-cpu box with Oracle 9i. My test was to load all the rows from DBA_SOURCE (only 650k rows). I found that a single insert statement with bitmap indexes online ran faster than the total elapsed time for taking the indexes offline, inserting, and bringing the indexes back up...
    With 40-billion rows, I presume you're using partitioned tables and enabling parrallel DML. Thus, your test will be much different than mine...
    In past ETL projects I worked on, I found little difference in timing. I decided that I didn't want to drop indexes (it was ver8i) so I loaded the empty tables with indexes (and constraints) enabled...
    Stan

  • When rebuild table and index

    Hi,
    how to know if for a table we should rebuild table and index ?
    Many thanks.

    Safi, I would be less sure than that. There were many many very long threads in database general forum about that subject. If you observed that fact once, that is not very often the case.
    @OP,
    Assuming the question was not about performance, but more on AppDesigner side (because of rebuild table), what I can say is :
    1. Peoplesoft store all the storage definition for all the objects in its own metamodel tables
    2. when you are changing field definition (column's definition) or indexes definition, the new definition is stored in the Peoplesoft metamodel tables
    3. On the table/index build, AppDesigner compare the Peoplesoft metamodel definition for that particular object with in the Oracle (or what ever else database you are using) definition of that same object.
    4. If the defintions reported on step 3 are different, then AppDesigner will fill a file with all the (re)build statements of the objects you are rebuilding (and different).
    5. Finally, you just have to run the generated script.
    Of course, you can bypass the comparison by enforcing AppDesigner the (re)build the record/index in all cases, however, it is not always (do not say never) recommanded.
    Now, when you have to rebuild table (or record in AppDesigner's word) or indexes ? Basically, by the previous explanation I gave above, you could understand this is when you are changing a field/table/index definition through AppDesigner.
    Nicolas.

  • DB02 view is empty on Table and Index analyses  DB2 9.7 after system copy

    Dear All,
                 I did the Quality refresh by System copy export/import method. ECC6 on HP-UX DB29.7.
    After Import Runstats status n Db02 for Table and Index analysis was empty and all value showing '-1'. Eventhough
    a) all standard backgrnd job scheduled in sm36
    b) Automatic runstats are enabled in db2 parameters
    c) Reorgchk all scheduled periodically from db13 and already ran twice.
    4) 'reorgchk update statistics on table all' was also ran on db2 level.
    but Run stats staus in db02 was not getting updated. Its empty.
    Please suggest.
    Regards
    Vinay

    Hi Deepak,
    Yes, that is possible (but only offline backup). But for the new features like reclaimable tablespace (to lower the high watermark)
    it's better to export/import with systemcopy.
    Also with systemcopy you can use index compression.
    After backup and restore you can have also reclaimable tablespace, but you have to create new tablespaces
    and then work with db6conv and online table move to move one tablespace online to the new one.
    Best regards,
    Joachim

  • How to get return type as Table of Index by BINAR from Procedure using JDBC

    Hi,
    We have stored procedure which takes Varchar as input and rerurn muiltiple recored of type Table of index by BINARY
    We created the procedure with in a package, its header part like below:
    CREATE OR REPLACE PACKAGE emp_pkid_pkg
    AS
    TYPE r_emp IS RECORD ( employe_profile_id NUMBER
    , client_profile_id VARCHAR2(240)
    , email VARCHAR2(240)
    , terms_acp VARCHAR2(1)
    TYPE tp_emp_profile IS TABLE OF r_emp INDEX BY BINARY_INTEGER;
    PROCEDURE er_employe_prov_profile ( e_inxid employe_provision_instance.inxid%TYPE
    , e_emp_recs OUT tp_emp_profile
    END emp_pkid_pkg;
    This procedure has body part, wich has origial business logic like below.
    CREATE OR REPLACE PACKAGE BODY emp_pkid_pkg
    AS
    PROCEDURE pr_customer_prov_profile ( e_inxid employe_provision_instance.inxid%TYPE
    , e_emp_recs OUT tp_customer_provision_profile
    IS
    CURSOR c_emp_prov_instance ( c_guid employe_provision_instance.guid%TYPE )
    etc ...
    END emp_pkid_pkg;
    We could execute the below script from oracle client tool and get the response.
    DECLARE
    e_cust emp_pkid_pkg.tp_emp_profile;
    BEGIN
    emp_pkid_pkg.er_employe_prov_profile ( 'ef45t6543y98'
    , e_cust
    FOR i in e_cust.FIRST..e_cust.LAST LOOP
    DBMS_OUTPUT.PUT_LINE ( e_cust(i).employe_profile_id
    ||'#'|| e_cust(i).client_customer_id
    ||'#'|| e_cust(i).email
    ||'#'|| e_cust(i).term_acp);
    END LOOP;
    END;
    We have requirement to get the results from procedure usind JDBC callable statement call.
    We have tried to call the procedure via JDBC callable statement but it didn't work.
    We have constructed it like the following. It was throwing error "java.sql.SQLException: invalid column type: emp_pkid_pkg.tp_emp_profile
    CallableStatement cs2 = con.prepareCall("{call emp_pkid_pkg.er_employe_prov_profile(?,?)}");
    cs2.registerOutParameter(2, OracleTypes.CURSOR, emp_pkid_pkg.tp_emp_profile);
    cs2.setString(1,empId);
    Not sure whether I am doing the logic correctly. But i tryed with diff type. Still am getting same error like above.
    Please point me to the correct approach.
    Thanks
    Edited by: 921689 on 18-Mar-2012 17:20

    >
    We have requirement to get the results from procedure usind JDBC callable statement call.
    >
    Can't be done - the reason has nothing to do with JDBC so you are in the wrong forum.
    Repost in the PL/SQL forum and I can give you an example of what you have to do
    PL/SQL
    First the TYPEs you defined are PL/SQL types so can't be referenced outside PL/SQL; you need to define SQL types.
    Second you will need to use a procedure that returns a REF CURSOR or is a PIPELINED procedure. Since your procedure doesn't fall into either category you can't use it with JDBC to do what you want.
    If your query was a PIPELINED function then you could simply query it like it was a table. I have a PIPELINED function name 'get_emp' so this works.
    select * from table(get_emp(30));Post in the PL/SQL forum and I can give you the code for the procedure. I'm not going to clutter up this forum with inappropriate material.

  • Only a few of rows in the table are indexed without an error message

    When I executed the sql command:"create index ... indextype is ctxsys.context...",
    only a few of rows were indexed.
    The number of rows returned from query clause "select * from table where contains(field,'keyword') " is much less than that returned from "select * from table where field like '%keyword%'",though its speed is very fast.
    I checked the I table,the indexed words was few.The create index command ends in 3 mins on a table with more than 2 millions rows.
    The language setting is Chinese.
    The documentations about the intermedia text services on chinese languages is difficult to find.Can someone give me some or help me to solve this problem?
    Thanks in advance!

    I get the same thing in Mac OSX 10.7.3.  When I control-click on a preview and select 'open in camera raw' I get a dialog that says it's not enabled and requires a qualifying app to have been launched first:
    I've launched bridge and photoshop and if I open an app from the mini-bridge within photoshop, camera raw is launched.

  • JOIN ON 2 different sets of table depending on the result of first set

    <br>
    I have a query where it returns results. I want to join this query to
    2 different sets of table depending upon the first set has a result or not.
    if first set didnt had a results or records then check for the second set.
    SELECT 
    peo.email_address,
    r.segment1 requistion_num,
    to_char(l.line_num) line_num,
    v.vendor_name supplier, 
    p.CONCATENATED_SEGMENTS category,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') need_by_date,
    pe.full_name requestor,
    l.item_description,
    pr.segment1 project_num,
    t.task_number,
    c.segment1,
    c.segment2
    FROM po_requisition_headers_all r,
         po_requisition_lines_all l,  
    (SELECT project_id,task_id,code_combination_id, distribution_id,requisition_line_id,creation_date  FROM
    (SELECT project_id,task_id,code_combination_id,distribution_id,creation_date,requisition_line_id,ROW_NUMBER ()
    OVER (PARTITION BY requisition_line_id ORDER BY requisition_line_id,distribution_id ) rn
    FROM po_req_distributions_all pod) WHERE rn = 1) d,
    gl_code_combinations c,
    POR_CATEGORY_LOV_V p,
    per_people_v7 pe,
    PA_PROJECTS_ALL pr,
    PA_TASKS_ALL_V t,
    ap_vendors_v v,
    WHERE  d.creation_date >= nvl(to_date(:DATE_LAST_CHECKED,
    'DD-MON-YYYY HH24:MI:SS'),SYSDATE-1)
    AND
    l.requisition_header_id = r.requisition_header_id
    AND l.requisition_line_id = d.requisition_line_id
    AND d.code_combination_id = c.code_combination_id
    AND r.APPS_SOURCE_CODE = 'POR'
    AND l.category_id = p.category_id
    AND r.authorization_status IN ('IN PROCESS','PRE-APPROVED','APPROVED')
    AND l.to_person_id = pe.person_id
    AND pr.project_id(+) = d.project_id
    AND t.project_id(+) = d.project_id
    AND t.task_id(+) = d.task_id
    AND v.vendor_id(+) = l.vendor_id
    and r.requisition_header_id in(
    SELECT requisition_header_id FROM po_requisition_lines_all pl                    
    GROUP BY requisition_header_id HAVING SUM(nvl(pl.quantity,0) * nvl(pl.unit_price, 0)) >=100000)
    group by
    peo.email_address,
    r.REQUISITION_HEADER_ID,
    r.segment1 ,
    to_char(l.line_num) ,
    v.vendor_name, 
    p.CONCATENATED_SEGMENTS ,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') ,
    pe.full_name ,
    l.item_description,
    c.segment1,
    c.segment2,
    pr.segment1 ,
    t.task_number
    <b>I want to join this query with this first set </b>
    SELECT b.NAME, c.segment1 CO, c.segment2 CC,
              a.org_information2 Commodity_mgr,
              b.organization_id, p.email_address
         FROM hr_organization_information a, hr_all_organization_units b, pay_cost_allocation_keyflex c, per_people_v7 p
        WHERE a.org_information_context = 'Financial Approver Information'
          AND a.organization_id = b.organization_id
           AND b.COST_ALLOCATION_KEYFLEX_ID = c.COST_ALLOCATION_KEYFLEX_ID
           and a.ORG_INFORMATION2 = p.person_id
          AND NVL (b.date_to, SYSDATE + 1) >= SYSDATE
          AND b.date_from <= SYSDATE;
    <b>if this doesnt return any result then i need to join the query with the 2nd set</b>
    select lookup_code, meaning, v.attribute1 company, v.attribute2 cc,
                decode(v.attribute3,null,null,p1.employee_number || '-' || p1.full_name) sbu_controller,
                decode(v.attribute4,null,null,p2.employee_number || '-' || p2.full_name) commodity_mgr
                from fnd_lookup_values_vl v,
                per_people_v7 p1, per_people_v7 p2
                where lookup_type = 'BIO_FIN_APPROVER_INFO'
                  and v.attribute3 = p1.person_id(+)
                and v.attribute4 = p2.person_id(+)
                order by lookup_code
    How do i do it?
    [pre]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    <br>
    I have hard coded the 2 jon sets into one using UNION ALL but if one record exists in both sets how would i diferentiate between the 2 sets.
    COUNT(*) will only give the total records.
    if there r total 14
    suppose first set gives 12 records
    second set gives 4 records.
    But i want only 14 records which could 12 from set 1 and 2 from set 2 since set1  and set2 can have common records.
    SELECT 
    peo.email_address,
    r.segment1 requistion_num,
    to_char(l.line_num) line_num,
    v.vendor_name supplier, 
    p.CONCATENATED_SEGMENTS category,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') need_by_date,
    pe.full_name requestor,
    l.item_description,
    pr.segment1 project_num,
    t.task_number,
    c.segment1,
    c.segment2
    FROM po_requisition_headers_all r,
         po_requisition_lines_all l,  
    (SELECT project_id,task_id,code_combination_id, distribution_id,requisition_line_id,creation_date  FROM
    (SELECT project_id,task_id,code_combination_id,distribution_id,creation_date,requisition_line_id,ROW_NUMBER ()
    OVER (PARTITION BY requisition_line_id ORDER BY requisition_line_id,distribution_id ) rn
    FROM po_req_distributions_all pod) WHERE rn = 1) d,
    gl_code_combinations c,
    POR_CATEGORY_LOV_V p,
    per_people_v7 pe,
    PA_PROJECTS_ALL pr,
    PA_TASKS_ALL_V t,
    ap_vendors_v v,
    WHERE  d.creation_date >= nvl(to_date(:DATE_LAST_CHECKED,
    'DD-MON-YYYY HH24:MI:SS'),SYSDATE-1)
    AND
    l.requisition_header_id = r.requisition_header_id
    AND l.requisition_line_id = d.requisition_line_id
    AND d.code_combination_id = c.code_combination_id
    AND r.APPS_SOURCE_CODE = 'POR'
    AND l.category_id = p.category_id
    AND r.authorization_status IN ('IN PROCESS','PRE-APPROVED','APPROVED')
    AND l.to_person_id = pe.person_id
    AND pr.project_id(+) = d.project_id
    AND t.project_id(+) = d.project_id
    AND t.task_id(+) = d.task_id
    AND v.vendor_id(+) = l.vendor_id
    and r.requisition_header_id in(
    SELECT requisition_header_id FROM po_requisition_lines_all pl                    
    GROUP BY requisition_header_id HAVING SUM(nvl(pl.quantity,0) * nvl(pl.unit_price, 0)) >=100000)
    group by
    peo.email_address,
    r.REQUISITION_HEADER_ID,
    r.segment1 ,
    to_char(l.line_num) ,
    v.vendor_name, 
    p.CONCATENATED_SEGMENTS ,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') ,
    pe.full_name ,
    l.item_description,
    c.segment1,
    c.segment2,
    pr.segment1 ,
    t.task_number
    UNION ALL
    SELECT 
    r.segment1 requistion_num,
    to_char(l.line_num) line_num,
    v.vendor_name supplier, 
    p.CONCATENATED_SEGMENTS category,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') need_by_date,
    pe.full_name requestor,
    l.item_description,
    pr.segment1 project_num,
    t.task_number,
    c.segment1,
    c.segment2
    FROM po_requisition_headers_all r,
         po_requisition_lines_all l,  
    (SELECT project_id,task_id,code_combination_id, distribution_id,requisition_line_id,creation_date  FROM
    (SELECT project_id,task_id,code_combination_id,distribution_id,creation_date,requisition_line_id,ROW_NUMBER ()
    OVER (PARTITION BY requisition_line_id ORDER BY requisition_line_id,distribution_id ) rn
    FROM po_req_distributions_all pod) WHERE rn = 1) d,
    gl_code_combinations c,
    POR_CATEGORY_LOV_V p,
    per_people_v7 pe,
    PA_PROJECTS_ALL pr,
    PA_TASKS_ALL_V t,
    ap_vendors_v v,
    fnd_lookup_values_vl flv,
    per_people_v7 p1,
    per_people_v7 p2
    WHERE  d.creation_date >= nvl(to_date('11-APR-2008',
    'DD-MON-YYYY HH24:MI:SS'),SYSDATE-1)
    AND
    l.requisition_header_id = r.requisition_header_id
    AND l.requisition_line_id = d.requisition_line_id
    AND d.code_combination_id = c.code_combination_id
    AND r.APPS_SOURCE_CODE = 'POR'
    AND l.org_id = 141
    AND l.category_id = p.category_id
    AND r.authorization_status IN ('IN PROCESS','PRE-APPROVED','APPROVED')
    AND l.to_person_id = pe.person_id
    AND pr.project_id(+) = d.project_id
    AND t.project_id(+) = d.project_id
    AND t.task_id(+) = d.task_id
    AND v.vendor_id(+) = l.vendor_id
    AND flv.attribute1=c.segment1
    AND flv.attribute2=c.segment2
    AND flv.lookup_type = 'BIO_FIN_APPROVER_INFO'
    and flv.attribute3 = p1.person_id(+)
    and flv.attribute4 = p2.person_id(+)
    and r.requisition_header_id in(
    SELECT requisition_header_id FROM po_requisition_lines_all pl                    
    GROUP BY requisition_header_id HAVING SUM(nvl(pl.quantity,0) * nvl(pl.unit_price, 0)) >=100000)
    group by
    r.REQUISITION_HEADER_ID,
    r.segment1 ,
    to_char(l.line_num) ,
    v.vendor_name, 
    p.CONCATENATED_SEGMENTS ,
    to_char(round((nvl(l.quantity, 0) * nvl(l.unit_price, 0))),'99,999,999,999.99'),
    TO_CHAR(l.need_by_date,'MM/DD/YYYY') ,
    pe.full_name ,
    l.item_description,
    c.segment1,
    c.segment2,
    pr.segment1 ,
    t.task_number

  • Report to find all table and index sizes

    Hi all,
    Good day..
    Is there any report.sql or so to find out the sizes of all the tables and indexes in a database.
    thanks,
    baskar.l

    1.To get table size
    What will be the table size if?
    <or>
    break on report
    set line 200
    COMPUTE SUM LABEL "Total Reclaimable Space" OF "KB Free Space" ON REPORT
    column "Table Size" Format a20
    column "Actual Data Size" Format a20
    column "KB Free Space" Format "9,99,999.99"
    select table_name,
    round((blocks*8),2)||'kb' "Table size",
    round((num_rows*avg_row_len/1024),2)||'kb' "Actual Data size",
    pct_free,
    round((blocks*8),2) - (round((blocks*8),2)*pct_free/100) - (round((num_rows*avg_row_len/1024),2)) "KB Free Space"
    from user_tables
    where round((blocks*8),2) - (round((blocks*8),2)*pct_free/100) - (round((num_rows*avg_row_len/1024),2)) > 0
    order by round((blocks*8),2) - (round((blocks*8),2)*pct_free/100) - (round((num_rows*avg_row_len/1024),2)) desc
    2.To get index size
    How to size the Index
    Hth
    Girish Sharma

  • Missing Tables and Indexes greyed out in DBACOCKPIT

    Hi All,
    I use Solution Manager 7.01 with MS SQL Server 2008 DB.
    I want to monitor with DBACOCKPIT a MS SQL Server 2005 DataBase of a SAP BPC 5.1.
    I connected the DB but in DBACOCKPIT some functionality are greyed out.
    I want to use in Diagnostics section the "MISSING TABLES AND INDEXES" function but this command is greyed out.
    Is it possible to use this function?
    Please, help me!
    Regards,
    Alessandro

    Hi,
    Gray color means that screen is disabled for any reason (authorization, SQL Server release, monitoring remote, etc).
    I believe, those items cannot be monitored unless these limitations are sorted out.
    Please refer to the Document "The SAP DBA Cockpit for Microsoft SQL Server" in SDN.
    You can get the status about the restriction in the bottom of dbacockpit screen.
    Thanks,
    Jagan
    Edited by: jagadheeshan govindasamy on Sep 16, 2009 1:03 PM

  • Missing Tables and Indexes in 3.5

    Hi,
    when i am executing Tcode DB02 then under Missing Tables and Indexes i find 35 Indexes as not created.
    can anybody tell me what does that signify. is this a issue if so how to fix it.
    Indexes not created
    ADCP-I04
    ADCP-I03
    ADCP-I02
    ADCP-I01
    ADCPS-I01
    ADCPS-I02
    ADCPS-I03
    ADCPS-I04
    ADRC-I14
    ADRC-I11
    ADRC-I05
    ADRC-I02
    ADRC-G
    ADRP-I01
    ADRP-I02
    ADRP-I03
    ADRP-I04
    ADRP-I07
    ADRP-I08
    ADRP-I09
    ADRV-I01
    BUT000-PER
    CDHDR-001
    CDHDR-002
    CRMD_ORDERADM_I-PKI
    CRMD_ORDERADM_I-DES
    ISSUE_RELATION-001
    NAST-ADQ
    RMPS_T_RESUB-RAG
    RMPS_T_RESUB-RCU
    SSPICSPRHD-S02
    SSPICSTRHEAD-S01
    SSPICSTRPL-FLD
    STXH-TDN
    SWBRULECOM-RSY
    Rakesh

    Hi Rakesh,
    First thing this is not an issue but an information that says that these indexes are not be created in the System.
    This option Indexes not created is an SAP table maintained from Dev to Prod just to indicate that these indexes cannot be created.
    That's the reason why u have a green mark beside them and this will make clear for you that this is not an issue.
    Hope it helps!!!!
    Thanks & Regards,
    Neelesh Jain.

Maybe you are looking for