September, 2005  

  In This Issue

All articles have been reprinted with the written consent of their respective authors.



Oracle Administration

Optimize Oracle 10g on Linux: non-RAC ASM vs. LVM
By Bert Scalzo, Quest Software

It's been over a year since my first and very enthusiastic ASM article titled "Optimizing Oracle 10g on Linux Using Automated Storage Management", still currently available at:

Since then, quite a lot has changed in terms of the software technologies now available:

  • Redhat released Advanced Server 4.0 built on the 2.6 kernel
  • Redhat released with AS 4.0 a vastly improved LVM with GUI
  • Redhat released the Global File System (and now part of Fedora)
  • Oracle released version 10.2.0.1 of the database (10g release 2)
  • Oracle released version 2.0 of the ASM kernel driver and libraries
  • Oracle released version 2.0 of the Oracle Cluster File System

As you can see, the software technology landscape has so extensively changed as to reopen the entire ASM debate. In my first ASM paper I simply assumed either people would be utilizing ASM or not – without considering RAC usage ramifications. What numerous people have told me this past year at shows, conferences and on-site visits is that while ASM makes obvious sense for RAC environments, they also desired to know whether ASM was in fact a viable alternative for non-RAC environments. Specifically, does ASM perform as well as Linux file systems using a Logical Volume Manager?

Of course that's a challenge far too enticing to pass up – especially when there are tools like Quest's Benchmark Factory that make such tests trivial. So on to the races!

Click here for the article.  
  


Internal Implementation of Oracle Locks (Enqueue)
By Harish Kalra

Oracle server uses locks to provide concurrent access to shared resources whereas it uses latches to provide exclusive and short-term access to memory structures inside the SGA. Latches also prevent more than one process to execute the same piece of code, which other process might be executing. Latch is also a simple lock, which provides serialize and only exclusive access to the memory area in SGA. Oracle doesn’t use latches to provide shared access to resources because it will increase CPU usage. Latches are used for big memory structure and allow operations required for locking the sub structures. Shared resources can be tables, transactions, redo threads, etc. Enqueue can be local or global. If it is a single instance then enqueues will be local to that instance. There are global enqueus also like ST enqueue, which is held before any space transaction can be occurred on any tablespace in RAC. ST enqueues are held only for dictionary-managed tablespaces. These oracle locks are generally known as Enqueue, because whenever there is a session request for a lock on any shared resource structure, it's lock data structure is queued to one of the linked list attached to that resource structure (Resource structure is discussed later).

Click here for the article.  
  

DB2

Surviving Common DB2 Performance Problems
By Craig Mullins

In today’s modern enterprise, information is power; and database systems are the predominant technology for storing, managing, and accessing the data that enterprises use to turn into information. And DB2 is one of the leading database systems on the market.

DB2 is used by 100 percent of Fortune 100 firms and 80 percent of the Fortune 500. As such, it is an important component of the applications that drive the most significant businesses in the world.

Dynamic business requirements force constant change and overwhelming complexity on the typical IT environment. Regulatory compliance issues, time-to-market pressures, and industry consolidations cause turbulence as IT struggles to keep systems in sync with business demands. But managing systems becomes even more troublesome as technology trends evolve. Examples of these trends include business intelligence, e-commerce, and rapid software versioning.

Click here for the paper.  

Oracle Development

Is element found in collection?
By Steven Feuerstein

Oracle Database 10g allows you to use MEMBER OF syntax to determine if a particular values is a "member of" a nested table. Here is an example:

DECLARE
 TYPE clientele IS TABLE OF VARCHAR2 (64);
 client_list_12 clientele :=
 clientele ('Customer 1', 'Customer 2');
BEGIN 
 IF 'Customer 1' MEMBER OF client_list_12
 THEN
 DBMS_OUTPUT.put_line ('Customer 1 is in the 12 list');
 END IF;
 IF 'Customer 3' NOT MEMBER OF client_list_12
 THEN
 DBMS_OUTPUT.put_line ('Customer 3 is not in the 12 list');
 END IF;
END;
/

Click here for more.
 


Oracle PL/SQL Programming 2005
November 2-3, 2005 - Wyndham O'Hare Hotel, Chicago

September 2005 marks the 10th anniversary of the publication by O'Reilly Media of Oracle PL/SQL Programming (OPP), the first third-party text on Oracle PL/SQL and the first book on PL/SQL written by Steven Feuerstein. OPP has long been considered the "bible for PL/SQL developers" and has sold over 200,000 copies through its first three editions. Steven has decided to celebrate this moment with a two-day conference on, and celebration of, the Oracle PL/SQL language: Oracle PL/SQL Programming 2005.

Click here for more information.


Have you written a Users Group paper or presentation that you would like to share with your colleagues around the world?  Send your paper to newsletter@quest-pipelines.com for possible publication in the Pipeline Newsletter.  If your article is accepted, it will be mailed to over 28,000 readers!
Microsoft SQL Server

In A Nutshell
By Kevin Kline

Interested in learning more tips and techniques for SQL Server? "In A Nutshell" is what you are looking for. Kevin Kline, author of O'Reilly's "SQL in a Nutshell" and "Transact-SQL Programming" and President of The Professional Association for SQL Server, offers tips, techniques and much more.  Updated numerous times a week, there is always valuable material to be had!

Click here to see what Kevin is up to in the SQL Server world.

MySQL

Introducing the MySQL information_schema
Roland Bouman

MySQL 5.02 and later includes an information_schema database. The MySQL information_schema is a basic implementation of the INFORMATION_SCHEMA schema defined in the SQL Standard (ISO/IEC 9075). The purpose of this database is to provide data describing the databases and their constituent objects: metadata.

The information_schema database consists of a set of table-like objects (actually, system views), exposing metadata in a relational format. This allows one to execute arbitrary SELECT statements to retrieve or to format metadata. Metadata is available only for those objects that are accessible to the current user. The metadata is automatically maintained by the server, and the information_schema database is automatically created upon MySQL installation.

In MySQL versions prior to 5.0.2, virtually the only way to obtain metadata is through the MySQL specific SHOW syntax. The possibilities to control the output of the SHOW commands are limited to filtering for data of interest, whereas the information schema allows us to use the full set of relational operations defined by the SQL language. This allows DBA's and application developers to retrieve exactly the data they need to port applications, generate maintenance scripts or document database structure.

Click here for the paper.
 

Project Management Tips & Techniques
Include Deferred Benefits in the Cost of a Scope Change
Tom Mochal, www.tenstep.com 
Each month, Tom Mochal, President of TenStep, Inc. presents project management tips and techniques for planning and managing a project. TenStep, Inc. has a comprehensive, scalable project management process called TenStep (www.TenStep.com), as well as a project lifecycle process called LifecycleStep (www.LifecycleStep.com). Pipeline readers receive 20% off any TenStep or LifecycleStep purchase by entering the coupon code of "Pipeline" in their purchase.

Whenever you receive a scope change request, you should ask two fundamental questions.

  1. What is the business value of the change? The client must answer this question.

  2. What is the impact on the project in terms of schedule and budget? The project manager or project team members can answer this.

Click here for more information on including deferred benefits in the cost of a scope change.
 

News & Events

Webcasts
For detailed information on these webcasts, please visit our News and Events page.

Tips of the Month
Oracle DBA Tip of the Month:  Resize Undo Tablespace with Database Running
PL/SQL Tip of the Month:  Record-level DML
DB2 Tip of the Month:  Rollin/Rollout Operations with MDC Tables
SQL Server Tip of the Month: Prevent Deadlocks with the UPDLOCK Optimizer Hint
MySQL Tip of the Month: Disabling MySQL Auto-Reconnect
Puzzle

Interactive Crossword Puzzle: "Harry Potter"
 

 
1 Down - Oracle, for Example
Test your knowledge with the Pipeline Newsletter's Monthly Crossword Puzzle. 

Click here to Play!

Regular Features

We love getting white papers, tips, articles, and code examples/archives from our readers around the world.  Send your submission to newsletter@quest-pipelines.com.  If your article is published, it will be mailed to over 28,000 subscribers.

Our mission at Quest Software - RevealNet Labs is to anticipate the daily responsibilities and challenges faced by database professionals.  Our products help thousands of people solve problems and implement solutions every day.  This newsletter is designed to help facilitate the sharing of information among database professionals.  

About the Newsletter

This newsletter is distributed to Quest Software - RevealNet Labs customers, prospects and friends who have subscribed to it from our website. If you would like to unsubscribe, please visit http://qlist01.quest.com/UnsubMailingList/

Subscribe a Friend!

Do you know someone who would like to receive the Pipeline Newsletter? If so, please enter their email address in the box below and click SUBMIT.

  
Subscribe to re:Quest,
Quest's Quarterly newsletter with articles, new product announcements, success stories and much more.
 

Past Issues of the Pipeline Newsletter