Solved

10g performance

Posted on 2009-04-07
5
401 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Wrap Oraccle SQL*Plus executable Command 4 69
Oracle and DateTime math 6 26
Query Records that don't match 8 34
'G_F01' is not a procedure or is undefined 3 12
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
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.  …
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.

920 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

14 Experts available now in Live!

Get 1:1 Help Now