Perf.Tuning

Hi everybody,
Iam new to this oracle sql tuning.
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 2 0
Execute 46 0.42 4.61 717 47066 4332 6049
Fetch 0 0.00 0.00 0 0 0 0
total 47 0.42 4.61 717 47066 4334 6049
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer goal: FIRST_ROWS
How can i know where to tune my insert statement based on above part of trace file section?
Edited by: Mr. Murali on Jan 22, 2010 1:12 AM
Edited by: Mr. Murali on Jan 22, 2010 1:15 AM

Hi
please find the requested details.
INSERT INTO WRK(.....)
(SELECT ......
   FROM T_PT C,VL B, T_PRF A
  WHERE A.NF = :B4
    AND B.NVL = C.NVL
    AND ( (:B3 = 'Y') OR
        ( NVL(C.NCAT,-1) = (SELECT NVL(MAX(NCAT),-1)
                              FROM T_PT
                             WHERE NF = :B4
                               AND NVL = B.NVL
                               AND CRV IN ('B','F', 'E', 'V') AND QNT <> 0)))
    AND C.CRV IN ('B','F', 'E', 'V')
    AND A.NF = C.NF
    AND DECODE(:B2 ,'Y',C.QNTDE,'N',C.QNT)<> 0
  GROUP BY :B1 , A.NF , B.NVL , C.CRV )
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.00       0.00          0          0          2           0
Execute     46      0.42       4.61        717      47066       4332        6049
Fetch        0      0.00       0.00          0          0          0           0
total       47      0.42       4.61        717      47066       4334        6049
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer goal: FIRST_ROWS
unable to set optimizer goal
ORA-01986: OPTIMIZER_GOAL is obsolete
parse error offset: 33
Rows     Execution Plan
      0  INSERT STATEMENT   GOAL: FIRST_ROWS
      0   HASH (GROUP BY)
      0    FILTER
      0     NESTED LOOPS
      0      NESTED LOOPS
      0       NESTED LOOPS
      0        TABLE ACCESS   GOAL: ANALYZED (BY INDEX ROWID) OF
                   'PRF' (TABLE)
      0         INDEX   GOAL: ANALYZED (UNIQUE SCAN) OF 'I_PRFPR'
                    (INDEX (UNIQUE))
      0        INDEX   GOAL: ANALYZED (UNIQUE SCAN) OF 'I_DFPR'
                   (INDEX (UNIQUE))
      0       TABLE ACCESS   GOAL: ANALYZED (BY INDEX ROWID) OF 'PT'
                  (TABLE)
      0        INDEX   GOAL: ANALYZED (RANGE SCAN) OF 'I_PTPR'
                   (INDEX (UNIQUE))
      0      TABLE ACCESS   GOAL: ANALYZED (BY INDEX ROWID) OF
                 'VL' (TABLE)
      0       INDEX   GOAL: ANALYZED (UNIQUE SCAN) OF 'I_VLNVL'
                  (INDEX (UNIQUE))
      0     SORT (AGGREGATE)
      0      TABLE ACCESS   GOAL: ANALYZED (BY INDEX ROWID) OF 'PT'
                 (TABLE)
      0       INDEX   GOAL: ANALYZED (RANGE SCAN) OF 'I_PTPR'
                  (INDEX (UNIQUE))and can you please tell me how to understand or read the explain plan output also?
regards,
murali
Edited by: Mr. Murali on Jan 22, 2010 1:33 AM
Edited by: Mr. Murali on Jan 22, 2010 1:34 AM

Similar Messages

  • Oracle VM documents (perf tuning, monitoring, metrics, capacity planning)

    Hi,
    Does anyone has any document on Oracle VM performance tuning, capacity planing and monitoring.
    I have Oracle VM environment with two virtual domains, each has one Oracle database running. I have been asked to monitor performance, identify performance metrics at OS/VM level (for memory, cpu, IO). If required, estimate additional hardware (Capacity Planning).
    Thanks,
    Neeraj

    Without sar utility (sysstat RPM, i'm pretty sure it is not included in OracleVM) you are pretty out of luck. As OracleVM is based on OEL5 you could try to install sysstat RPM from OEL5.

  • Perf tuning issue with a query involving between clause

    Hi all,
    I am getting issues with performance when I try to execute this query. Given below the query and it is going for a full table scan. I think the problem is with the between clause. But I dont know how to resolve this issue
    SELECT psm.member_id
    FROM pre_stg_member psm
    WHERE psm.map_tran_agn BETWEEN :start_transaction_agn and :end_transaction_agn
    and psm.partition_key = :p_partition_key;
    Having composite index on map_tran_agn and partition_key.
    Please help me in this regard.
    Thanks,
    Swami

    Please consider the following when you post a question.
    1. New features keep coming in every oracle version so please provide Your Oracle DB Version to get the best possible answer.
    You can use the following query and do a copy past of the output.
    select * from v$version 2. This forum has a very good Search Feature. Please use that before posting your question. Because for most of the questions
    that are asked the answer is already there.
    3. We dont know your DB structure or How your Data is. So you need to let us know. The best way would be to give some sample data like this.
    I have the following table called sales
    with sales
    as
          select 1 sales_id, 1 prod_id, 1001 inv_num, 120 qty from dual
          union all
          select 2 sales_id, 1 prod_id, 1002 inv_num, 25 qty from dual
    select *
      from sales 4. Rather than telling what you want in words its more easier when you give your expected output.
    For example in the above sales table, I want to know the total quantity and number of invoice for each product.
    The output should look like this
    Prod_id   sum_qty   count_inv
    1         145       2 5. When ever you get an error message post the entire error message. With the Error Number, The message and the Line number.
    6. Next thing is a very important thing to remember. Please post only well formatted code. Unformatted code is very hard to read.
    Your code format gets lost when you post it in the Oracle Forum. So in order to preserve it you need to
    use the {noformat}{noformat} tags.
    The usage of the tag is like this.
    <place your code here>\
    7. If you are posting a *Performance Related Question*. Please read
       {thread:id=501834} and {thread:id=863295}.
       Following those guide will be very helpful.
    8. Please keep in mind that this is a public forum. Here No question is URGENT.
       So use of words like *URGENT* or *ASAP* (As Soon As Possible) are considered to be rude.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Orcale B2B perf tuning for large documents

    In http://www.b2bgurus.com/2008/02/large-edi-file-processing.html, the following settings are suggested to handle large EDI documents. Does any one has more information on how these settings work?
    oracle.tip.adapter.b2b.sqltablelock=false
    oracle.tip.adapter.b2b.edi.mergeMsgSize=500
    oracle.tip.adapter.b2b.qMsgRatio=20
    Thanks
    Bala

    Without sar utility (sysstat RPM, i'm pretty sure it is not included in OracleVM) you are pretty out of luck. As OracleVM is based on OEL5 you could try to install sysstat RPM from OEL5.

  • Performance tuning 1Z0-054 Study material

    I was trying to find LEGITIMATE study material out there for the perf tuning certification but all I can see is that all too familiar sea of braindump copycat sites.
    I want a legitimate source like Transcenders but unfortunately they don't have 1Z0-054 study guides. The self study oracle sells is a bit of a rip off, no offense. I am just a regular joe trying to get a certification and im not about to shell out $1600 for a crappy guide that wont prepare me ( like the oracle ones). The transcenders are reasonably priced but as I said before they dont have one for this test.
    http://www.transcender.com/certprep/oracle/11g-dba.kap
    Cheers!

    Javier wrote:
    I was trying to find LEGITIMATE study material out there for the perf tuning certification but all I can see is that all too familiar sea of braindump copycat sites.
    I want a legitimate source like Transcenders but unfortunately they don't have 1Z0-054 study guides. The self study oracle sells is a bit of a rip off, no offense. I am just a regular joe trying to get a certification and im not about to shell out $1600 for a crappy guide that wont prepare me ( like the oracle ones). The transcenders are reasonably priced but as I said before they dont have one for this test.
    http://www.transcender.com/certprep/oracle/11g-dba.kap
    Cheers!With 1z0-054 you are into a heavyweight SQL Expert Exam.
    ... That really means your study plan needs to revolve arround seeing what the topic is, looking up the the relevant oracle online documentation, making nides, trying it out, then searching other sources such as forums and OTN articles, Oracle Magazine various perfromance tuning books.
    Thats a whole wealth of study material! But it does take a lot of time and effort to sor through, and a directed study guide obviously would speed the process. But it is perfectly possille to slog it through those resources I've mentioned.
    ....... At the end of all that practice tests are useful to see where one it at .... but it is possible to go the longer way round!

  • Trying to get hold of my own course pdf for performance and tuning 11g, would oracle have list of classes i have taken?

    Tyring to find my own course pdf for oracle performance and tuning 11g that I took thru Oracle.
    I am studying for 1z0-064 currently using 10g perf tuning book.
    Would Oracle have list of Oracle classes that i have taken.
    If they do, is there any way to get hold of the pdf from the class that I took?
    I realize that this is a stretch.
    Roger

    Roger,
    This is a question that you'd need to contact Oracle University Support about - Oracle University Contact Information. They should be able to help you.
    Regards,
    Brandye Barrington
    Oracle Certification Program

  • Connection Pooling Questions

    Hi there,
    I was previously using the jferner/node-oracle module with the "generic-pool" (https://github.com/coopernurse/node-pool) module for connection pooling. 
    I'm trying out a setup with connection pooling with node-oracledb and have a few questions:
    * If an execute call fails with a connection i've retrieved from the pool, and I want to destroy that connection and remove it from the pool, how do I do that?  Is it done implicitly for me? 
    * Is there any way to validate a connection before it's used?  Or again, is this done implicitly?  Is there a way to toggle it on and off for perf tuning?
    * Is there any way to tune how frequently Oracle checks for idle connections?  (In generic-pool this was called reapIntervalMillis)
    * Is there any way to turn on any logging of how the connection pool behaves for development debugging?  I just want to make sure my setup is behaving as I think it should be.
    I'm making some good headway on getting the module working and it wasn't too difficult a conversion from node-oracle, either, that's good!
    -Matt

    You should release() bad connections to the pool so the pool can replace them.
    Validating connections is generally not worth it: between validation & use there could be a failure, so your executions need to handle errors anyway.  Why reduce scalability and performance by doing an extra "round trip" for validation? Also you can use FAN which can proactively clean up idle sessions in the session pool that are affected by the DB instance disappearing (due to network glitches etc).
    The client-side pool is handled by Oracle session pooling, so the algorithms are opaque.

  • Mod_wl_20.so, apache-2.0.45 with MPM worker

    Hi,
    we currently are using apache-2.0.45 with MPM prefork on Solaris 9. We plan to
    use MPM worker in the future. apache uses mod_wl_20.so to proxy requests for the
    Backend (WLS7 SP2). On http://httpd.apache.org/docs-2.0/misc/perf-tuning.html#compiletime
    they say "prefork:...it can be used with non-thread-safe third-party modules,...".
    As I understand it, this means: If using MPM worker, every module have to be thread-safe.
    The Question is: is mod_wl_20.so thread-safe or not, so that we can use MPM worker?
    Thanks
    Andreas

    Yes, actually what happened is that I was using WL 6.1SP2, and the plugin
    did work for releases lower or equal than version 2.0.44, now the problem is
    fixed with the last available plugin.
    Thanks for your support
    Luis
    "Eric Gross" <[email protected]> wrote in message
    news:3ebacf38$[email protected]..
    That should not be correct.
    Are you sure you are using the same plugin? You would get this message if
    you used any plugin prior to 6.1 SP4 or 7.0 SP2.
    Otherwise you should not get this error message when using the plugin from
    either of the above releases.
    Regards,
    Eric
    "Luis Esteban" <[email protected]> wrote in message
    news:3eb8d994$[email protected]..
    Here, with apache 2.0.44 it works fine, and we have no problem, but whenwe upgrade
    apache from 2.0.44 to 2.0.45 we get the following error
    httpd: module "mod_weblogic.c" is not compatible with this version ofApache (found
    20020612, need 20020903).
    Please contact the vendor for the correct version.
    Could you tell please me where to find a plugin suitable for the newapache version,
    or in the other hand, could you tell me how to workaround this problem.
    Thanks.

  • Hardware requirement for Oracle WebTier

    Hi everyone.
    I'm planning for webcenter portal site and the first task is sizing for hardware server. I have some document on Oracle public site that describe some information for Middleware server. But with WebTier I got nothing. Searching internet or this forum internal does not help.
    My site will serve 200 concurrent user and I neet to sizing hardware for it ?
    Can you give me some calculation for CPU, RAM resource ?
    Thank in advance.

    http://httpd.apache.org/docs/2.2/misc/perf-tuning.html - does not provide an exact answer, but gives you some idea as for what to watch for:
    "The single biggest hardware issue affecting webserver performance is RAM. A webserver should never ever have to swap, as swapping increases the latency of each request beyond a point that users consider "fast enough". This causes users to hit stop and reload, further increasing the load. You can, and should, control the MaxClients setting so that your server does not spawn so many children it starts swapping. This procedure for doing this is simple: determine the size of your average Apache process, by looking at your process list via a tool such as top, and divide this into your total available memory, leaving some room for other processes."

  • Performance Tuninng in OBIEE

    Hi Experts,
    I need get my hands dirty with perf. tuning. I have completed a few things in my checklist but they are mostly on the Oracle DB side, like Bit Map Indexes, Analyze Stats & Table Partitioning. Is there any documentation available for tuning on BI Server side ? Any white papers maybe ?
    Thanks a lot in advance.

    Here you go:
    http://download.oracle.com/docs/cd/E05554_01/books/PDF/AnyTuning.pdf
    http://www.rittmanmead.com/2008/11/28/thoughts-on-obiee-performance-optimization-diagnostics/
    Thanks! Award points if helpful/correct.

  • Logging Level

    hi,
    I have been following the below perf tuning url:
    http://www.oraclebidwh.com/2010/02/performance-tuning-in-obiee/
    I have been reviewing section3, regarding turing off logging, it states the following:
    +3) Turning off Logging+
    Logging can affect in performance  of  Oracle BI Server and can create large log files. Logging can be used in problem solving and trouble shooting problematic queries.  So when it is necessary then only set logging level to 0 to 2. Set log level greater than 2 is not recommended by Oracle.
    investigating via the admin tool, using security manager
    Manage > Security > Security manager
    We have some OBIEE users that have logging levels set at 2, some set at 3, some set at 4, and some set at 5.
    As an example, PUBLIC user is set at 4, Administrator is set at 5.
    Also, in the 10.1.3.4 docs http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf , on page 216 it states:
    NOTE: Logging levels greater than 2 should be used only with the assistance of Technical Support.
    So with having logging levels of 3, 4 , & even 5 will it cause performance issues?
    I'd be very grateful of the advice.
    & thanks in advance

    >
    So with having logging levels of 3, 4 , & even 5 will it cause performance issues?
    I'd be very grateful of the advice.
    & thanks in advanceYes, the BI-server will have to a lot of write actions to the server disk. This means it will have to 'wait' several times during the execution until the logbuffer is written to disk
    regards
    John
    http://obiee101.blogspot.com/
    http://obiee11g.com/

  • RAID Disk Layout advice for Hybrid OLTP/Batch app

    I was hoping for some advice from the community on my disk layout for a proposed upgrade to our Oracle setup (Windows 2003, JDE+Oracle9i, primarily OLTP/Batch extracts). Focusing purely from a hardware perspective, we're being given 14 disks to work with. I had initially thought that it was a lot, but when I start putting the spindles into RAID configurations, it doesn't give me a lot of room.<BR>
    <BR>
    <B>2 Disks RAID 1 (mirrored) for OS, App and Oracle Binaries<BR>
    2 Disks RAID 1 (mirrored) for 1 set of online redo log files<BR>
    2 Disks RAID 1 (mirrored) for archive log files<BR>
    8 Disks RAID 10 (mirrored and Striped) for all data/index/undo/temp files.<BR>
    ----------------------------------------------------------------------------------------------------------<BR>
    14 total disks</B><BR>
    <BR>
    My question is -- where would I put the other set of multiplexed redo log files? Hardware mirroring gives me fault tolerance against media corruption, but doesn't protect me against accidental deletion of the logs. I don't want to put the 2nd set on the OS drive because it's mixing sequential (100% read / write) and random access (OS paging, binaries).<BR>
    <BR>
    I also wanted to better understand how the LGWR and ARC0 processes work. From the Oracle Perf Tuning Guide, the LWGR writes to one member at a time, so it pays to have alternating log groups on 4 disks. We believe the ARC0 process reads only the primary member of the disk, yet the figure 8-1 in the above document shows an arrow from ARC# to both redo members. So how does it really behave? Does it actually read from one or both members? If it only ever writes to the second set and never reads it, where would I put it? Could I even put the second set of online redo's into the data/index/undo/temp set of disks?<BR>
    <BR>
    I've already been perusing the various AskTom articles and read the Oracle whitepapers (#1and #2) on S.A.M.E. (stripe and mirror everything), and they all make some good suggestions -- it's just with this few disks, I find myself having to make compromises. Any help or suggestions on a better layout would be appreciated.

    Hello Carl,
    You have to implement this SAP Note - 1313075 to meet your purpose.
    Create variant under this program - RFFOAVIS_FPAYM and assign the same in printjob tab in F110.Also you have to maintain the sender mail id details in FSAP T code and receiver mail id details in the concern vendor master data.
    I hope it helps else revert us with your query.
    Thanks & Regards,
    Lakshmi S

  • HEADSUP: 1z1-134 Oracle WebLogic Server12c: Advanced Administration II entering beta ...

    (Oracle WebLogic Server 12c: AdvancedAdministration II | Oracle Certification Exam
    Heads up : This is not authorative yet; and anything could change, but as a heads up 1z[01]-134 Seems to be entering beta on 22nd November. Not (yet) on beta exams page at time of this post.
    Update: This exam is now on the beta exams page (.along with database 12c perf tuning 1z1-064 going beta )
    Message was edited by: bigdelboy (as http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=182 updated ) 13nov2014

  • Insert(put) performance..

    i want to put 1000 million data with berkeley db..
    when row count is over 4 million, insert elapsed time is quite slow...
    a data consists of key(long 8bytes) and String (about 100bytes)
    i set to 'je.log.fileMax' 64M and cache size 1024M
    can i tune it up ?

    Hi,
    If you're assigning random keys, this FAQ could help:
    http://www.oracle.com/technology/products/berkeley-db/faq/je_faq.html#35
    The other FAQs on performance and the many posts on perf tuning on the forum may also help.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Several process listening to the same port number

    I hope I am in the right form (it's the third one I am trying).
    I have server/client application, one server that handles a lot of clients. In general when ever a client approach the server, the server create new process (fork()) that handle the client request.
    I would like to know if there is a problem that several processes (parent and several child processes) are listening to the same port number, is it better to create thread that would handle the client request, instead of creating a child process?
    To better understand the problem I create very simple client and server application.
    This is a part of the server application:
    The server creates a socket, bind to this socket and then listen to this socket.
    After that in a while (1) loop he waits for accept:
    int sockclient = accept(sockId,(struct sockaddr*)(&client_addr), &addrLen);
    When the server get a sockclient (client ask for service) he create new process (fork()) that handle the client request.
    struct sockaddr_in addr, client_addr;
    bzero(&addr,sizeof(struct sockaddr_in));
    addr.sin_family = PF_INET;
    addr.sin_port = 8865;
    bcopy(ent->h_addr_list[0],&(addr.sin_addr), ent->h_length);
    // bind
    bind(sockId,(struct sockaddr*)(&addr), sizeof( struct sockaddr_in));
    If it would help I can add the all code.
    If you knows about articles that talked about this subject It might help too (I am talking about advantages and disadvantages of thread against process but regardless of sockets).

    You might look at this article
    http://httpd.apache.org/docs-2.1/misc/perf-tuning.html
    under the section "accept Serialization - multiple sockets".

Maybe you are looking for