Step for performance tuning in oracle 10g
hi,
i want to know the step of persformance tuning and sql tuning.
I'd suggest you to refer to documentation: [Oracle Database 2 Day + Performance Tuning Guide 10g Release 2 (10.2)|http://download.oracle.com/docs/cd/B19306_01/server.102/b28051/toc.htm]
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com
[Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]
Similar Messages
-
Can anyone plz tell me the steps for performance tuning.
hello friends
what is performance tuning?
can anyone plz tell me the steps for performance tuning.Hi Kishore, this will help u.
Following are the different tools provided by SAP for performance analysis of an ABAP object
Run time analysis transaction SE30
This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
SQL Trace transaction ST05
The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
Need for performance tuning
In this world of SAP programming, ABAP is the universal language. In most of the projects, the focus is on getting a team of ABAP programmers as soon as possible, handing over the technical specifications to them and asking them to churn out the ABAP programs within the given deadlines.
Often due to this pressure of schedules and deliveries, the main focus of making a efficient program takes a back seat. An efficient ABAP program is one which delivers the required output to the user in a finite time as per the complexity of the program, rather than hearing the comment I put the program to run, have my lunch and come back to check the results.
Leaving aside the hyperbole, a performance optimized ABAP program saves the time of the end user, thus increasing the productivity of the user, and in turn keeping the user and the management happy.
This tutorial focuses on presenting various performance tuning tips and tricks to make the ABAP programs efficient in doing their work. This tutorial also assumes that the reader is well versed in all the concepts and syntax of ABAP programming.
Use of selection criteria
Instead of selecting all the data and doing the processing during the selection, it is advisable to restrict the data to the selection criteria itself, rather than filtering it out using the ABAP code.
Not recommended
Select * from zflight.
Check : zflight-airln = LF and zflight-fligh = BW222.
Endselect.
Recommended
Select * from zflight where airln = LF and fligh = 222.
Endselect.
One more point to be noted here is of the select *. Often this is a lazy coding practice. When a programmer gives select * even if one or two fields are to be selected, this can significantly slow the program and put unnecessary load on the entire system. When the application server sends this request to the database server, and the database server has to pass on the entire structure for each row back to the application server. This consumes both CPU and networking resources, especially for large structures.
Thus it is advisable to select only those fields that are needed, so that the database server passes only a small amount of data back.
Also it is advisable to avoid selecting the data fields into local variables as this also puts unnecessary load on the server. Instead attempt must be made to select the fields into an internal table.
Use of aggregate functions
Use the already provided aggregate functions, instead of finding out the minimum/maximum values using ABAP code.
Not recommended
Maxnu = 0.
Select * from zflight where airln = LF and cntry = IN.
Check zflight-fligh > maxnu.
Maxnu = zflight-fligh.
Endselect.
Recommended
Select max( fligh ) from zflight into maxnu where airln = LF and cntry = IN.
The other aggregate functions that can be used are min (to find the minimum value), avg (to find the average of a Data interval), sum (to add up a data interval) and count (counting the lines in a data selection).
Use of Views instead of base tables
Many times ABAP programmers deal with base tables and nested selects. Instead it is always advisable to see whether there is any view provided by SAP on those base tables, so that the data can be filtered out directly, rather than specially coding for it.
Not recommended
Select * from zcntry where cntry like IN%.
Select single * from zflight where cntry = zcntry-cntry and airln = LF.
Endselect.
Recommended
Select * from zcnfl where cntry like IN% and airln = LF.
Endselect.
Check this links
http://www.sapdevelopment.co.uk/perform/performhome.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/afbad390-0201-0010-daa4-9ef0168d41b6
kindly reward if found helpful.
cheers,
Hema. -
Steps for performance Tuning....!!!!
Hi all,
I need your help in Performance tuning.
While we do tuning in Oracle, apart from Indexes, where clause and order by clause, what are the other points we need to check. I mean explain plan etc...
I am working as Informatica Developer, but i need to make an documents which points out what are the step we can check while doing performance tuning on SQL queries.
Thanks in advance for your help.Hi,
have a look into these link.it may helpful to you.
When your query takes too long .
When your query takes too long ...
* HOW TO Post a SQL statement tuning request template posting *
HOW TO: Post a SQL statement tuning request - template posting
Edited by: Ravi291283 on Jul 28, 2009 4:00 AM
Edited by: Ravi291283 on Jul 28, 2009 4:01 AM
Edited by: Ravi291283 on Jul 28, 2009 4:02 AM -
Performance tuning in oracle 10g
Hi Guys
i hope all are well,Have a nice day Today
i have discuss with some performance tuning issue
recently , i joined the new project that project improve the efficiency of the applicaton. in this environment oracle plsql langauage are used , so if i need to improve effiency of application what are the step are taken
and what are the way to go through the process improvement
kindly help megenerate statspack/AWR reports
HOW To Make TUNING request
https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360003 -
Disk IO performance tuning of oracle 10g 64bit on rhel5 64bit
Hi Friends,
I am very new on oracle database tuning part.
I am facing some issues on the oracle disk io data transfer rate on rhel5.
Please help me. Details of issue is below.
I am using the iscsi san storage to install the database. My san storage is having more than 100Mbps transfer speed.
When oracle backup is running the data transfer rate is spikes upto 100Mbps, but when oracle normal transaction is happening it is not going more than 30Mbps.
My data base is an hybrid one and more read transaction is happening. Server is running with 4 cpus and 16GB of ram.
Here i am providing the iostat command output. Please have a look into this and help me to resolve.
[root@hostname ~]# iostat -x 1 5
Linux 2.6.18-128.el5 (hostname)
avg-cpu: %user %nice %system %iowait %steal %idle
24.94 0.00 4.15 31.94 0.00 38.96
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 7.61 10.42 4.28 5.28 345.38 125.59 49.26 0.12 12.91 3.18 3.04
sda1 0.30 0.00 0.03 0.00 0.65 0.00 22.59 0.00 3.76 2.66 0.01
sda2 0.22 0.00 0.01 0.00 0.23 0.00 18.78 0.00 4.05 3.54 0.00
sda3 5.25 8.26 3.58 2.47 310.67 85.87 65.54 0.09 15.09 3.37 2.04
sda4 0.00 0.00 0.00 0.00 0.00 0.00 1.83 0.00 0.33 0.33 0.00
sda5 0.83 1.95 0.55 2.70 31.62 37.24 21.17 0.03 8.88 3.49 1.13
sda6 0.68 0.07 0.06 0.04 1.11 0.85 19.74 0.00 13.91 9.05 0.09
sda7 0.33 0.14 0.04 0.07 0.90 1.63 24.17 0.00 15.73 11.13 0.12
sdb 0.06 0.00 0.03 0.00 0.75 0.00 25.57 0.00 1.64 1.48 0.00
sdb1 0.04 0.00 0.01 0.00 0.45 0.00 34.90 0.00 3.13 2.85 0.00
sdc 5.86 0.16 45.05 2.74 7805.28 129.85 166.04 2.57 53.82 9.12 43.58
sdc1 5.79 0.16 45.02 2.74 7804.99 129.85 166.12 2.57 53.85 9.12 43.57
sdd 5.85 0.17 44.45 2.68 7767.34 133.80 167.65 2.68 56.95 9.43 44.43
sdd1 5.78 0.17 44.42 2.68 7767.06 133.80 167.74 2.68 56.98 9.43 44.43
sde 5.89 0.16 44.86 2.37 7774.84 122.75 167.23 2.24 47.51 8.96 42.30
sde1 5.82 0.16 44.83 2.37 7774.55 122.75 167.31 2.24 47.54 8.96 42.29
sdf 5.91 0.16 63.70 2.69 8053.71 133.15 123.32 2.98 44.89 7.59 50.40
sdf1 5.84 0.16 63.67 2.69 8053.43 133.15 123.36 2.98 44.91 7.59 50.39
sdg 0.19 0.11 0.07 0.61 2.54 131.30 199.27 0.04 65.76 28.52 1.92
sdg1 0.12 0.11 0.04 0.61 2.25 131.30 206.81 0.04 68.26 29.56 1.91
sdh 4.43 2.29 0.99 1.36 199.10 29.19 97.03 0.05 20.92 5.13 1.21
sdh1 4.43 2.29 0.98 1.36 198.95 29.19 97.49 0.05 21.01 5.14 1.20
avg-cpu: %user %nice %system %iowait %steal %idle
13.72 0.00 2.49 75.31 0.00 8.48
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 18.00 0.00 54.00 2.00 25984.00 160.00 466.86 8.96 94.18 17.89 100.20
sdc1 18.00 0.00 54.00 2.00 25984.00 160.00 466.86 8.96 94.18 17.89 100.20
sdd 18.00 0.00 79.00 2.00 40240.00 32.00 497.19 8.61 118.93 12.04 *97.50*
sdd1 18.00 0.00 79.00 2.00 40240.00 32.00 497.19 8.61 118.93 12.04 *97.50*
sde 19.00 0.00 44.00 8.00 26656.00 187.00 516.21 9.34 119.81 19.27 *100.20*
sde1 19.00 0.00 44.00 8.00 26656.00 187.00 516.21 9.34 119.81 19.27 *100.20*
sdf 26.00 0.00 76.00 6.00 35600.00 59.00 434.87 3.23 40.76 10.52 86.30
sdf1 26.00 0.00 76.00 6.00 35600.00 59.00 434.87 3.23 40.76 10.52 86.30
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
18.64 0.00 5.29 49.87 0.00 26.20
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 14.00 0.00 3.00 0.00 136.00 45.33 0.01 1.67 1.67 0.50
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 14.00 0.00 3.00 0.00 136.00 45.33 0.01 1.67 1.67 0.50
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 44.00 0.00 99.00 1.00 58368.00 8.00 583.76 12.03 154.83 9.66 96.60
sdc1 44.00 0.00 99.00 1.00 58368.00 8.00 583.76 12.03 154.83 9.66 96.60
sdd 44.00 0.00 103.00 0.00 50672.00 0.00 491.96 10.07 82.47 8.37 86.20
sdd1 44.00 0.00 103.00 0.00 50672.00 0.00 491.96 10.07 82.47 8.37 86.20
sde 45.00 0.00 110.00 5.00 58176.00 126.00 506.97 13.01 113.47 8.02 92.20
sde1 45.00 0.00 110.00 5.00 58176.00 126.00 506.97 13.01 113.47 8.02 92.20
sdf 40.00 0.00 122.00 5.00 52944.00 126.00 417.87 9.74 63.94 6.52 82.80
sdf1 40.00 0.00 122.00 5.00 52944.00 126.00 417.87 9.74 63.94 6.52 82.80
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.90
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.90
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
7.48 0.00 2.49 *61.60* 0.00 28.43
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 13.86 0.00 38.61 0.99 19611.88 11.88 495.50 3.35 79.53 25.03 99.11
sdc1 13.86 0.00 38.61 0.99 19611.88 11.88 495.50 3.35 79.53 25.03 99.11
sdd 15.84 0.00 40.59 0.99 17758.42 31.68 427.81 10.93 122.36 23.26 96.73
sdd1 15.84 0.00 40.59 0.99 17758.42 31.68 427.81 10.93 122.36 23.26 96.73
sde 12.87 0.00 46.53 1.98 22035.64 70.30 455.65 13.19 275.96 20.43 99.11
sde1 12.87 0.00 46.53 1.98 22035.64 70.30 455.65 13.19 275.96 20.43 99.11
sdf 13.86 0.00 39.60 2.97 17584.16 101.98 415.42 6.83 81.19 22.21 94.55
sdf1 13.86 0.00 39.60 2.97 17584.16 101.98 415.42 6.83 81.19 22.21 94.55
sdg 0.00 0.00 0.00 0.99 0.00 7.92 8.00 0.21 226.00 217.00 21.49
sdg1 0.00 0.00 0.00 0.99 0.00 7.92 8.00 0.21 226.00 217.00 21.49
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
24.69 0.00 8.98 48.38 0.00 17.96
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 25.00 0.00 61.00 4.00 36304.00 120.00 560.37 9.58 156.23 14.78 96.10
sdc1 25.00 0.00 61.00 4.00 36304.00 120.00 560.37 9.58 156.23 14.78 96.10
sdd 23.00 0.00 82.00 1.00 34832.00 32.00 420.05 7.61 163.49 11.27 93.50
sdd1 23.00 0.00 82.00 1.00 34832.00 32.00 420.05 7.61 163.49 11.27 93.50
sde 27.00 0.00 62.00 0.00 32864.00 0.00 530.06 9.41 149.56 16.15 100.10
sde1 27.00 0.00 62.00 0.00 32864.00 0.00 530.06 9.41 149.56 16.15 100.10
sdf 17.00 0.00 101.00 4.00 42656.00 132.00 407.50 4.18 88.24 6.72 70.60
sdf1 17.00 0.00 101.00 4.00 42656.00 132.00 407.50 4.18 88.24 6.72 70.60
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00Regards,
Nayagan
Edited by: nayagan on Jan 27, 2010 12:23 PM
Edited by: nayagan on Jan 27, 2010 2:04 PMTwo points:
1. I can not read what you posted because you did not read the FAQ (upper right) and put tags around the listing so it would retain its formatting.
2. Even if I could read them I wouldn't as they are not necessarily relevant. What I would want to see is what query you are issuing that you think should be maxing out your disk subsystem and giving you the performance you expect. Single block reads read single blocks. Post the DML and the corresponding explain plan report generated using DBMS_XPLAN.DISPLAY or AUTOTRACE. Also the result of this statement in SQL*Plus.show arraysize
Because this is precisely what is going to be brought back with each round trip between the client (SQL*Plus) and the server. -
Performance Tuning in Oracle 10g during Migration - Insert Statements
Some of the tables contain a huge data e.g. 7 million records to be migrated.
The table structure of Source Database is different from the Target Database (Where we are doing the migration).
So we have made a use of temporary tables to collect the data from different tables using joins and populate the main table using INSERT INTO tableA SELECT * FROM tableZ
Now the problem statement.
Some of the queries take infinite time and data doesnt get inserted into the main tables. I have seen the explain plan and didnt find anything unusual. The same query works fine when we use date time stamp and restrict the data.
What parameters do we have to take care ? Is there any configuration needed on Oracle Server side ? If yes which parameters?Lets start with the basics. First what is 10g? Is that 10.1.0.3 or 10.2.0.4 or something else?
Second 7 million records is a relatively small dataset.
No one can possibly help you with no DDL, no DML, no Explain Plan output generated with DBMS_XPLAN.
We can make wild guesses but that is like closing your eyes in a dark room and trying to find the light switch.
Please repost all relevant information so someone can help you. -
Performance tuning of Oracle 10 g
Dear Team ,
I am in need of tuning my Database against the performance .
I have visited lots of Web pages in Net for Performance tuning .
It shows some values for the Performance tuning , But I dont how to read the values
Wheather my database is good or it need to tuned again .
So kindly help me for good performance tuning in my Database (Oracle 10g)
Regards
AugustineHi Augustine;
I am in need of tuning my Database against the performance .
I have visited lots of Web pages in Net for Performance tuning .
It shows some values for the Performance tuning , But I dont how to read the values
Wheather my database is good or it need to tuned again .First step should be run ASH AWR report than check your CPU usage(also other parameter) from Oracle Enterprise Manager console.
Check top5 event and try to understand what is happining on ur database. Actualyy There is no specific answer for your question, just check report try to understand to what eat your source? when it happens?what is fruquence etc.. So just run report and observe it
Check below search
http://www.google.com.tr/search?q=Performance+tuning+of+Oracle+10&rls=com.microsoft:en-us&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1&redir_esc=&ei=v0fxS8bTCtOrsAaYqfTbAg
There are many docs related performance.
Hope it helps
Regard
Helios -
Resources for performance tuning and RAC needed
Can you suggest me the best knowledge resources for performance tuning and RAC?
Besides Oracle doc ...
Thanks!Before all, I'm searching for resources on web like performance tuning from Dizwell Informatics is.
Anyway thank you Eric for your suggestion! -
Steps for performing Flat file to XML
hey,
does any one have steps for performing flat file (.csv) to XML conversion. how is the mapping in the design performed.
kalyan.Kalyan,
Consider my example, I have input file as csv structure and want it to convert into .xml file thats it.
Input file
J,24
P,22
I want the output file like
<Emp_Details>
<F1>J</F1>
<F2>24</F2>
</Emp_Details>
<Emp_Details>
<F1>P</F1>
<F2>22</F2>
</Emp_Details>
I doesn't know whether the above matches exactly ur reqmt, but there is the option.
Step 1 : Create Scenario & Business service
http://www.flickr.com/photo_zoom.gne?id=699386732&size=o
Step 2: Create sender & receiver comm.channel
http://www.flickr.com/photo_zoom.gne?id=699386698&size=o
http://www.flickr.com/photo_zoom.gne?id=699386664&size=o
Step 3:Create all the objects in ID and cross verify below whether u've created everything.
http://www.flickr.com/photo_zoom.gne?id=699386690&size=o
Step 4: Activate and run the interface.
Your results :
http://www.flickr.com/photo_zoom.gne?id=699386686&size=o
Hope it helps!!!
Best regards,
raj. -
Can anyone send tutor for performance tuning?
can anyone send tutor for performance tuning?I like to chk my coding.
1. Unused/Dead code
Avoid leaving unused code in the program. Either comment out or delete the unused situation. Use program --> check --> extended program to check for the variables, which are not used statically.
2. Subroutine Usage
For good modularization, the decision of whether or not to execute a subroutine should be made before the subroutine is called. For example:
This is better:
IF f1 NE 0.
PERFORM sub1.
ENDIF.
FORM sub1.
ENDFORM.
Than this:
PERFORM sub1.
FORM sub1.
IF f1 NE 0.
ENDIF.
ENDFORM.
3. Usage of IF statements
When coding IF tests, nest the testing conditions so that the outer conditions are those which are most likely to fail. For logical expressions with AND , place the mostly likely false first and for the OR, place the mostly likely true first.
Example - nested IF's:
IF (least likely to be true).
IF (less likely to be true).
IF (most likely to be true).
ENDIF.
ENDIF.
ENDIF.
Example - IF...ELSEIF...ENDIF :
IF (most likely to be true).
ELSEIF (less likely to be true).
ELSEIF (least likely to be true).
ENDIF.
Example - AND:
IF (least likely to be true) AND
(most likely to be true).
ENDIF.
Example - OR:
IF (most likely to be true) OR
(least likely to be true).
4. CASE vs. nested Ifs
When testing fields "equal to" something, one can use either the nested IF or the CASE statement. The CASE is better for two reasons. It is easier to read and after about five nested IFs the performance of the CASE is more efficient.
5. MOVE statements
When records a and b have the exact same structure, it is more efficient to MOVE a TO b than to MOVE-CORRESPONDING a TO b.
MOVE BSEG TO *BSEG.
is better than
MOVE-CORRESPONDING BSEG TO *BSEG.
6. SELECT and SELECT SINGLE
When using the SELECT statement, study the key and always provide as much of the left-most part of the key as possible. If the entire key can be qualified, code a SELECT SINGLE not just a SELECT. If you are only interested in the first row or there is only one row to be returned, using SELECT SINGLE can increase performance by up to three times.
7. Small internal tables vs. complete internal tables
In general it is better to minimize the number of fields declared in an internal table. While it may be convenient to declare an internal table using the LIKE command, in most cases, programs will not use all fields in the SAP standard table.
For example:
Instead of this:
data: t_mara like mara occurs 0 with header line.
Use this:
data: begin of t_mara occurs 0,
matnr like mara-matnr,
end of t_mara.
8. Row-level processing and SELECT SINGLE
Similar to the processing of a SELECT-ENDSELECT loop, when calling multiple SELECT-SINGLE commands on a non-buffered table (check Data Dictionary -> Technical Info), you should do the following to improve performance:
o Use the SELECT into <itab> to buffer the necessary rows in an internal table, then
o sort the rows by the key fields, then
o use a READ TABLE WITH KEY ... BINARY SEARCH in place of the SELECT SINGLE command. Note that this only make sense when the table you are buffering is not too large (this decision must be made on a case by case basis).
9. READing single records of internal tables
When reading a single record in an internal table, the READ TABLE WITH KEY is not a direct READ. This means that if the data is not sorted according to the key, the system must sequentially read the table. Therefore, you should:
o SORT the table
o use READ TABLE WITH KEY BINARY SEARCH for better performance.
10. SORTing internal tables
When SORTing internal tables, specify the fields to SORTed.
SORT ITAB BY FLD1 FLD2.
is more efficient than
SORT ITAB.
11. Number of entries in an internal table
To find out how many entries are in an internal table use DESCRIBE.
DESCRIBE TABLE ITAB LINES CNTLNS.
is more efficient than
LOOP AT ITAB.
CNTLNS = CNTLNS + 1.
ENDLOOP.
12. Performance diagnosis
To diagnose performance problems, it is recommended to use the SAP transaction SE30, ABAP/4 Runtime Analysis. The utility allows statistical analysis of transactions and programs.
13. Nested SELECTs versus table views
Since releASE 4.0, OPEN SQL allows both inner and outer table joins. A nested SELECT loop may be used to accomplish the same concept. However, the performance of nested SELECT loops is very poor in comparison to a join. Hence, to improve performance by a factor of 25x and reduce network load, you should either create a view in the data dictionary then use this view to select data, or code the select using a join.
14. If nested SELECTs must be used
As mentioned previously, performance can be dramatically improved by using views instead of nested SELECTs, however, if this is not possible, then the following example of using an internal table in a nested SELECT can also improve performance by a factor of 5x:
Use this:
form select_good.
data: t_vbak like vbak occurs 0 with header line.
data: t_vbap like vbap occurs 0 with header line.
select * from vbak into table t_vbak up to 200 rows.
select * from vbap
for all entries in t_vbak
where vbeln = t_vbak-vbeln.
endselect.
endform.
Instead of this:
form select_bad.
select * from vbak up to 200 rows.
select * from vbap where vbeln = vbak-vbeln.
endselect.
endselect.
endform.
Although using "SELECT...FOR ALL ENTRIES IN..." is generally very fast, you should be aware of the three pitfalls of using it:
Firstly, SAP automatically removes any duplicates from the rest of the retrieved records. Therefore, if you wish to ensure that no qualifying records are discarded, the field list of the inner SELECT must be designed to ensure the retrieved records will contain no duplicates (normally, this would mean including in the list of retrieved fields all of those fields that comprise that table's primary key).
Secondly, if you were able to code "SELECT ... FROM <database table> FOR ALL ENTRIES IN TABLE <itab>" and the internal table <itab> is empty, then all rows from <database table> will be retrieved.
Thirdly, if the internal table supplying the selection criteria (i.e. internal table <itab> in the example "...FOR ALL ENTRIES IN TABLE <itab> ") contains a large number of entries, performance degradation may occur.
15. SELECT * versus SELECTing individual fields
In general, use a SELECT statement specifying a list of fields instead of a SELECT * to reduce network traffic and improve performance. For tables with only a few fields the improvements may be minor, but many SAP tables contain more than 50 fields when the program needs only a few. In the latter case, the performace gains can be substantial. For example:
Use:
select vbeln auart vbtyp from table vbak
into (vbak-vbeln, vbak-auart, vbak-vbtyp)
where ...
Instead of using:
select * from vbak where ...
16. Avoid unnecessary statements
There are a few cases where one command is better than two. For example:
Use:
append <tab_wa> to <tab>.
Instead of:
<tab> = <tab_wa>.
append <tab> (modify <tab>).
And also, use:
if not <tab>[] is initial.
Instead of:
describe table <tab> lines <line_counter>.
if <line_counter> > 0.
17. Copying or appending internal tables
Use this:
<tab2>[] = <tab1>[]. (if <tab2> is empty)
Instead of this:
loop at <tab1>.
append <tab1> to <tab2>.
endloop.
However, if <tab2> is not empty and should not be overwritten, then use:
append lines of <tab1> [from index1] [to index2] to <tab2>.
P.S : Please reward if you find this useful.. -
Performance: Bulk Insert Oracle 10g
Following Situation: We have a VISUAL BASIC 6 Application (I know ... VB6 ... ), an XML-File with data and an Oracle 10g database. The XML-File has to be imported in the database.
Up to now the Application (Via ADO) analyses the XML-File and creates INSERT and UPDATE Stmts and sends them to the DB. The Stmts will be handled within one Transaction and the application sends each INSERT, UPDATE separate to the database.
But this is a performance desaster... as expected ... :-) The import takes several hours ...
Now, my task is to increase the performance, but how .....
I tried several things, but without the real success, e.g. ...
I performed some tests with the SQl*Loader. The Insert is really fast, but I can't make an Update, so I had to delete the existing data first. But I can't proceed the two steps in one transaction, because of the SQL*Loader.
I tried to write a stored procedure which accepts an ADO.Recordset as input param and then creates the Insert and Update statements within the DB to reduce network traffic, but I didn't find a way to handle a ADO.Recordset as a input parameter for a stored procedure.
Has someone an idea how I can import the XML file in a fast way into the existing DB (and maybe make an Replace of existing records during the import ...) within one transaction without changing the structure of the DB ??? (Oracle packages?? interface in C++ integrated in VB6....) Is there an way to import the XML-File directly to the DB?
Thanks in advance for any idea :-))I tried to write a stored procedure which accepts an ADO.Recordset as input param ...., but I didn't find a way to handle a ADO.Recordset as a input parameter
for a stored procedure.Use SYS_REFCURSOR as the parameter type. Bulk collect it into a PL/SQL collection. Use FORALL to soup up the INSERT and UPDATE statements.
Cheers, APC
blog: http://radiofreetooting.blogspot.com -
Steps to export and import oracle 10g databse from AIX to AIX and LINUX
Hi,
I need the steps to export the oracle 10g database from AIX server to AIX server and LINUX server.
Please give me all the steps as this is my first exort an import activity.
thanks,For 10g there exist two ways to do so.
1) Regular exp/imp.
2) Data pump expdp/impdp.
As this is your first export and import activity, relevant concept understanding is mandatory for you.
Documentation Link
http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14215/toc.htm
Read the chapters 1,2,3 (Data pump expdp/impdp) and 19 (regular exp/imp). Good luck. -
[ADF-11.1.2] Proof of view performance tuning in oracle adf
Hello,
Take an example of : http://www.gebs.ro/blog/oracle/adf-view-object-performance-tuning-analysis/
It tells me perfectly how to tune VO to achieve performance, but how to see it working ?
For example: I Set Fetch size of 25, 'in Batch of' set to 1 or 26 I see following SQL Statement in Log
[1028] SELECT Company.COMPANY_ID, Company.CREATED_DATE, Company.CREATED_BY, Company.LAST_MODIFY_DATE, Company.LAST_MODIFY_BY, Company.NAME FROM COMPANY Companyas if it is fetching all the records from table at a time no matter what's the size of Batch. If I am seeing 50 records on UI at a time, then I would expect at least 2 SELECT statement fetching 26 records by each statement if I set Batch Size to 26... OR at least 50 SELECT statement for Batch size set to '1'.
Please tell me how to see view performance tuning working ? How one can say that setting batch size = '1' is bad for performance?Anandsagar,
why don't you just read up on http://download.oracle.com/docs/cd/E21764_01/core.1111/e10108/adf.htm#CIHHGADG
there are more factors influencing performance than just query. Btw, indexing your queries also helps to tune performance
Frank -
Appropriate size for Autoextending datafile in oracle 10g
Hi,
I am using Oracle 10g 10.2.0.3.0 on linux 64 bit with 16GB RAM, one thing i want to find out that i have my schema datafile, which set on autoextend, i have set next size to 100mb, if the file reaches to its full does it make us wait for long to create a place of 100mb or should i reduce the size from 100mb to 10mb.
What should be the appropriate Next size in Autoextend for oracle database in my case, if there is a performance problem like login delay in schema due to increasing in size of datafile then how do i find out because i do not have database diagnostic tools.
Because today there was a delay in login to the schema and EM was showing wait, but i could not find out that why the wait was there, when i check the datafile size it was 1203 MB , i thought it may be due to the extension of data file but how do i confirm this thing.
In the table DBA_ADVISOR_FINDINGS it is giving following problem
Problem PL/SQL execution consumed significant database time.
Symptom Wait class "Network" was consuming significant database time.
Problem Wait event "TCP Socket (KGAS)" in wait class "Network" was consuming significant database time.Slow connect is not related with datafile extension.
Regarding Wait event "TCP Socket (KGAS)"
Please read Metalink note 416451.1
How fast is tnsping to database, ping to database server? -
Step to export and import oracle 10g on AIX,LINUX
Hi ,
Plase any one can give nme the steps to be followed to export and import oracle 10g database from AIX to AIX and LINUX also.
Waiting for your response.
Thanks..You dont have to follow any special steps, Export and Import are same on all OS's.
Maybe you are looking for
-
How to delete playlists on Apple TV
I syncd a handful of songs with my Apple TV. But it is showing all my albums as if they were on the Apple TV. How to I get the albums to show for just the music that is on Apple TV?
-
Dear all, my iphone 4 has recently decided to show the display in very big letters and images, once the camera switched itself on. I have rebooted it but find the slide is so big it disappears off the screen and won't turn the phone off so I have to
-
Application goes halt while excecuting a SQL statement
Hello, My application has a Database connection with JDBC-ODBC driver... First I fill in an combo-box with data out of the database: let's say from the the Column "Name" in the Table "Children". When I select a Child's name some labels apears where t
-
InCopy Users can't open ICML files, but can open INCX files
We've just switched over to CS4 -- both for designers and editors. If the editors/writers create a file and save it as an ICML, I can open and edit it no problem. However, when I export something in ICML, they cannot access it. The writers/editors ar
-
Has anyone had iMovie11 crash during stability analysis in lion
Never had a problem in snow leopard but now every time I try to do a stability analysis the program crashes. No problem with people analysis, just stability. Anyone else having this issue?