Tune Oracle tables for performance

Hi,
I am using an application that will dynamically insert network
traffic data into about a dozen tables on a 9i database. Since I
am fairly new to Oracle, I would like to know the best method for
tuning/configuring these tables for best possible performance.
What I'm looking for is how I can configure Space, Extents, Free
Lists, etc. for these tables so I can realize the best possible
performance.
Thank you,

I know some terms
1) Setting the block size in inti.ora
2) Putting Rollback segement files into different database and datafiles into different disk storage.
3) Creating temp table space with free option
4) Clustering your tables and indexing them
5) Quering your data with query Hints
But for exact statitstics you should got asktom.oracle.com. This person Tom, is might have best solution for you.
If you get the reply plz mail me at [email protected]

Similar Messages

  • Design table for performance (order - ordervisibility)

    I have tables like order, orderitem, etc. and requirements for order visibility:
    - One order can be seen by many users
    - One user can see many orders
    create table order (orderid number, ...);
    create table ordervisibility (orderid number, username varchar2(20));
    Order size is estimated to be >=500Mio. Application is a data warehouse with reporting.
    The relationship order - user will be skewed: some users will be allowed to see many orders while some will only see a small percentage.
    How should we design the system for performance?
    We think about creating table ordervisibility as index-organized table. Or are there better approaches like partitioning? Or is the approach with tables order na ordervisibility already suboptimal?

    <<<What is your 4 digit Oracle version (result of SELECT * FROM V$VERSION)?
    The system does not exist yet. Version will be derived from the requirements or most likely the latest version (e.g. 11.2.0.3 EE with partitioning option)
    <<<Are you wanting to prevent users from seeing other orders? You said one user can see many orders but are they NOT supposed to see other orders?
    Yes, you are right. We want to prevent other users to see orders that do not belong to them.
    <<<What determines which orders a user is allowed to see? A state code, a region code?
    The user in the OLTP system decides who can see orders (the user creating the order and maybe other users he selects)
    <<<Does this database, data and system already exist or is this a new design? Are there any other security mechanisms already in place? Is any of your data currently encrypted?
    The system does not exist yet. No other security mechanisms are planned (e.g. encryption).
    VPD is considered to implement the visibility (or alternatively views.)

  • Migration of huge data from norm tables to denorm tables for performance

    We are planning to move the NORM tables to DENORM tables in Oracle DB for a client for performance issue. Any Idea on the design/approach we can use to migrate this HUGE data (2 billion records/ 5TB of data) in a window of 5 to 10 hrs (Or minimum than that also).
    We have developed SQL that is one single query which contains multiple instance of same table and lots of join. Will that be helpful.

    Jonathan Lewis wrote:
    Lother wrote:
    We are planning to move the NORM tables to DENORM tables in Oracle DB for a client for performance issue. Any Idea on the design/approach we can use to migrate this HUGE data (2 billion records/ 5TB of data) in a window of 5 to 10 hrs (Or minimum than that also).
    We have developed SQL that is one single query which contains multiple instance of same table and lots of join. Will that be helpful.Unfortunately, the fact that you have to ask these questions of the forum tells us that you don't have the skill to determine whether or not the exercise is needed at all. How have you proved that denormalisation is necessary (or even sufficient) to solve the client's performance problems if you have no idea about how to develop a mechanism to restructure the data efficiently ?
    Regards
    Jonathan LewisYour brutal honesty is certainly correct. Another thing that is concerning to me is that it's possible that he's planning on denormalizing tables that are normalized for a reason. What good is a system that responds like a data warehouse but has questionable data integrity? I didn't even know where to begin with asking that question though.

  • Oracle Table for 'Date Effectivity To' field in Bill Of Materials Screen

    Hi Apps Gurus,
    In Oracle EBS Bill Of Materials Screen under the tab Date Effectivity, there is column: 'To' which indicates the end date upto which the BOM is active.
    I want to know the base table in which this Date Effectivity To field is located in , i tried help--> diagonostics but this particular field is not present in the view given.
    Almost all fields at BOM component level are present in bom_inventory_components table except this effective date to field.
    Please advice as to in which table is this field present.
    Thanks,
    RG

    Hi RG,
    These both fields EFFECTIVITY_DATE & DISABLE_DATE are available in base table : BOM_COMPONENTS_B
    SELECT EFFECTIVITY_DATE, DISABLE_DATE FROM BOM_COMPONENTS_B WHERE BILL_SEQUENCE_ID = :p_bill_seq_id
    HTH
    Sanjay

  • Tuning Oracle Integration Adapters for Performance

    Hi,
    I would like to know about tuning Oracle Applications adapter for performnace .
    I got a document for performance tuning of BPEL PM. I am searching for similar kind of document which helps to fine tune the adapters for performance.
    Please help me
    Regards,
    Sundar

    Hi,
    Oracle JDeveloper 11g 11.1.2... doesn't include the SOA and WebCenter pieces - to use these components you'll need to download Oracle JDeveloper 11.1.1.6.0...
    http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdeveloper11116-1377208.html
    You will also need the Fusion Middleware Extensions for JDeveloper... Oracle SOA Composite Editor...
    http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml
    Hope this helps...
    Cheers,
    Vlad

  • Oracle Table Indexes

    Hello.
    I'm in the process of putting some indexes on tables for performance improvement of queries run.
    eg the foll query -
    SELECT MPH_ENTITY_ID, MPH_PRICE_DT, MPH_STCK_EXCHNG_ID, BPT_BP_SHRT_NM, MPH_SEC_ID, SEC_SEC_NM, NMS_SEC_NUM, MPH_PRICE_TYP, MPH_MKT_PRC, MPH_VENDOR, MPH_PRICE_TIME, MPH_EXCHNG_RATE, MPH_DENOM_UNIT, MPH_LOCL_CNC_EQVU, MPH_INDCTV_PRC_IND, MPH_VLM_TRDD, MPH_MRKT_CPTL, MPH_MKT_PRICE_HSTRY_VER, BPT_BSNS_PRTNR_VER, SEC_SEC_MASTER_VER FROM MPH_MKT_PRICE_HSTRY left outer join NMS_NUM_SCHEME on NMS_SEC_ID=MPH_SEC_ID AND NMS_NUM_SCHM='CUSIP',BPT_BSNS_PRTNR,SEC_SEC_MASTER WHERE MPH_ENTITY_ID=BPT_ENTITY_ID AND MPH_STCK_EXCHNG_ID=BPT_BP_ID AND MPH_SEC_ID=SEC_SEC_ID ORDER BY MPH_SEC_ID DESC
    The Explain plan in PL/SQL developer shows "Table Access Full" scan for 2 tables - BPT_BSNS_PRTNR AND MPH_MKT_PRICE_HSTRY.
    I created the foll 2 indexes and now the explain plan shows "index fast full" scan on these tables -
    1) create index mph_3 on mph_mkt_price_hstry(MPH_ENTITY_ID, MPH_PRICE_DT, MPH_STCK_EXCHNG_ID, MPH_SEC_ID, MPH_PRICE_TYP, MPH_MKT_PRC, MPH_VENDOR, MPH_PRICE_TIME, MPH_EXCHNG_RATE, MPH_DENOM_UNIT, MPH_LOCL_CNC_EQVU, MPH_INDCTV_PRC_IND, MPH_VLM_TRDD, MPH_MRKT_CPTL, MPH_MKT_PRICE_HSTRY_VER);
    2) create index BPT_8 on bpt_bsns_prtnr(BPT_BP_SHRT_NM,BPT_BSNS_PRTNR_VER,BPT_ENTITY_ID,BPT_BP_ID);
    My question here is that I have included columns in the select clause also in the indexes and the scan type has improved from table access full to index fast full scan. Is this correct ? Should select columns be also a part of indexes ? My take was that indexes contain columns in "where" clause or columns where joins are implemented and not select columns.
    Please suggest.

    An Index that includes all the columns of the SELECT clause with those of the WHERE clause is a "skinny table".
    Using such an Index avoids accesses to the table entirely.
    There are situations where the DBA or Designer may choose to create such an Index.
    Downsides ?*
    If there are too many columns in the Index, the Index itself may become too large. When the index is too large for Oracle to be able to cache blocks, Oracle may have to undertake multiple single block read calls to the OS if accessing many rows. This can make the index counter-productive.
    Index maintenance overheads increase -- the probability that the index also has to be updated with every UPDATE statement on the table increases. Also, every INSERT and DELETE makes that much more effort updating the Index Leaf Blocks (ie the size of the update to the Index is larger, the Index Key being larger).
    Some queries might be executed using Skip Scan Search of the index when, properly, it might have made more sense to put those query columns in a seperate index.

  • Oracle Configurations for High User Volume

    Hi,
    Can anyone point me to some resources which discusses choosing a suitable Oracle configuration ?
    Like what configurations are best suited for a high user(5K to 10 concurrent logged in users) Architecture ?
    Regards,
    Amila.

    Hi,
          We can call the stored procedure using receiver adapter using ccBPM, we can follow different approaches for reading the data in this case.
    a) In this  a ccBPM instance needs to be triggered using some dummy message, after receiving this message the ccBPM can make  a sync call to the Oracle database the store procedure(this can be done using the specific receiver data type strucure), on getting the response message the ccBPM  can then proceed with the further steps.The stored procedure needs to be optimized for improving the performance as the mapping complexity will largely get affected by the structure in which the stored procedure returns the message.Prioritization of the objects can be handled in the stored procedure.
    b) In this a ccBPM instance can first read data from the header level table, then it can make subsequent sync calls to Oracle tables for reading data from the child tables.This approach is less suitable for this interface as the number child tables is big.
    Pravesh.

  • Insert /delete data from SAP Z table to Oracle table and opposite

    Hi,
    Can u help me write this FM from the SAP side?
    So, I have two tables ZTABLE in SAP and Oracle table ORAC.
    Let's put three columns in each of them, for example
    TEL1
    TEL2
    ADRESS
    NAME
    where TEL field is primary from ZTABLE to ORAC...
    (in FM there shoud be abap code for writing data in ZTABLE after we press some pushbutton made in sap screen painter..)
    for example, when we write new record in ZTABLE
    00
    112233
    Street 4
    Name1
    this data shoud be inserted in Oracle table ORAC.
    when we write new record in Oracle table for example
    01
    445566
    New Street
    Name2
    this data shoud be inserted in ZTABLE.
    Field TEL1 can be only of two values 01 or 02, other combination is not valid...
    I must have all data from Oracle table ORAC in ZTABLE and opposite.
    It should be the same scenario for DELETE...
    And this communication should be online between sap and table in oracle database...
    Can u help me from sap side? and give idea how to configure on oracle side??
    Thanks a lot,
    Nihad

    I dont know if we can directly connect to a oracle database ( wait for the answers from others on this )
    but in XI we have the JDBC adaptor to insert and retrieve data.
    so for the outbound from SAP the flow can be something like this (with XI in landscape):
    1) You have a screen to maintain a new entry / delete an entry
    2) On save , this record gets saved or deleted from the Ztable in SAP
    3)) In the same screen you can call a proxy class-method (generated using SPROXY transaction ) to send the record to XI.
    4) XI to format it and insert into the oracle table
    Mathews

  • Updating Oracle table with info from Sybase query

    I hope this is the correct forum for this question.
    I am fairly new to Java and JDBC. I am trying to figure out what the best method for updating information in Oracle tables with data from a Sybase table. I would prefer to use Oracle’s transparent gateway but this is not an option my company will pay for so I am creating a java stored procedure and using JDBC to connect to the Sybase database.
    The process I think I need to go thru is
    1.     Query an Oracle table to get the records that need to be updated and the “key” information to query the Sybase table with.
    2.     Use that result to query the Sybase database to get the fields that need to be updated in the Oracle table for those records.
    3.     Update the records on the Oracle table with the data from the Sybase query.
    I know I can just do this procedurally, row-by-row, but I was wondering if anyone knows of a way to accomplish this with SQL and no loops. Is there a way to make a result set available as a “SQL table” for another JDBC query?
    Basically what I would like to do is:
    OraQuery = “ select sybinfo from sometable where updated_date = null”;
    Statement orastmt1 = OraConn.createStatement();
    ResultSet Orars1 = orastmt1.executeQuery (OraQuery);
    SybQuery = “select update_date, sybinfo from sybtable where sybinfo = Orars1.sybinfo”;
    Statement sybstmt = SybConn.createStatement();
    ResultSet Sybrs = sybstmt1.executeQuery (SybQuery);
    OraUpdate = “update (select update_date from sometable, Sybrs where sometable.sybinfo = Sybrs.sybinfo) set update_date = Sybrs.update_date”;
    Statement orastmt2 = OraConn.createStatement();
    ResultSet Orars2 = orastmt2.executeQuery (OraUpdate);
    This may not be possible but if anyone has done something similar and wouldn’t mind sharing I would appreciate it. If there is a “better” way of accomplishing this I am open to suggestions.
    Thanks

    you can try using cachedRowSet() for the Oracle side query.
    The rows in this could be populated using the sybase side query's resultset and then all of this could updated into Oracle in one shot.

  • Integrating Essbase cubes with Oracle Tables in BI Server

    I'm trying to link together data from an aggregated Essbase Cube with some static table data from our oracle system. Both the essbase and oracle data exist correctly in their own right in the physical, business and presentation levels. Aggragted data is client sales, static data is client details
    Within the OBIEE Administration tool I've tried to drag the physical oracle table for clients onto the clients essbase section in the business area, and it seems to work OK, until you try and report on them together and I get the following error:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 42043] An external aggregate is found in an outer query block. (HY000)
    Can anyone advise on what I'm doing wrong?
    Thanks

    Thanks Christian I found some very useful articles (one or two by you) - I'll have to look harder on the net before posting.
    One thing I found out, with respect to vertical federation, that others may benefit from, is that I fuond it much easier to start from the most detailed level and then attach the less detailed source rather start with the less detailed and add the additional on.

  • Parse XML Elements/Attributes from CLOB into Oracle Table

    Hi!
    I have an XML file (loaded into a CLOB) which I need to parse and have each individual element and attribute inserted into an oracle table for manipulation.
    Eg: XML File...
    <PERSON>
    <PER_ID changed="1">1</PER_ID>
    <SURNAME changed="1">MARTIN</SURNAME>
    <ADDRESS>
    <STREET_NO changed="1">1</STREET_NO>
    <POSTCODE changed="1">LE3 8RA</POSTCODE>
    </ADDRESS>
    </PERSON>
    There will only ever be one address.
    From this I need to extract
    * PER_ID and related changed attribute
    * SURNAME and related changed attribute
    * STREET_NO and related changed attribute
    * POSTCODE and related changed attribute
    and insert a single record into the table below:
    CREATE TABLE PERSON AS
    ( PER_ID VARCHAR2(10)
    , ID_CHANGED VARCHAR2(1)
    , SURNAME VARCHAR2(30)
    , ID_CHANGED VARCHAR2(1)
    , STREET_NO VARCHAR2(5)
    , ID_CHANGED VARCHAR2(1)
    , POSTCODE VARCHAR2(10) );
    Any assistance/advice would be very much appreciated. I've tried using DBMS_XMLSave / DBMS_XMLStore which works great at pulling in elements (PER_ID, SURNAME, etc) straight into the table but doesn't look at the changed attributes, and I need both.
    Thanks a million in advance to anyone who can crack this!!
    Jay

    Try looking at this thread
    Loading datafrom a PL/SQL table into the Database table

  • Oracle Analyzer or Some thing else ?(for performance & tunning)

    Hi
    Any body have idea about the tool Oracle Analyzer for performanace & tuning,i heard about this but i couldn't find any sort of documentation on this tool any where.Did this change
    from Oracle Analyzer to Some thing else?.
    Please help in this regard
    Thanks
    Sreeni

    dear sreenivasa kanneganti,
    this is the script to analyze the table and compute statistics
    cheers
    ANALYZE TABLE USER_NAME.TABLE_NAME COMPUTE STATISTICS
    from what I know statistics are used by the Oracle Optimizer
    (if it is set in CHOOSE mode, it is written in the init.ora)
    which stores these statistics in a dictionary of data
    If you want to check the integrity of data you have to use the clause VALIDATE_STRUCTURE
    Of course you have to have the grant to ANALIZE_ANY
    Remember to run the ANALYZE and COMPUTE STATISTICS at the end of
    the day, this because it takes a long time to run... ;-)
    If you want to ANALIZE a complete schema you should use the
    procedure DBMS_UTILITY.ANALIZE_SCHEMA
    cheers
    rjh

  • How to tune a table in oracle

    hi
    can anyone please help me in tunning a particular table in oracle which has millions of Record
    kindly help me for the procedure to tune the table...
    thanks
    Regards
    Misin

    What's the Oracle version?
    Does this table have LOB column ?
    Make sure it's on locally managed tablespace.
    Collect stats on the table and indexes if there is massive updates on the table.
    Actually it's not about tuning the particular table but tuning the queries that your application use to access the table.
    That in turn raise the question what's the nature of your application, is it DDS or OLTP application?
    Do you experience any performance issue related to this table at all?

  • Abap Logic for performance tuning not working when using Internal tables

    Hi,
    I wrote this piece of code that is working correctly that is select SUM of cost from DSO where Plant is the same for Sales Items.
    LOOP AT RESULT_PACKAGE INTO rp.
    SELECT SUM( /N/S_STRDCOST ) FROM /N/ADSP_DPIT00 INTO
    rp-/N/S_STRDCOST
    WHERE /N42/S_SALESITEM = rp-/N42/S_ITEMID AND /N42/S_PLPLANT EQ
    rp-/N42/S_SOURCE.
    MODIFY RESULT_PACKAGE FROM rp.
    Clear rp.
    ENDLOOP.
    Now I try to rewrite it for performance tunning using internal table  but I am getting 0 values. can't figure out whats the problem and been struggling fixing it.
    TYPES : begin of ty_DSO_TABLE,
             /N42/S_STRDCOST TYPE /N/ADSP_DSPC00-/N/S_STRDCOST,
             /N42/S_ITEMID TYPE /N/ADSP_DSPC00-/N/S_ITEMID,
           end of ty_DSO_TABLE.
    DATA: it_DSO_TABLE type hashed table of ty_DSO_TABLE with unique key
    /N/S_ITEMID,
         wa_DSO_TABLE type ty_DSO_TABLE.
    Field-symbols:  <rp> TYPE tys_TG_1.
    LOOP AT RESULT_PACKAGE assigning <rp>.
      clear wa_DSO_TABLE.
    Read table IT_DSO_TABLE into wa_DSO_TABLE with table key /N/S_ITEMID
      = <rp>-/N/S_ITEMID.
      if sy-subrc ne 0.
          select SUM( /N/S_STRDCOST )  into CORRESPONDING
          FIELDS OF wa_DSO_TABLE from
          /N/ADSP_DPIT00 WHERE /N/S_SALESITEM =  <rp>-/N/S_ITEMID AND
          /N/S_PLPLANT EQ <rp>-/N/S_SOURCE.
         if sy-subrc eq 0.
              <rp>-/N/S_STRDCOST = wa_DSO_TABLE-/N/S_STRDCOST.
         endif.
    endif.
    ENDLOOP.
    Any idea whats wrong with the code
    thanks

    Hi Vaidya,
    According to the code which you have written, there is no value in table IT_DSO_TABLE when you are trying to read the values.And after the read statement you have given a condition for sy-subrc. Hence the select statement is actually not even getting executed. *Also you have not assigned the final value back to the ResultPackage.*_
    So Kindly correct your code as follows:
    Data: wa_dso type ty_DSO_TABLE.
    LOOP AT RESULT_PACKAGE assigning <rp>.
    clear wa_DSO_TABLE.
    select SUM( /N/S_STRDCOST ) into CORRESPONDING
    FIELDS OF wa_DSO_TABLE from
    /N/ADSP_DPIT00 WHERE /N/S_SALESITEM = <rp>-/N/S_ITEMID AND
    /N/S_PLPLANT EQ <rp>-/N/S_SOURCE.
    if sy-subrc eq 0.
    <rp>-/N/S_STRDCOST = wa_DSO_TABLE-/N/S_STRDCOST.
    MODIFY RESULT_PACKAGE FROM <rp>.
    endif.
    ENDLOOP.
    Hope this helps you.
    Regards,
    Satyam

  • How to tune this query for the improve performance ?

    Hi All,
    How to tune this query for the improve performance ?
    select a.claim_number,a.pay_cd,a.claim_occurrence_number,
    case
    when sum(case
    when a.payment_status_cd ='0'
    then a.payment_est_amt
    else 0
    end
    )=0
    then 0
    else (sum(case
    when a.payment_status_cd='0'and a.payment_est_amt > 0
    then a.payment_est_amt
    else 0
    end)
    - sum(case
    when a.payment_status_cd<>'0'
    then a.payment_amt
    else 0
    end))
    end as estimate
    from ins_claim_payment a
    where a.as_of_date between '31-jan-03' and '30-aug-06'
    and ( a.data_source = '25' or (a.data_source between '27' and '29'))
    and substr(a.pay_cd,1,1) IN ('2','3','4','8','9')
    group by a.claim_number, a.pay_cd, a.claim_occurrence_number
    Thank you,
    Mcka

    Mcka
    As well as EXPLAIN PLAN, let us know what proportion of rows are visited by this query. It may be that it is not using a full table scan when it should (or vice versa).
    And of course we'd need to know what indexes are available, and how selective they are for the predicated you have in this query ...
    Regards Nigel

Maybe you are looking for

  • Strange problem with opening PDF's

    Hello, We have roughly 80 users at one location that use a terminal server session to access our medical software.  A certain group of four users that share a network printer have issues within the medical software when they try to open a scanned in

  • Dreamweaver 8 Certification Help

    Hi, I am new to this message borad and would like your loving guidance in regards to the Dreamweaver 8 Developer Exam. I have been working for 8 years now in client side and server side web development and I would like to get certified in everything

  • Oracle 9i Developer Suite Student Registration

    I can't install my Oracle 9i Developer Suite I received with my Guide to Oracle 9i book. The book instructs you to go to otn.oracle.com/books and click on the registration link for 9i, but there isn't one. There is a registration code listed there, b

  • Posting a readonly field

    Hello, I generated a create uix file based on a bc4j view object. Then I databinded a value to the field GeaendertVon. This value must not be changed by the user, but setting it to readonly="true" or rendered="false" (the preferred solution) gives th

  • CS6 download in UAE . . . with UK credit card

    Just moved to Dubai from UK for 3 years, bought a new mac and want to download CS6 Design & Web. The Middle East online Adobe store only allows for a UAE billing address and my credit cards are registered in UK at my home address. The UK online store