Solved

10g performance

Posted on 2009-04-07
5
404 Views
Last Modified: 2013-12-18
Hi.

I've almost the same problem with two clients.

In the first, the old server was changed for a new and stronger server, with high performance. When they to that, and also installed oracle, the oracle performance was worst than in the old server. I searched for the parms of old server, and saw that in the new, less memory was allocated to oracle. Then, I changed the parms to became equal. For a few days oracle works fine. But now, I've received a mail telling that the performance slow down again.

In the second client, same application, but a little different study case. They've changed 9i for 10g. It is in automatic memory management. Also in this case, now the performance is worst than in 9i. Analyzing OEM, I saw that oracle is having so much I/O operations. Some updates and inserts was taking a long time to be completed, using so much I/O resources. I know that this can be an development problem. But I have a remote connection scheduled with the client in a few hours, when I'll try to change automatic to manual management, increase block_buffers, shared, and max_size, stop and start oracle server to see if the problem will be resolved. How can an application work worst in 10g than in 9i?
But, in case that this not work... I'll be without any others ideas to solve this problem... someone can help me with some tips if the actions described above doesn't work??

Thanks in advance.
0
Comment
Question by:Thiago_corporative
  • 2
  • 2
5 Comments
 
LVL 47

Expert Comment

by:schwertner
ID: 24086990
Run the statististics. After that flush the shared pool to
force Oracle to recompile and reoptimize the execution plans.

If you run into
ORA-01882: timezone region %s not found
study
Doc ID:  467722.1   DBMS_SCHEDULER And Time Zones ( DST ) Explained.
CREATE OR REPLACE PROCEDURE compute_statistics IS
BEGIN 
   dbms_stats.gather_database_stats(cascade=>true);
END compute_statistics;
/
 
 
set serveroutput on
set linesize 10000
BEGIN
   DBMS_OUTPUT.enable(100000);   
   dbms_scheduler.create_job(
      job_name => 'weekly_stats'
     ,job_type => 'STORED_PROCEDURE'
     ,job_action => 'compute_statistics'
     ,start_date => TO_TIMESTAMP_TZ('2009/10/22 2:10:00.000000 +08:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
     ,repeat_interval => 'FREQ=WEEKLY'
     ,enabled => TRUE
     ,comments => 'Computes statistics over tables and indexes.'
     );
     DBMS_OUTPUT.PUT_LINE('Job successfully created.');
EXCEPTION 
     WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE(substr(sqlerrm,1,200)); 
END;
/

Open in new window

0
 

Author Comment

by:Thiago_corporative
ID: 24087059
I did it last week... but didn't resolved.
0
 
LVL 40

Accepted Solution

by:
mrjoltcola earned 500 total points
ID: 24087500
Not knowing how Oracle is configured leaves a lot of possibilities.

Redo logs, archive, undo, index and table updates all contribute to IO.

If you are doing redo log mirroring, are they on separate disk, or at least are you using a decent raid? Even though you should have at least 1 mirror for each log group, every redo mirror is extra IO.

Is redo on separate disk from undo?

About 20 more questions I could ask, but really you need to analyze the database and find where the problems lie. And I don't mean "analyze" in terms of computing statistics, I mean looking at all of the instance stats and narrowing down on where it is spending time.
0
 
LVL 47

Expert Comment

by:schwertner
ID: 24087794
Depends also by the kind of the disk storage.
If it is RAID array then you will experience delay.

Also there analyzing tables and indexes is tricky.
Pay attention on
(cascade=>true)

This commonly is missed and causes that the indexes are not
analyzed.
Also the shared pool should be flushed to force new plans.

After increasing the
db_buffer_cache
and the shared_pool_cache
the DB should work significantly faster.
0
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 24097705
Was there a resolution you could share with us?
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
What is the version of ojdbc6.jar 2 53
dates - loop 12 63
'G_F01' is not a procedure or is undefined 3 23
Character matching different date formats for dates between 6 44
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
This video shows information on the Oracle Data Dictionary, starting with the Oracle documentation, explaining the different types of Data Dictionary views available by group and permissions as well as giving examples on how to retrieve data from th…
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now