Application Express performance - tuning required?
We have recently implemented a new Application Express system running under Oracle10g on a Linux/RedHat 4 server (actually a Dell PowerEdge 2850 with 8gb RAM and twin 3gb CPU's). The application mostly flies but on odd days (increasingly) performance degrade to the point where a single refresh takes longer than 5 seconds. We only have about 10 users on the system and the database is shared between about 25 users. We have had the network checked and have ruled that out as it only peaks at about 1.6mbps over a 54mbps line. I have updated stats on the database too. Looking in Enterprise Manager the HTTP_Server is hardly doing anything, the database appears to be using hardly any CPU but the memry allocation line on EM seems to be running along at 8gb all the time. The server is bounced every weekend.
The SQL is nearly all embedded in PL/SQL packages called from App. Ex. We have tried some of the parameter changes mentioned elsewhere in the forum, particularly changing the "keepAlive" parameter = off, from which we saw an immediate performance hike, but which then tailed away.
Can anyone suggest where the problem might be and where I can start looking and tuning to improve the performance of our application. We want to roll it out much more widely but are worried it wont scale to many more users and performance will stop completely.
Its all mighty puzzling so any help would be most welcome.
Hi Jeremy,
if you have again such a situation where everything is slow, run your page in debug mode to get some statistics what's taking long. If it is really the rendering of the page or if it is something else (eg network problems).
Just rethought the above what I have written. You can immediately find out if the rendering sometimes really takes longer. Have a look at the dictionary view APEX_WORKSPACE_ACTIVITY_LOG and the column ELAPSED_TIME. It will tell you how long it took to render the page. See if you really have peaks sometimes.
If you don't have a peak there, you probably have more of an network or Apache problem.
Patrick
My APEX Blog: http://inside-apex.blogspot.com
The ApexLib Framework: http://apexlib.sourceforge.net
The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/
Similar Messages
-
Standards of Performance Tuning required
Hi,
Plz guide me where i would be able to get standards of performance tuning of Oracle DB. So that i can compare the statistics with that.
Regards,First of all, make sure you understand performance concepts (http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14211/toc.htm), then don't go on comparing statistics as this will not take you but to a dead end filled up with tons of numbers.
It is not possible to talk about a so wide topic here, but If your database is running slow it could be because of one of two reasons, there is an outstanding demand of resources, or there is a lack of resources. Whichever the cause, it produces a bottleneck. Find the bottleneck, troubleshoot it and use statistics to gather a snapshot before and after the procedure. -
The table contains 2 crores of records
Its taking lot of time to get executed.
please suggest to improve the performance
The execution of this query taking lot of time in the below procedure
UPDATE ctrl_settled_shipments
SET
msrbnr = v_document_ids (i),
msrdat = SYSDATE
WHERE msdgnr = v_consignment_ids (i) AND msrbnr IS NULL;
PROCEDURE proctest(
data_source IN VARCHAR2,
toll_flag IN NUMBER,
damage_status IN NUMBER,
execid IN NUMBER,
msg OUT VARCHAR2
As
UPDATE controlling
SET
-- MSREKO= rec.lv_consignment_amount,
msrbnr = v_document_ids (i),
msrdat = SYSDATE
WHERE msdgnr = v_consignment_ids (i) AND msrbnr IS NULL;
lv_document_no NUMBER;
lv_consignment_number NUMBER;
lv_consignment_amount NUMBER;
lv_doc_type VARCHAR2 (2);
lv_damage_amount NUMBER;
lv_ilnbetr NUMBER;
lv_spedbetr NUMBER;
lv_spedbetr_flag NUMBER;
lv_ilnbetr_flag NUMBER;
c_consigment_numbers billing_pkg.cursor_typ;
TYPE t_num_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
TYPE t_char_array IS TABLE OF VARCHAR2 (20)
INDEX BY BINARY_INTEGER;
v_consignment_ids t_char_array;
v_document_ids t_num_array;
v_doc_type_ids t_char_array;
v_consignment_amts t_num_array;
v_spedbetr_amts t_num_array;
v_ilnbetr_amts t_num_array;
v_spedbetr_flags t_num_array;
v_ilnbetr_flags t_num_array;
v_row_count NUMBER := 0;
ort varchar2(50);
cons_query varchar2(1000);
pctx bl_plog.log_ctx
:= bl_plog.init ('BL_UPDATED_CONTROLLING', plevel => bl_plog.LINFO);--NP
BEGIN
pctx.lsubsection := ''||execid;
BL_PLOG.INFO(pctx,' data_source ' || data_source);
IF UPPER (data_source) = 'CONTROLLING' THEN
cons_query :=
' SELECT document_no AS lv_document_no,
blc.msdgnr AS lv_consignment_number,
doc_type AS lv_doc_type,
0 AS lv_consignment_amount,
0 AS lv_ilnbetr,
0 AS lv_spedbetr,
0 AS lv_spedbetr_flag,
0 AS lv_ilnbetr_flag
FROM tmp_header_position_amount1,bl_controlling blc
WHERE document_no IS NOT NULL
and document_no = decode(doc_type,''R'',msrbnr,''G'',msgbnr)
and blc.exec_id = '||execid;
ELSIF UPPER (data_source) = 'BL_CONT_SCHADEN' THEN
cons_query :=
'SELECT document_no AS lv_document_no,
bcs.bcs_msdgnr AS lv_consignment_number,
doc_type AS lv_doc_type,
decode(doc_type,''R'',bcs_msreko,''G'',bcs_msguko) AS lv_consignment_amount,
nvl(bcs.bcs_ilnbetr,0) AS lv_ilnbetr,
nvl(bcs.bcs_spedbetr,0) AS lv_spedbetr,
bcs.bcs_spedbetr_flag AS lv_spedbetr_flag,
bcs.bcs_ilnbetr_flag AS lv_ilnbetr_flag
FROM tmp_header_position_amount1,bl_cont_schaden bcs
WHERE document_no IS NOT NULL
and document_no = decode(doc_type,''R'',bcs_msrbnr,''G'',bcs_msgbnr)
and bcs.exec_id = '||execid;
END IF;
OPEN c_consigment_numbers FOR cons_query;
LOOP
FETCH c_consigment_numbers
BULK COLLECT INTO v_document_ids, v_consignment_ids,
v_doc_type_ids, v_consignment_amts, v_ilnbetr_amts,
v_spedbetr_amts, v_spedbetr_flags, v_ilnbetr_flags LIMIT 200;
EXIT WHEN v_row_count = c_consigment_numbers%ROWCOUNT;
v_row_count := c_consigment_numbers%ROWCOUNT;
FOR i IN 1 .. v_consignment_ids.COUNT
LOOP
--IF UPPER (data_source) ='CONTROLLING' AND rec.lv_doc_type = Billing_Pkg.BILL THEN
IF UPPER (data_source) = 'CONTROLLING'
AND v_doc_type_ids (i) = billing_pkg.bill
THEN
UPDATE ctrl_settled_shipments
SET
msrbnr = v_document_ids (i),
msrdat = SYSDATE
WHERE msdgnr = v_consignment_ids (i) AND msrbnr IS NULL;
end if;
commit;
end loop;
EXCEPTION
WHEN OTHERS
THEN
msg:='records failed to update'||sqlerrm;
rollback;
end proctest;
Edited by: 812809 on 9 Jul, 2011 5:48 AMYou think your problem is the UPDATE? How long does a SINGLE update take? Ever tried? Did you run a trace followed by TKPROF?
Your problem is that you use a lot of code, nested loops, dynamic SQL etc. when you can do the update with a singe MERGE command, which will reduce to less than 10% of your code and be VERY much faster.
something like this. (If I got the idea of your code correct)
MERGE INTO ctrl_settled_shipments X
USING (
SELECT document_no AS lv_document_no,
blc.msdgnr AS lv_consignment_number,
doc_type AS lv_doc_type,
s.rowid rid
FROM tmp_header_position_amount1,
bl_controlling blc,
ctrl_settled_shipments s
WHERE document_no IS NOT NULL
and document_no = decode(doc_type,''R'',msrbnr,''G'',msgbnr)
and blc.exec_id = execid
and s.msdgnr = blc.msdgnr AND s.msrbnr IS NULL) Y
on x.rowid = y.rid
WHEN MATCHED THEN UPDATE
msrbnr = lv_document_no,
msrdat = SYSDATE; -
Hi,
We are using Oracle Express 6.3.2 & Oracle 8.1.5 for a decision
support system that we are building.
We are using a server with 2GB RAM, Dual CPU( 550MHz) along with
more than 100 GB HDD.The OS being used is Windows NT enterprise
edition server 4.0.On which both Oracle Relational database and
Express express server resides.
The building of multi-dimensional database(MDDB) doesn't take
time, we are using around 9 dimensions with total data in MDDB
being in the range of 5- 10 Lakhs records.The building time is
about 3 minutes.
However, the running of an application(XPJ) based on the MDDB
takes lot of time. The report takes about 2 Minutes to appear
and situtation is even worse in what-if analysis kind of
reports!.The MDDB is being accessed from Windows NT Client
workstation 4.0 with 128 MB RAM.
We have read Oracle Express Performance Tuning and Database
Design Guide which is available from both Oracle Technology
Network (technet.oracle.com) and Metalink, however it doesn't
seem to be of much help.The sparsity etc. have been taken care
of by us.
CAN ANYBODY PROVIDE ASSISTANCE ON THIS ISSUE OR IS IT NORMAL
THING TO EXPECT FROM ORACLE EXPRESS????...., .Request someone to
respond to this issue, as it very urgent & bothersome to us.
ThanksDear Friend,
I am trying to configure reports for express data and in this regard I have done the following :
1.Machine A having reports 9i Developer suite Release 2 and Pluggable Express Connection Editor installed on Windows 2000 professional.
2.Machine B having which Express Server 6.3.4 installed on Windows 2000 professional.
3.In Machine A created user OESDBA with Administrator privilige.
In the reports I am able to connect to the Express Server and attach the database and choose the measure.Once all the other steps are done I am able to print the data on the reports.
But if I use a parameter form in which I give the HOST,USER and PASSWORD then substitute the same in the express_server parameter value in the AFTER PARAMETER FORM trigger block then the report gives an error saying that
Express query contains incorrect,missing or damaged information.
How to solve this error ?
Can you please help.
Regds,
Ramakrishnan
[email protected] -
Minimum resources for Oracle Application Express
Hi,
I'm new to the forum, and a bit confuse here trying to find an answer to what supposedly is a simple question:
What kind of resources do I have to have to develop and deploy screens with Oracle Application Express?
The scenario:
I have this Oracle application all created in forms that we are planning to give to our customers in a web based.
I'm looking for options to convert it and many forums are talking about how easy and inexpensive (free) the Oracle Applications Express is.
Then, talking with my main developer, he told me that in order to use it, the client need to spend quite a while in IAS (Oracle's Internet Application Server) and/or have to have the Enterprise version.
I'm looking for white papers on that and could not find any corroboration, but just texts telling that it's free and easy to use.
Any one can point me to the right directions on this issue?
Just want to know what exaclty do I need in order to use (creating and deploying) the Applications Express.
Right now I have Standar Edition 10q as well as my client
THank youIf you want to develop an intranet web application, the HTTP server that comes with Standard Edition 10q would do. However, if you are thinking of it as an internet application then you better separate DB and web server. In that case you need to have either Oracle HTTP Server or Oracle Application Express Listener. Oracle HTTP server requires a license and usually bundled with DB or an Application Server. I believe Oracle Application Server is no longer being offered/available instead web logic server is made available. The basic edition of web logic would do as all you require is Oracle HTTP Server to broker the requestes between the web and the database. As far as I know, Oracle HTTP server is not being offered standalone. As mentioned above the other alternative is Oracle Application Express Listener but requires one of the J2EE complaint web servers like web logic, Glassfish, OC4J or TOMCAT.
Hope this helps!
Chandra Movva -
Capacity planning (performance tuning of WLP 8.1 SP6 application)
Hi Guys,
I have one question regarding the performance tuning of the weblogic portal application (or may be any J2EE application for that matter) :
I understand that there could be lot of performance bottleneck areas e.g
(a) network issues (not enough bandwidth),
(b) bottleneck because of the DBs,
(c) application design/coding
(d) JVM might not have been tuned as per the business requirement of the application
(e) lack of clustering
(f) hardware problems (CPUs, RAMs etc)
Inorder to do the capacity planning for such an enterprise applications, what would be the best starting point?
Is it a good idea to start and profile the application using some profiling tools like OptimizeIt or JProbe? and then analyze the profiling the data and conclusion can be drawn interms of what and where the major bottleneck is into the application and accordingly it can be worked upon.
Or if there is any better and elegant way doing capacity planning?
Thanks for your time.
Regards
JameelHi
id say start with a load tool that simulates average/ peak behavior with varied inputs and exercise your site . then profile if necessary.
Also start with the critical/most used portions of your site.
Its difficult doing the above because unles your migrating noone really knows the expected usage of your site. And its hard for someone to specify acceptable response times.
regards
deepak -
Oracle Application Performance Tuning
Hello all,
Please forgive me if I am asking this in the wrong section.
I am a s/w engineer with 2 years of exp. I have been working as a performance tuning resource for Oracle EBS in my company. The work mostly involved SQL tuning and dealing with indexes etc. In this time I took up interest in DBA stuff and I completed my OCA in Oracle 10g. Now my comany is giving me an oppurtunity to move into an Application DBA team and I am totally confused about it.
Becoming an Apps DBA will mean that the effort I put into the certification in 10g will be of no use. There are other papers for Apps DBA certification. Should I stay put in performance tuning & wait for a Core DBA chance or shall I accept the Apps DBA oppurtunity.
Also, does my exp. in SQL performace tuning hold any value as such with out an exposure to DBA activities?
Kindly guide me in this regards as I am very confused at this juncture.
Regards,
JithinJithin wrote:
Hello bigdelboy , Thank you for your reply.
Yes, By oracle Apps DBA I meant Oracle EBS.
Clearing 1Z0-046 is an option. However, my doubt is will clearing both the exams Admin I and Admin II be of any help without having practical expericnce? The EBS DBA work involves support and patching, cloning, and new node setup etc.
Also, is my performance tuning experience going to help me in any way in the journey forward as a DBA/ EBS DBA?
Thank you for your valuable time.
Regards,
Jithin SarathThe way I read it is this.
People notice you are capable of understanding and performance tuning SQL. And you must have some knowledge of Oracle EBS. And in fact you also have a DBA OCA.
So there is a 98% + chance you can be made into a good Oracle Apps DBA (and core DBA). If I was in their position I'd want you on my team too; this is the way we used to bring on DBA's in the old days before certification and it has a lot of merit still. Okay you can only do limited tasks at first ... but the number of taks you can do will increase dramatically over a number of months.
I would imagine the Oracle Apps DBA will be delighted to have someone on board who can performance tune SQL which sometimes can sometimes seem more like an art than a science. The patching etc can be taught in small doses. If they are a good team they wont try to give you everything at once, they'll get you to learn one procedure at a time.
And remember, if in doubt ask; and if you dont understand ask again. And be safe rather than sorry on actions that could be critial.
If your worried about liinux: Linux Recipes For Oracle Dbas (Apress) might be a good book to read but could be expensive in India
Likewise: (Oracle Applications Dba Field Guide) may suit and even (Rman Recipes For Oracle Database 11 G: A Problem-solution Approach) may have some value if you need to get up to speed quickly in those areas.
These are not perfect but they sometimes consolidate the information neatly; however only buy if you feel they are cheap enough. You may well buy them and feel disappointed (These all happen to be by Apress who seem to have produced a number of good books ... they've also published some rubbish as well)
And go over the 2-day dba examples as well and linux install examples n OTN as well ... they are free compared to the books I mentioned.
Rgds -bigdelboy. -
Performance Tuning Certification for Application Developer
Hi,
Can you please advise if there is any Oracle Performance Tuning certification for an Application Developer and Oracle 9i to 10G migration certification? If yes, can you please let me know its Oracle examination number?
I have already passed 1Z0-007 and 1Z0-147 in Oct 2008.
Thanks in advance,
Sandeep Kumar... if there is any Oracle Performance Tuning certification for an Application Developer ...There is no performance tuning related certification for application developers. There is one for the DBA track.
Also -- to answer your question in the other thread:
So to clear this certification do I need to re-appear all the 3 exams as they were given in 2008 or just 1Z0-146 is enough.Having passed 1Z0-007 and 1Z0-147, if you pass 1Z0-046, you will gain the certification: Oracle Advanced PL/SQL Developer Certified Professional -
Performance Tuning DBA fix not Applications fix
Hi
I had an interview , which the DBA team leader was asking me about my performance tuning expereince
i was answering about my expereince in tuning the sqls and get a good statistics so the CBO choose the best plan, or even hint my sqls so i force the best plan
the interviwer was worried because this is an application tuning , not a DBA tuning
he mention that he want to hear that i changed a db parameter that enhance the performance , or chnage any thing in the DBA side that tune the performance
Anybody have an example of changing a parameter or something DBAish that help the performance?
Thanks for any contributionYou should read following sections of Performance Tuning Guide:
Performance Considerations for Initial Instance Configuration:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/build_db.htm#i20151
Memory Configuration and Use:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/memory.htm#i53187
Oracle Instance Tuning Using Dynamic Views:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/instance_tune.htm#i35312 -
Application Performance Tuning
Hi,
Sometimes our application(11.5.10.2) is becoming very slow, I want to know what things I need to check and if there is any Document
RegardsHi,
We discussed this topic many times in the forum before, please see old threads for details.
Performance Tuning
http://forums.oracle.com/forums/search.jspa?threadID=&q=Performance+Tuning&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Thanks,
Hussein -
Performance tuning for siebel CRM application on oracle database
Hi,
Please send me the link for Performance tuning for siebel CRM application on oracle database. If there are any white papers please send me the link.
Thanks,
RajeshHi,
This metalink document is very useful, if you have any other documents or links please inform me.
Thanks once again
Rajesh -
Oracle EBS Application performance tuning course
May I know Oracle EBS r12 application performance tuning course available in Oracle University?
Hi Azar,
As far as I know there is no course as EBS performance Tuning course. As you know this is the complete Oracle training courses available:
Oracle Certification All Exam | Certifications | Oracle
As EBS is involved in multi Tier architecture, I recommend you to have a look at:
Oracle Certification Program: Oracle Technology and Applications Certification
Oracle Certification Program: Oracle Technology and Applications Certification
Oracle Certification Program: Oracle Technology and Applications Certification
Hope this helps!! and Best of Luck mate!
Thanks &
Best Regards -
Knowledge n skills required to run Application Express
Hi Gurus,
Can anyone plz inform regarding the knowledge and skills that are required to create, run and maintain any application built using Application Express
i.e the skills required for an Administrator, Developer and any other that I forgot.
Thanks
Any help is appreciated.It depends on what you plan on using it for, but for the basics:
<BR><BR>
Start by reading the 2 day developer that should make sense with a simple understanding of HTML, Javascript and SQL. Even without any knowledge or experience a bit of experimenting will have you using the tool relatively quickly.
<BR><BR>
The best thing is just to download XE and set it up as testing/learning APEX and see what you need to take it from there to where you want to go. Once you are experimenting and have more specific questions the forums should be more than enough to get going. -
Is application Express what I need?
Hi I wonder if you can offer any guidance.
I have a 9i database which is used weekly to load data into it from csv files. This is done using sql loader kicked off using windows batch files. Before, during and after the loading of the csv files certain sql queries are run to check the status of the database and the amount of data held in certain tables.
At the minute this process is carried out very labouriously using a "copy and paste" exercise, changing dates in prewritten queries kept in a large text file for the user to scroll through and use. Between running the queries, batch files are run which kick off the sql load process.
I would like to simplify and improve this whole process, allowing for the batch files and queries to be run at clicks of buttons and any results displayed on the screen.
Application express sounds like something that could be used for this but from looking at the overview of it, it seems to be mainly for running reports and running simple queries to be displayed in nice pretty ways.
Would it perform the obs I require, and if not, can anyone recommend somthing else that I can build a nice GUI experience that can kick off other batch programs?
Thanks.Apex gives full access to SQL and PL/SQL features, so yes it should be easy enough to do. If the CSV file exists on the database server and is accessible by the Oracle user, then you can try using "external tables" to load the CSV directly. Search for examples. If you need to pick the latest CSV file or rename / delete it afterwards, see if UTL_FILE pkg does everything you want.
To run a batch script from Apex (on Windows) if really necessary, this will get you going:
-- from privileged account
grant create any job to scott;
grant create external job to scott;
grant execute on DBMS_SCHEDULER to scott;
--grant create any directory to scott;
--grant execute on utl_file to scott;
-- make sure OracleJobSchedulerXE started in Windows services!
--from scott
--DBMS_SCHEDULER.create_job
-- (job_name => 'testjob',
-- job_type => 'EXECUTABLE',
-- -- location of cmd.exe varies!
-- job_action => 'c:\windows\system32\cmd.exe /c c:\my-batch.bat',
-- enabled => false);
DBMS_SCHEDULER.run_job (job_name => 'testjob',
use_current_session => TRUE);
-- COMMIT; -- may be required?? -
IIR 2.8.0.7 performance tuning suggestions / documents for Oracle 11?
Would we have any hints or white papers that would support a customer in IIR matching server tuning for initial load performance,
beyond the Siebel specific
Performance Tuning Guidelines for Siebel CRM Application on Oracle Database (Doc ID 781927.1)
which does NOT generate any statistics on the Informatica Schema?
Customer is starting production data load into Siebel UCM of over 5 million customer records . Their current bottle neck seems to be IIR queries and high IIR host resources usage.
This would be for Siebel 8.1.1.4 [21225] on Oracle 11.1.0.6; I currently do not know if ACR 475 with its EBC access is used or not; I'd be looking for any performance tuning suggestions on the Informatica & database side - I have not found anything helpful in the informatica knowledgebase and in the 2.8.0.7 docs the only performance tuning suggestions seem to be on IDT loads.
Obviously performance can be influenced by the matching fields used, but this customer will be looking for performance tuning suggestions keeping the matching fields and thresholds they got approved from the business side.
Any documents we could share?Hi Varad,
Well, Oracle Metalink actually got it fixed for me! Got to give them credit.
I ran the 1st bit of SQL they sent me and it fixed it so I think it was only cosmetic. I've enclosed all of their response in case others may find themselves in similar situation.
Thanks again for YOUR help too.
Perry
==========================================================
1. Do you see any invalid objects in the database?
2. Please update the SR with the output of running the commands below
1.Connect as SYS.
set serveroutput on (This will let you see if any check fails)
exec validate_apex; (If your version is 2.0 or above)
If all are fine, the registry should be changed to VALID for APEX and you should see the following
message:
PL/SQL procedure successfully completed.
Note : The procedure validate_apex should always complete successfully.
With serveroutput on, it should show why Application Express is listed as invalid.It should show output like:
FAILED CHECK FOR <<obect_name>>
Or
FAILED EXISTENCE CHECK FOR <<object_name>>
Maybe you are looking for
-
PR To PO automatic conversion of document type
Hi, I have created a PR using one document. While i am refering that PR in PO transaction the PR document type not automatically copied into PO.I have to select/change that PO document type manually .Is there any possible to copy from PR to PO autom
-
MIGO FOR GR against OUTBOUND DELIVERY
Hi All In MIGO transaction I want to do some modification in that when I am going to save purchase order ie for Goods receipt for outbound delivery and movment type 101, I want to call another transaction created by myself. But for above when
-
HT201318 icloud storage and how to use it.
pls will some 1 explain to me in simple terms how to move my data off my iphone onto the £28 a year icloud storage im paying for but do not have a clue how to use !! i cant even take pic's on my fone now as stating not enough mem, but i've got 20 GB
-
SMARTFORMS :lines are not printing.
Hi all! We have a SMARTFORM for outbound delivery.In that items are shown in a table manner with horizontal and vertical lines. Every thing is coming fine while taking print from laser printer but lines are missing when taking print from Dot Matri
-
Hi, When I call the below xsl in my BPEL code, I am getting the following answer. *<tempStr>oracle.xml.parser.v2.XMLNodeList@1546df5</tempStr>* my BPEL code is : ora:getContentAsString(ora:processXSLT('Hello.xsl',bpws:getVariableData('Invoke_OSTspSea