Logo Oracle Deutschland   DBA Community  -  August 2011
RACCheck Tool - Best Practices für RAC Datenbanken
von Sebastian Solbach, ORACLE Deutschland B.V. & Co. KG

Oracle verbessert seine Dokumentation zur Installation der Grid Infrastruktur und RAC Datenbanken mit jedem Release. Auch werden die Checks zur Vorbereitung eines Systems immer besser, so dass nur noch sehr selten Installationen fehlschlagen oder nicht den Best Practice Vorschlägen von Oracle entsprechen. Hierzu veröffentlicht Oracle auch seine sogenannten RAC Starterkits, die den Datenbank und System Administratoren die Vorbereitung und Installation solcher Systeme erleichtern.

Doch wenn die Systeme einmal nach diesen Vorgaben installiert wurden und laufen, wird selten noch auf weitere Best Practices überprüft. Zu diesem Zweck hat Oracle ein neues kleines Tool veröffentlicht, welches die Best Practices auf installierten Systemen prüft: RACCheck.

Download und Dokumentation von RACCheck finden Sie auf My Oracle Support unter folgender Note: RACcheck - RAC Configuration Audit Tool (Doc ID 1268927.1)

Das RACCheck Skript

Das RACCheck Skript überprüft nicht nur den "Gesundheitszustand" der Grid Infrastruktur, sondern auch alle laufenden Datenbanken. Hierbei werden veraltete und zu löschende Logfiles ebenso mit angemerkt, wie nicht konforme Tablespaces, nicht balancierte ASM Diskgroups, falsche Kernelparameter, nicht genügend Plattenplatz etc.

Nicht erfüllte Best Practices werden hierbei in einer praktischen Liste ausgegeben, klassifiziert nach Informations-, Warnungs- und kritischen Fehlermeldungen, denen der Administrator noch einmal nachgehen sollte.

Zu jeder Meldung in der Kategorie INFO, WARNING und FAIL gibt es ein detailliertes Log, in welchem mehr Informationen zum Best-Practice Vorschlag von Oracle zu finden sind: Warum zum Beispiel der eine oder andere Kernelparameter gesetzt sein sollte und warum ein Tablespace ohne das Automatic Segment Space Management (kurz ASSM) nicht optimal für eine RAC Datenbank geeignet ist.

Wann sollte das RACCheck Skript verwendet werden?

Das RACCheck Skript kann der Administrator nach der RAC Installation benutzen, um das fertige System noch einmal zu prüfen. Ebenso macht es Sinn, RACCheck ca. alle 3 Monate auszuführen, um aktuelle Patch Informationen und Informationen über neue Best Practices zu erhalten oder Änderungen am System festzustellen.

Das RACCheck Skript lässt sich dabei in einem Silent Modus ausführen, damit man Systeme in einem festen Rhythmus ohne Interaktion der Administratoren prüfen lassen kann, oder interaktiv einfach mit "raccheck -a".

Welchen Einfluss hat das RACCheck Skript auf das System?

RACCheck selber ändert nichts am System und die Performance wird durch das Sammeln der Informationen kaum beeinträchtigt. Es benötigt nur etwas Plattenplatz, um die gesammelten Informationen (Logfiles) zu speichern. In meinem Fall (3 Knoten Cluster, eine Datenbank) war dies weniger als 5 MB.

RACCheck Beispiel:

Hier ein gekürztes Beispiel der Ausgabe des raccheck Skripts:
$ ./raccheck -a

CRS stack is running and CRS_HOME is not set. Do you want to set CRS_HOME to /opt/11.2.0.2/grid?[y/n][y]
Checking ssh user equivalency settings on all nodes in cluster
Node bumucsvm3 is configured for ssh user equivalency for oracle user
Node bumucsvm2 is configured for ssh user equivalency for oracle user

Searching for running databases . . . . .
List of running databases registered in OCR
1. buvmrac
2. None

Select databases for checking best practices. For multiple databases, select 1 for All [1].

Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS

-------------------------------------------------------------------------------------------------------
                                                 Oracle Stack Status
-------------------------------------------------------------------------------------------------------
Host Name  CRS Installed  ASM HOME       RDBMS Installed  CRS UP    ASM UP    RDBMS UP  DB Instance Name
-------------------------------------------------------------------------------------------------------
bumucsvm1   Yes             Yes             Yes             Yes        Yes      Yes      buvmrac_1
bumucsvm3   Yes             Yes             Yes             Yes        Yes      Yes               
bumucsvm2   Yes             Yes             Yes             Yes        Yes      Yes      buvmrac_2
-------------------------------------------------------------------------------------------------------
....


*** Checking RAC Best Practice Recommendations (PASS/WARNING/FAIL) ***


Performing SQL collections for use with audit checks on buvmrac...please stand by.

Log file for collections and audit checks are at
/home/oracle/raccheck/raccheck_081611_164933/raccheck.log

=============================================================
                    Node name - bumucsvm1
=============================================================
Collecting - ASM DIsk I/O stats
Collecting - ASM Disk Groups
Collecting - ASM disk partnership imbalance
Collecting - ASM diskgroup attributes
Collecting - ASM initialization parameters
Collecting - Active sessions load balance for buvmrac database
Collecting - Archived Destination Status for buvmrac database
Collecting - CONNECT Role Grantees for buvmrac database
Collecting - Cluster Interconnect Config for buvmrac database
Collecting - Data Files In Backup Mode for buvmrac database
Collecting - Database Archive Destinations for buvmrac database
Collecting - Database Component Status for buvmrac database
Collecting - Database Files for buvmrac database
Collecting - Database Instance Settings for buvmrac database
Collecting - Database Parameters for buvmrac database
Collecting - Database Properties for buvmrac database
Collecting - Database Registry for buvmrac database
Collecting - Database Sequences for buvmrac database
Collecting - Database Undocumented Parameters for buvmrac database
Collecting - Database Workload Services for buvmrac database
Collecting - Dataguard Status for buvmrac database
Collecting - Files Needing Media Recovery for buvmrac database
Collecting - Files not opened by ASM
Collecting - INVALID SYS and SYSTEM objects for buvmrac database
Collecting - INVALID application objects for buvmrac database
Collecting - Invalid Java Objects for buvmrac database
Collecting - Invalid Registry Components for buvmrac database
Collecting - JVM Roles for buvmrac database
Collecting - Log Sequence Numbers for buvmrac database
Collecting - Objects Duplicated in SYS and SYSTEM Schema for buvmrac database
Collecting - Percentage of asm disk  Imbalance
Collecting - Process for shipping Redo to standby for buvmrac database
Collecting - Redo Log information for buvmrac database
Collecting - Standby redo log creation status before switchover for buvmrac database
Collecting - CPU Information
Collecting - CRS active version
Collecting - CRS oifcfg
Collecting - CRS software version
Collecting - CSS Reboot time
Collecting - CSS diagwait
Collecting - CSS disktimout
Collecting - CSS miscount
Collecting - Cluster interconnect (clusterware)
Collecting - Clusterware OCR healthcheck
Collecting - Clusterware Resource Status
Collecting - Huge pages configuration
Collecting - Kernel parameters
Collecting - Linux module config.
Collecting - Maximum number of semaphore sets on system
Collecting - Maximum number of semaphores on system
Collecting - Maximum number of semaphores per semaphore set
Collecting - Memory Information
Collecting - OS Packages
Collecting - Oracle Executable Attributes
Collecting - Shared memory segments
Collecting - Table of file system defaults
Collecting - Voting disks (clusterware)
Collecting - number of semaphore operations per semop system call

 INFO =>    $CRS_HOME/log/hostname/client directory has too many older log files.
 INFO =>    oracleasm (asmlib) module is NOT loaded
 WARNING => Linux Swap Configuration does NOT meet Recommendation
 WARNING => kernel.shmmax parameter is NOT configured according to recommendation
 WARNING => Open file limit for root user (ulimit -n) is NOT >= 65536 or unlimited
 WARNING => pam_limits NOT configured properly for shell limits
 WARNING => PVM Guest xen.independent_wallclock is NOT Configured Correctly in /etc/sysctl.conf
 WARNING => OSWatcher is not running as is recommended.
 INFO =>    Jumbo frames (MTU 9000) are not configured for interconnect
 WARNING => kernel parameter rp_filter is set to 1.

Best Practice checking completed.Checking recommended patches on bumucsvm3.
---------------------------------------------------------------------------------

Collecting patch inventory on  CRS HOME /opt/11.2.0.2/grid
Collecting patch inventory on ORACLE_HOME /opt/oracle/product/11.2.0.2/db
---------------------------------------------------------------------------------
0 Recommended CRS patches for 112020 from /opt/11.2.0.2/grid on bumucsvm3
---------------------------------------------------------------------------------
Patch#   CRS  ASM    RDBMS RDBMS_HOME                              Patch-Description
---------------------------------------------------------------------------------

---------------------------------------------------------------------------------
1 Recommended RDBMS patches for  from /opt/oracle/product/11.2.0.2/db on bumucsvm3
---------------------------------------------------------------------------------
Patch#   RDBMS    ASM     type                Patch-Description
---------------------------------------------------------------------------------
12311357  yes            merge               GI PSU 11.2.0.2.2 (INCLUDES DATABASE PSU
---------------------------------------------------------------------------------

=============================================================
                    Node name - bumucsvm2
=============================================================
.....

Nützliche Links und Referenzen

  • RACcheck - RAC Configuration Audit Tool (Doc ID 1268927.1)
  • RAC Assurance Support Team: RAC and Oracle Clusterware Starter Kit and Best Practices (Generic) (Doc ID 810394.1)
  • Zurück zur Community-Seite