Home > Oracle Tips > Oracle Database Administrator > Mike Ault's Oracle "good practices": Performance management and tuning
Oracle Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

ORACLE DATABASE ADMINISTRATOR

Mike Ault's Oracle "good practices": Performance management and tuning


Mike Ault
02.23.2007
Rating: -3.82- (out of 5)


Oracle tips, scripts, and expert advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Like coding, tuning is an area about which hundreds of pages have been written. But I can distill this mass of material into a few good practices.

It is a good practice to perform proactive database monitoring. Proactive database monitoring means that you must, at a minimum:

  • Monitor for space usage.
  • Monitor waits.
  • Monitor for execution times for standard queries/procedures.
  • Monitor for statements that use excessive disk I/O.
  • Monitor for statements that use excessive memory I/O.
  • Monitor for excessive recursive SQL.
  • Monitor latch and lock usage.

Ideal tools for monitoring include Quest Spotlight, Performance Analyzer, Toad, Oracle Enterprise Manager, Statspack and AWR.

All the monitoring in the world does you no good if no one takes the time to look at it and analyze it. But continually watching a screen is probably the most boring thing I can imagine. So it is a good practice to use an automated alert mechanism that uses thresholds to alert you by email or pages, before a problem is noticed by users.

It is also a good practice to build in alert mechanisms for security-related issues such as multiple unsuccessful login attempts, login attempts to secure accounts, password invalidations and attempted accesses to restricted tables or restricted types of access to specific tables. It is also good to receive some sort of alert if unauthorized tools are used to access the database. Oracle's auditing and login triggers can be utilized for this, as can InTrust from Quest Software.

I don't know how many projects I have been on where the wrong type of disk RAID was in use. It is a good practice to use the right RAID level for the right datafile type. Oracle recommends:

  • Use RAID 1+0 whenever possible for data and indexes.
  • Use RAID 0 for redo logs and archive logs.
  • Use RAID 5 only if it is not possible to use RAID 1+0.

In Oracle9i and Oracle 10g it is a good practice to use multiple block sizes; this allows you to tailor the block size to a specific type of access. Place tables and indexes in tablespaces according to access. For single block read type OLTP access, use 8K block sizes. For full table scan access (such as with data warehouses) use 16-32K block sizes. Use 8-16K block sizes for index lookups. For indexes that are scanned or bitmap indexes, use 16-32K block sizes.

It is also a good practice to use multiple buffer pools properly. Use default, keep and recycle pools in 8, 8i, 9i and 10g. Use keep for lookup tables and indexes (frequently accessed small objects). Use recycle for objects whose data won't be reused multiple times (blob or large full table scan tables).

It is a good performance practice to use correct index types. Do not use bitmap indexes for frequent insert, update and delete (IUD) tables in any version. Do not use B*tree indexes for STAR schema facts in 9i and 10g. A word of caution: index-only tables (IOTs) rarely improve performance in any version. Only use reverse-key indexes in RAC environments where index header block contention is an issue (be careful, some third party tools create these by default).

As with PL/SQL, with any code it is a good practice to pre-tune all SQL statements. No matter how good your table and index layout is, if the SQL is not properly constructed to utilize it, your performance will suffer.

Return to Mike Ault's Oracle "good practices."

About the author

Mike Ault is an Oracle database specialist at Quest Software and a recognized Oracle expert with over 16 years' experience as an Oracle DBA and consultant in a variety of industries and companies. A prolific author, Mike has published over 20 Oracle-related books including Oracle Administration and Management, Oracle DBA OCP ExamCram and Oracle10g Grid and RAC. He is a regular contributor to trade publications including Oracle magazine, and frequently presents at major Oracle conferences such as IOUG.

Rate this Tip
To rate tips, you must be a member of SearchOracle.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Oracle Database Administrator
What is the difference between a database engineer, architect and administrator?
Import on one table from dump file
Error during RMAN backup
Can I drop a column in SYS schema?
STATSPACK tool: transaction vs. execution measurement
Should I port from Microsoft Access?
Installing multiple Oracle homes
How can I find statistics on total memory usage and database connections?
Modifying SYS password in a RAC environment
How to create Datafiles in a Data Guard (10g) environment

Oracle database performance problems and tuning
Oracle 11g data compression
Varchar or number for better performance?
Do statistics on SYS-owned objects hurt performance in 10g?
Inside the Oracle 11g SQL Performance Advisor, part 1
Inside the Oracle 11g SQL Performance Advisor, part 2
Difference between driving table and driver table in Oracle
Best design for E-Business Suite on hard drive
20GB data dictionary causing performance problems
Using the cost-based optimizer to improve Database 10g performance
Online tablespace reorganization in Oracle 9i

Oracle database design
Weighing remote database administration pros and cons takes care
Oracle Database 11g makes waves at Burlington Coat Factory
How to create a database link in Oracle
Data modeling tools no substitute for hard work
How do I do that in Oracle?
The Oracle Database user's guide to Oracle OpenWorld 2007
Oracle OpenWorld 2007 Special Report
How many redo log files?
How to move tables from system tablespace to user tablespace
ORA-12560 error with Oracle 10g Instant Client

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
extent  (SearchOracle.com)
field  (SearchOracle.com)
flexfield  (SearchOracle.com)
foreign key  (SearchOracle.com)
quad tree  (SearchOracle.com)
record  (SearchOracle.com)
row  (SearchOracle.com)
splay tree  (SearchOracle.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

HomeNewsTopicsTipsAsk the ExpertsMultimediaWhite PapersProductsBlogs
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2003 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts