Home
What's new?
Oracle Tutorials
PL/SQL
SQL
Oracle Tips & Tricks
Advanced Tutorials
Certification
Oracle 10g
Oracle 11g
Oracle and .Net
Oracle Tools
Disclaimer
Privacy Policy
Search This Site
Oracle Questions?

Boost You Career With Our Online Oracle Training

Introduction

This is a special online Oracle training course dedicated to showing you how to boost the performance of your Oracle databases and thereby give your career a boost.

Performance tuning is most often a tactical process - ie. looking at a specific poorly performing module or query and improving that module or query in isolation.

This is fine as far as it goes, but a lot of the time systems would benefit from a strategic review and optimisation and this online Oracle training course is going to show you how to do this.

Strategic Performance Review

So what should a strategic review encompass ? And when should you do one ?

Let's answer the 2nd question first.

A strategic review should be undertaken when there are system wide performance issues affecting many modules/sub systems.

For example a data warehouse system taking several hours to produce management reports or an oltp system taking several minutes to respond. In cases like these, it is obvious that there is something not quite right with the system as a whole.

Having answered the when, we can devote the rest of this online Oracle training course to answering the what.

In a sense a strategic performance review is a return to the system design stage - you are looking at the system from a high level - so you need to consider system wide issues such as

  • tablespace layout;
  • use of stored procedures;
  • use of views;
  • use of database triggers;
  • i/o load balancing;
  • use of indexes;
  • archiving;
  • and even database structure - normalising or denormalising tables.

For a datawarehouse or decision support system you may need to build more aggregate tables (or take advantage of materialised views which were introduced in Oracle8i), to enable the high level information to be accessed quickly. If carried out correctly, these changes can have a significant effect system wide.

Those are a few general issues you can consider, but you can also go deep into every module and consider specific issues with every query in each module, such as:

  • unplanned full-table scans;
  • use of the wrong index;
  • not using an index when there is an appropriate index;
  • use of an index when it is not appropriate;
  • incomplete join conditions;
  • not using a view when an appropriate one exists;
  • using views based on the join of other complex views;
  • use of inefficient stored procedures;
  • not using stored procedures at all;
  • use of a stored procedure when the operation could be performed much faster in sql
  • and so on

We're not going to go into the details of these issues or what to do about them in this short online Oracle training course, the idea here is just to look at the "big picture".

High-Level Issues

Now we have looked at what factors need to be considered, we need to know how to determine which of these options we should use. The rest of this online Oracle training course will show you that. Let's start with the high level issues.

As I mentioned earlier, a system needs an overhaul when it is not performing adequately as a whole. This essential information will either be painfully obvious, or it will be imparted to you by the users who are working with much larger volumes of data than exist on the development database.

When this happens, you then need to collect system wide information about the database - the more information the better.

You can write your own queries to gather statistics from the database, but generally your time would be better spent on analysing and resolving the problems rather than writing queries to extract statistics from the database when there are many tools available such as TOAD or Oracle Enterprise Manager that will do the job for you at the press of a button.

This information would include statistics such as the parse/execute ratio, hit ratio, database space usage, most expensive queries (in terms of i/o and cpu) data file to tablespace mapping, object to tablespace mapping and so on.

All of this can be used to identify where the problems are and what to do about them.

For example a high parse/execute ratio would indicate that cursors are not being used efficiently or that some queries should be using a view or a stored procedure.

Looking at the most expensive queries enables you to home in on those and tune them or replace them with a query on cached, aggregated or denormalised data.

Looking at the i/o statistics can tell you if you need to spread the load across several disks or if that's not an option, that you need to consider ways of reducing i/o by using stored procedures to encapsulate application logic in the database, or by caching data in the front end.

Each of these factors needs to be considered seperatley and in conjunction with all the others, but by optimising just one or two of these areas you can improve performance disportionately, leaving time to concentrate on the design of the next system or enhancements to the existing one. In fact i/o is the most expensive operation - it costs both elapsed time and cpu time, so if that can be reduced you get a double benefit.

There's not enough space in this online Oracle training course to go into more details on these factors but if performance is a serious issue invest in a copy of Oracle Performance Tuning by Mark Gurry & Peter Corrigan

Strategies For Individual Modules

In our online Oracle training course we're now going to look at strategies for dealing with individual modules, in addition to the system wide strategic improvements we've just covered.

As this is part of a strategic review you won't want to spend the time and effort to optimise every single query in every single module. Instead you'll want to use your technical knowledge about the system to ensure that in technical terms the modules are using the right strategy.

To do this you'll want to start with the worst performing modules, or, if you don't know them, just pick a few at random to a do a quality audit on them and check the "big picture" ie. that the modules are using views/stored procedures where appropriate, using the right indexes etc.

If the quality audit of the front-end and the strategic review don't provide the performance improvements needed then you will have to adopt a tactical approach and look at individual queries in detail in each module, but that's outside the scope of this online Oracle training course.

Looking For More High Quality Online Oracle Training ?

There is more online Oracle training available on our site including For more online oracle training hop over to Smartsoft where there is a wealth of Oracle tips and tricks and online Oracle training courses available free of charge.