Knowledge

RAC Tuneing

Introduction

In a presentation from the Oracle on the topic of RAC optimization, one finds the following remark:

  „Most of the time a performance problem is not a RAC problem.“

Experience shows that the adherence to the following addition can't hurt in practice:

„But sometimes performance problems appear in a RAC environment first!“

Optimization within a RAC database

Oracle databases offer multiple optimization possibilities in the sight of the database administrator. One must revert to these if the problem cannot be resolved in the application.

This is typically the case for third-party applications, where we have no influence how SQL operations are generated. Therefore it is important to know the specific characteristics of the application to be optimized in order to choose the most promising starting point for the optimal outcome.

Parameterization of the Interconnect

Through the adjustment, different hidden parameters are impeded so that individual data blocks will not be maintained disproportionately long within a physical instance. This avoids that sessions seem to be blocked by waiting endless for getting access to a single block to complete an operation. This may impact the overall performance slightly negative in theory but the reduction of variance in execution time is much more important in practice.

Please keep in mind that the suggestions from Oracle using a fast dedicated network for the interconnect should independent of any kind of parametrization have the highest importance.

Multiple Block Sizes

Finding a balance between the blocksize needed to store a number of records, the concurrency between the different nodes accessing the block and the additional traffic on the interconnect generated by the worse relation between working and administrative data for smaller blocksizes will minimize the time a sessison has to wait for a datablock needed.

Adjustment of the number of ITL Slots

Through one of the current database objects matched number of database objectsthe wait time will be minimized and deadlocks effectively avoided. Durch eine an die Verwendung des jeweiligen Datenbankobjekts angepasste Anzahl von ITL-Slots werden Wartezeiten minimiert und Deadlocks erfolgreich vermieden.

Concurrent DML Execution

High loads of database objects and especially also individual data sets through a high number of concurrent insert-, delete and request operations in progress. Hohe Belastung von Datenbankobjekten und insbesondere auch einzelner Datensätze durch eine hohe Anzahl von gleichzeitig durchgeführte Insert-, Delete- und Abfrageoperationen.

 

Blockades through Full Table Scans

Minimization of Full Table scans through an appropriate parameterization of the cost based optimization for the avoidance of blockades in the execution of databses on the basis of concurrent access to individual data blocks. Minimierung von Full-Table Scans durch eine geeignete Parametrierung der kostenbasierten Optimierung zur Vermeidung von Blockaden bei dem Abarbeiten von Datenbankabfragen aufgrund des konkurrierenden Zugriffs auf einzelne Datenblöcke.

Generation of Statistics

The correct choice during a new generation is always, sometimes, and never allows for database objects, to guarantee the stability of plans for completion. Die korrekte Auswahl der bei einer Neugenerierung immer, manchmal und keinesfalls zu berücksichtigenden Datenbankobjekte, um die Stabilität von Ausführungsplänen zu gewährleisten.

Plan stability, stored outlines, and baselines

Stabilization and optimization of the execution plans dependent upon the database version through the specific use and manipulation of stored outlines, and accordingly, the creation of baselines. Stabilisierung und Optimierung von Ausführungsplänen in Abhängigkeit der Datenbankversion durch die gezielte Verwendung und Manipulation von Stored Outlines, bzw. der Erstellung von Baselines.

 

Partitioning

Through the use of a key for a hash- or compound partitioning chosen in the application, the access to a central table can be successfully equalized. Durch die Verwendung geschickt gewählter Schlüssel für eine Hash- oder zusammengesetzte Partitionierung kann der Zugriff auf einige zentrale Tabellen erfolgreich entzerrt werden.

 

Indexing

The following problem states are shown: * Index contention due to frequent block splittings. * The use of unselective and imcomplete indices. * The advantages and limitations of the application of reverse indices. * Avoidance of access through the instance-dependent expansion of index values. Es werden dabei die folgenden Problemstellungen betrachtet:

  • Index Contention aufgrund häufigen Block Splittings.
  • Die Verwendung unselektiver und unvollständiger Indices.
  • Die Vorteile und Einschränkungen bei der Verwendung von Reverse Indices.
  • Entzerrung der Zugriffe durch die instanzabhängige Erweiterung von Indexwerten.

 

Database Trigger

Construction and structure in the area of generated database triggers from workflow policies and their dependence upon the underlying sequence and instance. Aufbau und Struktur der im Rahmen von Workflow Policies generierten Datenbanktrigger und deren Abhängigkeit von der zugrundeliegenden Sequenz und Instanz.

 

Use of Sequences

Correct parameterization of the used sequences in the database columns and the set of problems from instance-dependent number circles with the synchronisation and eradication of working processes. Korrekte Parametrierung der verwendeten Sequenzen auf Datenbankebene und die Problematik von instanzabhängigen Nummernkreisen bei der Synchronisation und Abarbeitung von Geschäftsprozessen.

 

Invalidation of the SQL area

Although the individual user only moves in a small part of the Siebel CRM application, there are notable delays due to a permanent invalidation of the SQL area with a subsequent reparsing of all database requests. Obwohl die einzelnen Benutzer sich nur in einem kleinen Teil der Siebel CRM Anwendung bewegen gibt es merkliche Verzögerungen aufgrund einer permanenten Invalidierung der SQL-Area mit einem anschließenden Neuparsen aller Datenbankabfragen.

Reparsing von SQL

Assymetric behaviour of nodes

gleiche Parametrierung, gleiche Auslastung oder einzelne Aufgaben bevorzugt von einzelnen Knoten abarbeiten lassen z.B. bei stark unterschiedlicher Ausstattung. schnelle Platte.

Note

With consideration of the above specified optimization possibilities, Oracle RAC demonstrates to be the ideal solution for most uses. Through a high scaling factor, a large degree of safety is provided, so that requirements that arise in the future are met.

 

This page was updated 24.04.2011

KnowledgeBanner
QueryAdvisor trial.
QueryAdvisor in 30 Seconds

QueryAdvisor quote.
QueryAdvisor support forum.
QueryAdvisor Twitter channel.
social icons Facebook Twitter Blogspot RSS