 |
Perfect Pitch | 2006-10-11 01:00:17 |
Oracle |
| |
The ability to analyze and correct Oracle Database physical read wait events is critical in any tuning project. The majority of activity in a database involves reading data, so this type of tuning can have a huge, positive impact on performance. System wait tuning has become very popular because it can show those wait events that are the primary bottleneck for the system. This paper explores a small subset of wait analysis, but it illustrates a critical concept of Oracle tuning: the fact that all Oracle databases wait on some kind of system resource, and it's the Oracle professional's job to determine whether the database is I/O bound, CPU bound, memory bound, or bound waiting on latches or locks.
|
| |
 |
It's the Little Things That Count | 2006-10-11 01:00:17 |
Oracle |
| |
One of the reasons that index skip scans are such a nice and welcome addition to the Oracle9i Database engine is that they are for the most part transparent to the end user and DBA. Queries that were once only satisfied through the use of a full table scan operation may now be handled through an index skip scan, with the end result being improved performance. This improved performance may also negate the need for other indexes that were created because a composite index was not being used by the optimizer.
|
| |
 |
Oracle Database 10g: Top Features for DBAs - Part 1: SQL and PL/SQL Features | 2006-10-11 01:00:17 |
Oracle |
| |
Transparent Data Encryption and XQuery support are the two major new SQL-related features in Oracle Database 10g Release 2, but the list doesn't end there. The paper presents SQL and PL/SQL features of Oracle Database 10g such as enhanced COMMIT, error-logging clause, WRAP package, conditional compilation, and unlimited DBMS Output.
|
| |
 |
Fine-Grained Auditing for Real-World Problems, Part 3 | 2006-10-11 01:00:17 |
Oracle |
| |
In the previous two papers of this series, the author introduced the concept of Fine-Grained Auditing (FGA) used to track select statements in Oracle9i Database and up. He also explained how to use the feature in complex environments such as within a web application via application contexts and client identifiers. These two papers have enough information to build a FGA setup for almost all types of database systems, however complex. In this paper, the author will explain the FGA enhancements Oracle Database 10g brings to the table.
|
| |
 |
Fine-Grained Auditing for Real-World Problems, Part 2 | 2006-10-11 01:00:17 |
Oracle |
| |
In the Part 1 of this series, the author described how to build a Fine-Grained Auditing (FGA) system to audit select statements, capturing the statements depending on certain conditions - a task impossible in regular auditing or though the use of DML triggers and the Log Miner tool. In addition to creating an audit trail, the paper also showed how one can make it execute a user-defined procedure when the conditions for audit are met. This paper will explore advanced FGA concepts such as application user models and the reconstruction of data viewed by the user.
|
| |
 |
Fine-Grained Auditing for Real-World Problems | 2006-10-11 01:00:17 |
Oracle |
| |
Traditional Oracle Database auditing options lets track the actions users perform on objects at the macro level - for example, if one audits for SELECT statements on a table, he or she can track who selected data from the table. However, people don't know what they selected. With data-manipulating statements - such as INSERT, UPDATE, or DELETE - one can capture any changes by using triggers or by using the Oracle LogMiner utility to analyze the archived logs. Because simple SELECT statements are non-data-manipulating, they neither fire a trigger nor go into archived logs that one can mine later, so these two techniques fall short where SELECT statements are concerned. Oracle9i Database introduced a new feature called Fine-Grained Auditing (FGA), which changed all that.
|
| |
 |
Bitmap Index Vs. B-Tree Index: Which and When? | 2006-10-11 01:00:17 |
Oracle |
| |
Conventional wisdom holds that bitmap indexes are most appropriate for columns having low distinct values - such as GENDER, MARITAL_STATUS, and RELATION. This assumption is not completely accurate, however. In reality, a bitmap index is always advisable for systems in which data is not frequently updated by many concurrent systems. In fact, as demonstrated here, a bitmap index on a column with 100-percent unique values (a column candidate for primary key) is as efficient as a B-tree index. This paper provides some examples, along with optimizer decisions, that are common for both types of indexes on a low-cardinality column as well as a high-cardinality one.
|
| |
 |
Using Oracle Database Transactions in .NET | 2006-10-11 01:00:17 |
Oracle |
| |
In this paper, the reader will learn how to use database transactions in Visual Basic .NET (VB.NET) and Visual C# .NET (C#). Specifically, the reader will explore database transactions, use OracleTransaction objects in .NET programs, and learn how to set a transaction savepoint. The author shows how to create OracleTransaction objects and use them to submit transactions to the database, how to use a savepoint to partially roll back a transaction, and how the Oracle Database separates concurrent transactions.
|
| |
 |
Using Large Objects in .NET | 2006-10-11 01:00:17 |
Oracle |
| |
In this paper, the reader will learn how to use large objects in Visual Basic .NET (VB.NET) and Visual C# .NET (C#). Specifically, the reader will earn how to read and write to Large OBjects (LOBs) using .NET. He or she will also learn how to read data via a BFILE, which one can think of as a pointer to a file. This paper assumes familiarity with C# and VB.NET programming in general.
|
| |
 |
Optimize Result Set Retrieval Using ODP.NET and Ref Cursors | 2006-10-11 01:00:17 |
Oracle |
| |
There are several ways to return query results from an Oracle database to a client application, using Oracle Data Provider for .NET; one of the most powerful, flexible, and scalable methods is to use ref cursor. This paper introduces ref cursors and why they are useful, including an example of how to use multiple active result sets with Oracle. The sample code illustrates how simple it is to begin using ref cursors in the .NET code.
|
| |