Install vncserver

root@si01 ~]# yum install vnc-server
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vnc-server.x86_64 0:4.1.2-14.el5_5.4 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================
 Package              Arch             Version                       Repository             Size
=================================================================================================
Updating:
 vnc-server           x86_64           4.1.2-14.el5_5.4              ol5_u6_base           2.0 M

Transaction Summary
=================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total download size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Transaction Test Succeeded

[root@si01 ~]# service vncserver start
Starting VNC server: no displays configured                [  OK  ]

Running Transaction
  Updating       : vnc-server                                                                1/2 
  Cleanup        : vnc-server                                                                2/2 

Updated:
  vnc-server.x86_64 0:4.1.2-14.el5_5.4                                                           

Complete!

[root@si01 ~]# xhost +
access control disabled, clients can connect from any host
Running Transaction Test
Finished Transaction Test


As oracle, now you can run any OUI installation like dbca, netca, runInstaller, etc..

RMAN recovery catalog

You can always use controlfile as the primary store for the repository.  However, for large databases, the recovery catalog provides a larger storage capacity and allowing you to keep longer history of backups.  You can also create and store RMAN scripts int he recovery catalog and oracle suggests to create central catalog for all your databases.  I think the RMAN Receipes Oracle Oracle Database 11g (Arup Nanda, Darl Kuhn, Sam Alapati) is a good book for quick reference and solutions for all backup recoveries scenarios.


Anyway, to setup RMAN repository, register, and setup you just follow these simple steps:
  •  Create a blank repository database - RMANDB
  • create tablespace RMANTS datafile '+LAB_DG100' size 8g;
  • create user rman identified by rman123 temporary tablespace temp default tablespace RMANTS quota unlimited on RMANTS;
  • grant recovery_catalog_owner to rman;
Before backup a database, you need to connect and register it with the catalog:


RMAN> connect catalog rman/rman123@RMANDB
RMAN> register database;
RMAN> resync catalog;


Backup database plus archive log and name a tag
RMAN > backup database format '/repos/backup/backup_%U' plus archivelog tag 'gold_backup';


Backup control file and spfile:


RMAN > backup as copy tag='gold_cntr' format '/repos/backup/%d.%s.%p.%t.CTL' current controlfile;
RMAN > backup spfile format '/repos/backup/%d.%s.%p.%t.SPFILE';


Below are some important RMAN views:
rc_rman_status
rc_datafile
rc_database
rc_configuration
, etc..

Copy controlfiles / datafiles from filesystem to ASM

To copy the control files to ASM:


SQL> select name from v$controlfile;


NAME
--------------------------------------------------------------------------------
/dba/lab/backup/LABDB/control01.ctl


SQL> shutdown immediate;
SQL> startup nomount;

RMAN> restore controlfile to '+LAB_DG' from '/dba/lab/backup/LABDB/control01.ctl';



    Starting restore at 28-JAN-10 12:56:15
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=66 device type=DISK


    channel ORA_DISK_1: copied control file copy
    Finished restore at 28-JAN-10 12:56:17




ASMCMD [+LAB_DG/LABDB/CONTROLFILE] > ls -ltr


    Type         Redund  Striped  Time             Sys  Name
    CONTROLFILE  UNPROT  FINE     JUN 28 12:00:00  Y    current.310.755009777




Modify your init.ora and point the control_file=+LAB_DG/LABDB/CONTROLFILE/current.310.755009777.  You can multiplex with the same steps above.



To copy datafiles to ASM:
col name format a72
set linesize 132


select file#, name, bytes/1024/1024 as MB from v$datafile;


     FILE# NAME                                                                             MB
---------- ------------------------------------------------------------------------ ----------
         1 /tmp/dba/LABDB/lab_D-LABDB_I-4162359530_TS-SYSTEM_FNO-1_01mf4a6a             710
         2 /tmp/dba/LABDB/lab_D-LABDB_I-4162359530_TS-SYSAUX_FNO-2_02mf4a6a             670
         3 /tmp/dba/LABDB/lab_D-LABDB_I-4162359530_TS-UNDOTBS1_FNO-3_03mf4a6a            70
         4 /tmp/dba/LABDB/lab_D-LABDB_I-4162359530_TS-USERS_FNO-4_05mf4a6b                5





rman target /


Recovery Manager: Release 11.2.0.2.0 - Production on Tue Jun 28 13:21:15 2011


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


connected to target database: LABDB (DBID=4162359530, not open)


RMAN> copy datafile 1 to '+LAB_DG';


Starting backup at 28-JAN-10 13:21:46
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=96 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/tmp/dba/LABDB/lab_D-LABDB_I-4162359530_TS-SYSTEM_FNO-1_01mf4a6a
output file name=+LAB_DG/rmandr/datafile/system.311.755011307 tag=TAG20110628T132147 RECID=22 STAMP=755011309
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 28-JAN-10 13:21:50


RMAN> copy datafile 2 to '+LAB_DG';
RMAN>  copy datafile 3 to '+LAB_DG';
RMAN> copy datafile 4 to '+LAB_DG';


RMAN> switch datafile 1 to copy;


datafile 1 switched to datafile copy "+LAB_DG/rmandr/datafile/system.311.755011307"


RMAN> switch datafile 2 to copy;
datafile 2 switched to datafile copy "+LAB_DG/rmandr/datafile/sysaux.312.755011327"

RMAN> switch datafile 3 to copy;
datafile 3 switched to datafile copy "+LAB_DG/rmandr/datafile/undotbs1.313.755011337"


RMAN> switch datafile 4 to copy;
datafile 4 switched to datafile copy "+LAB_DG/rmandr/datafile/users.314.755011345"


SQL> alter database open;
Database altered.

Mount Points and /etc/fstab

/etc/fstab is referenced each time the system boots.  It consists fields like device name, mount point, file system type, fsck order like 0 = ignore, 1=fist, 2-9 = second, and third, etc.  After the filesystem is created in /etc/fstab, it's important to use the mount-a to mount the filesystem just created to check for errors.  


umount /apps:  To unmount the file system
fuser -v /apps:  For some reasons you cannot mount a filesystem that has open files, you can display information about the processes using a filesystem.
fuser -km /apps:  To kill all actions on a filesystem
mount -o remount,rw / :  To mount in a single operation.  This is common during recovery operation.

Install Guest Addition

When installing guest addition, I got the error Makefile:23 unable to find the source of your kernel:.  I tried to install gcc dkms kernel-devl, etc, and export KERN_DIR = /usr/srv/kernels/ but the error was not resolved.  
I found that by running yum install kernel* dkms gcc  the problem was solved.




[root@localhost VBOXADDITIONS_4.0.8_71778]# sh VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.0.8 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing installed version 4.0.8 of VirtualBox Guest Additions...
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
Your guest system does not seem to have sufficient OpenGL support to enable
accelerated 3D effects (this requires Linux 2.6.27 or later in the guest
system).  This Guest Additions feature will be disabled.




Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]
Installing the Window System drivers
Installing X.Org 7.1 modules                               [  OK  ]
Setting up the Window System to use the Guest Additions    [  OK  ]
You may need to restart the hal service and the Window System (or just restart


the guest system) to enable the Guest Additions.


Installing graphics libraries and desktop services componen[  OK  ]

Create new disk and file system on a Linux VM

Here are the steps to create a new disk and file system on Linux / Virtualbox

  • On the VirtualBox:   Go to Machine-->Settings-->Storage-->SATA Controller-->Add disk with 32GB (apps.vdi for example)
  • On the Linux server:   fdisk -l , the new disk /dev/sdb is presented.
  • fdisk /dev/sdb --> n (to add a new partition) -->to accept default, press Enter--> +16g (size ) -->p (to print partition table)-->w (write table to disk and exit)
  • partprobe /dev/sdb
  • cat /proc/partitions
  • mkfs -t ext 3 /dev/sdb1
  • e2label /dev/sdb1 /apps
  • vi /etc/fstab to add the label 
  • LABEL=/apps  /apps  ext3  defaults 1 2
  • mkdir /apps
  • mount /apps

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1              32G  177M   30G   1% /apps

That's all..




vboxmanage some useful commands

vboxmanage showvminfo pi01

vboxmanage list
Usage:

VBoxManage list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies|
                            bridgedifs|hostonlyifs|dhcpservers|hostinfo|
                            hostcpuids|hddbackends|hdds|dvds|floppies|
                            usbhost|usbfilters|systemproperties|extpacks


/u01/orace/VM/vboxmanage showhdinfo pi01.vdi
UUID:                 307e2889-7fd3-424b-9187-30260f2a3973
Accessible:           yes
Logical size:         32768 MBytes
Current size on disk: 4330 MBytes
Type:                 normal (base)
Storage format:       VDI
Format variant:       dynamic default
In use by VMs:        pi01 (UUID: 05847e2d-4797-4e1d-ab7f-5cb3cb177698)

/u01/oracle/VM/vboxmanage clonehd pi01.vdi dns-an.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: da5a37f5-a411-4a9a-8b66-4ef36ff93e55

VBoxManage createhd --filename asm1.vdi --size 8196 --format VDI --variant Fixed

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Disk image created. UUID: f6272fd8-c650-408a-965b-0d57c8c5fc
VBoxManage storageattach pi01 --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable

VBoxManage modifyhd asm1.vdi --type shareable
VBoxManage showhdinfo asm1.vdi

UUID:                 f6272fd8-c650-408a-965b-0d57c8c5fcb7
Accessible:           yes
Logical size:         8196 MBytes
Current size on disk: 8196 MBytes
Type:                 shareable
Storage format:       VDI
Format variant:       fixed default
In use by VMs:        pi01 (UUID: 05847e2d-4797-4e1d-ab7f-5cb3cb177698)
Location:             /Users/ashleynguyen/VirtualBox VMs/pi01/asm1.vdi


The oracle-validated

yum info oracle-validated

Summary    : Verifies and sets system parameters based on Oracle validated configuration recommendations for OEL5
License    : GPL
Description: This package verifies and sets system parameters based on Oracle validated configuration recommendations for Oracle Enterprise Linux
Release 5 Files affected: /etc/sysctl.conf, /etc/security/limits.conf, /etc/modprobe.conf,   /boot/grub/menu.lst.
For changes to modules, this package installation will modify module paramters and re-insert


cd /etc/yum.repos.d


wget http://public-ym.oracle.com/public-yum-el5.repo

Change enabled from 0 to 1 for the followings:


[el5_u5_base]
name=Enterprise Linux $releasever U5 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/5/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[ol5_u5_base]
name=Oracle Linux $releasever - U5 - x86_64 - base
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/5/base/x86_64/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[ol5_u6_base]
name=Oracle Linux $releasever - U6 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/6/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[el5_addons]
name=Enterprise Linux $releasever - $basearch - addons
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[el5_oracle_addons]
name=Enterprise Linux $releasever - $basearch - oracle_addons
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/oracle_addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1



yum install oracle-linux
yum install oracle-validated
yum install scsi-target-utils
yum install sccsi-initiator-utils
yum install bind bind-utils bind-libs
yum install xterm

Change Scan Port

srvctl status scan_listener

SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node srvdb02
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is running on node srvdb01
SCAN Listener LISTENER_SCAN3 is enabled
SCAN listener LISTENER_SCAN3 is running on node srvdb01

lsnrctl status LISTENER_SCAN1
lsnrctl status LISTENER_SCAN2
lsnrctl status LISTENER_SCAN3

crsctl stat res ora.LISTENER_SCAN1.lsnr

NAME=ora.LISTENER_SCAN1.lsnr
TYPE=ora.scan_listener.type
TARGET=ONLINE
STATE=ONLINE on srvdb02

ps -ef | grep -i scan

srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP: 1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP: 1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP: 1521


srvctl stop scan_listener

srvctl modify scan_listener -p 1972

srvctl config scan_listener

SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1972
SCAN Listener LISTENER_SCAN2 exists. Port: TCP: 1972
SCAN Listener LISTENER_SCAN3 exists. Port: TCP: 1972

srvctl start scan_listner


SQLPLUS> alter system set remote_listener='racpoc-scan:1972';

System altered.

Service and Listener for non-RAC Oracle Database

Service - Definition:

A service is a means of grouping sessions by type of work more manageable, measurable, tunable, and recoverable.  It's an abstraction layer allowing clients and applications to access its data from the database.  It's the base for high availability of connections and additional performance tuning dimension.

3 Steps to create a service:

1)  Create a service name and a local listener (if not there) in tnsnames.ora

DBADW_ETL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = srv01.an.com)(PORT = 1972))
    (CONNECT_DATA =
      (SERVICE_NAME = DBADW_ETL)
    )
  )

DBA_L1 =
   (ADDRESS = (PROTOCOL = TCP)(HOST =srv01.an.com)(PORT = 1972))

2)  Create a listener in Listener.ora

ADR_BASE_DBA = /apps/oracle

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_DBA = ON

SID_LIST_DBA =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = DBALT)
      (ORACLE_HOME = /apps/oracle/product/11.2.0/DB)
      (SID_NAME = DBALT)
    )
  )

DBA =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = srv01.an.com)(PORT = 1972))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1972))
    )
  )


3)  Create service and register it via dbms_service

SQL> exec dbms_service.create_service(service_name=>'DBADW_ETL', network_name=>'DBADW_ETL');

SQL> exec dbms_service.start_service('DBADW_ETL');

SQL> alter system set local_listener = DBA_L1 scope=both;

SQL> alter system register;

SQL> show parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      DBADWLT, DBADW_ETL


SQL> show parameter listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                       string      DBA_L1
remote_listener                      string


To drop the service:

SQL> exec dbms_service.stop_service('DBADW_ETL');
PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('DBADW_ETL');
PL/SQL procedure successfully completed.


Create service via srvctl method:

srvctl add service -d MYDB -s DSPOC
srvctl status service -d MYDB -s DSPOC

Service DSPOC is not running.

srvctl start service -d MYDB -s DSPOC

SQL> show parameter service
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      MYDB, DSPOC



Note:  If you get ORA-12514: TNS: listener does not currently know of service required in connect.., check your tnsnames.ora and the local listener.  You might need to set the local_listener = memory or bounce it.

Trace slow network connections

To trace the slow connections:

1. Add the following parameters in the sqlnet.ora file on the CLIENT workstation:

TRACE_LEVEL_CLIENT=16
TRACE_DIRECTORY_CLIENT=
TRACE_FILE_CLIENT=client
TRACE_UNIQUE_CLIENT=ON
TRACE_TIMESTAMP_CLIENT=ON

If you need to restrict the amount of disk space used by the long-term traces then you can also set the following:

TRACE_FILELEN_CLIENT=
TRACE_FILENO_CLIENT=

2. Add the following parameters in the sqlnet.ora file on the SERVER:

TRACE_LEVEL_SERVER=16
TRACE_DIRECTORY_SERVER=
TRACE_FILE_SERVER=server
TRACE_TIMESTAMP_SERVER=ON

If you need to restrict the amount of disk space used by the long-term traces then you can also set the following:

TRACE_FILELEN_SERVER=
TRACE_FILENO_SERVER=

3. Try to reproduce the issue.

Restore OCR and Vote after corrupted ASM CRS diskgroup

From the below alert logs, the CRS (OCR, VOTE in ASM diskgroup) was corrupted.

WARNNING: cache read a corrupted block group=1(GRID) fn=6 blk=2 from disk 1(APP_PV_DISK1)
Errors in file /apps/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_8335.trc:
ORA-15196: invalid ASM block header [kfc.c:25316] [endian_kfbh] [6] [2] [0 != 1]
ORA-15196: invalid ASM block header [kfc.c:25165] [endian_kfbh] [6] [2] [0 != 1]
NOTE: a corrupted block from group GRID was dumped to /apps/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_8335.trc
WARNNING: cache read(retry) a corrupted block group=1(GRID) fn=6 blk=2 from disk 1(APP_PV_DISK1)
Errors in file /apps/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_8335.trc:
ORA-15196: invalid ASM block header [kfc.c:25316] [endian_kfbh] [6] [2] [0 != 1]
ORA-15196: invalid ASM block header [kfc.c:25165] [endian_kfbh] [6] [2] [0 != 1]
The fastest way to fix this problem is to recreate and recover the ocr and vote ASM diskgroup by following the below steps:

1) Stop crs from all nodes
                crsctl stop crs –f

2) To clear out ASM header of the corrupted ASM that contains OCR and vote files

sudo -u root dd if=/dev/zero of=/dev/emcpowerb9 bs=8192 count=12800
sudo -u root dd if=/dev/zero of=/dev/emcpowerc9 bs=8192 count=12800
sudo -u root dd if=/dev/zero of=/dev/emcpoweri9 bs=8192 count=12800

3)  Label the CRS disks

/etc/init.d/oracleasm deletedisk APP_PV_DISK1
/etc/init.d/oracleasm createdisk APP_PV_DISK1 /dev/emcpowerb9


/etc/init.d/oracleasm deletedisk APP_PV_DISK2
/etc/init.d/oracleasm createdisk APP_PV_DISK2 /dev/emcpowerc9

/etc/init.d/oracleasm deletedisk APP_PV_DISK3
/etc/init.d/oracleasm createdisk APP_PV_DISK3 /dev/emcpoweri9

4)  Rescan disks from all nodes as root

/usr/sbin/oracleasm scandisks

5)  Start CRS in exclusive mode to prevent ora.crsd to start up

[root@rac01bin]# ./crsctl start crs -excl -nocrs

6)  Create CRS diskgroup

SQL> create diskgroup GRID normal redundancy disk 'ORCL:APP_PV_DISK1','ORCL:APP_PV_DISK2','ORCL:APP_PV_DISK3' attribute=’11.2’;

Diskgroup created.

SQL> select name, state from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
GRID                             MOUNTED

7)  Restore OCR from good / latest backup
cd /u01/grid/11.2.0/grid/cdata/appdev
sudo -u root /u01/grid/11.2.0/grid/bin/ocrconfig -restore backup00.ocr

8)  Recreate the vote disk

sudo -u root /u01/grid/11.2.0/grid/bin/crsctl replace votedisk +GRID

Successful addition of voting disk a47251fdbb914f2bbfe0abbfac752af0.
Successful addition of voting disk 9e34471ba0134f67bf90e922d1af2e3e.
Successful addition of voting disk 433dcfc8a0664f5bbf1a7b264ab108ce.
Successfully replaced voting disk group with +GRID.
CRS-4266: Voting file(s) successfully replaced

9)  Stop and restart crs
crsctl stop crs –f
crsctl start crs

AMDU - Extract available ASM metadata

This utility from 11g is used to get ASM disk information and also can dump other information while asm instance is not running. For example you can get files from asm disk even though asm is not running.

To setup:

 export LD_LIBARY_PATH=$LD_LIBARY_PATH:'pwd'
export PATH=$PATH:'pwd'
export LIBPATH=$LIBPATH:'pwd'

To get ASM information for DATA diskgroup:

./amdu - diskstring '/dev/oracleasm/disks/*' -dump 'DATA'

-*-amdu-*-

******************************* AMDU Settings ********************************
ORACLE_HOME = /u01/apps/11.2.0/grid
System name:   Linux
Node name:       rac01.domain.net
Release:               2.6.18-238.9.1.el5
Version:               #1 SMP Fri Mar 18 12:42:39 EDT 2011
Machine:             x86_64
amdu run:           02-JUN-11 12:31:53
Endianess:          1

--------------------------------- Operations ---------------------------------
       -dump DATA

------------------------------- Disk Selection -------------------------------
-diskstring '/dev/oracleasm/disks/*'

------------------------------ Reading Control -------------------------------

------------------------------- Output Control -------------------------------

********************************* DISCDATAERY **********************************
                Disk Path: /dev/oracleasm/disks/DATA_DISK1
           Unique Disk ID:
               Disk Label:
     Physical Sector Size: 512 bytes
                Disk Size: 5114 megabytes
               Group Name: DATA
                Disk Name: DATA_DISK1
       Failure Group Name: DATA_DISK1
              Disk Number: 0
            Header Status: 3
       Disk Creation Time: 2011/05/27 14:57:22.771000
          Last Mount Time: 2011/05/27 16:28:18.723000
    Compatibility Version: 0x0b200000
         Disk Sector Size: 512 bytes
         Disk size in AUs: 5114 AUs
         Group Redundancy: 2
      Metadata Block Size: 4096 bytes
                  AU Size: 1048576 bytes
                   Stride: 113792 AUs
      Group Creation Time: 2011/05/27 14:57:22.720000
  File 1 Block 1 location: AU 2

***************** Slept for 6 seconds waiting for heartbeats *****************

*************************** SCANNING DISKGROUP DATA ****************************
            Creation Time: 2011/05/27 14:57:22.720000
         Disks DiscDATAered: 3
               Redundancy: 2
                  AU Size: 1048576 bytes
      Metadata Block Size: 4096 bytes
     Physical Sector Size: 512 bytes
          Metadata Stride: 113792 AU
   Duplicate Disk Numbers: 0


---------------------------- SCANNING DISK N0003 -----------------------------
Disk N0003: '/dev/oracleasm/disks/DATA_DISK1'
AMDU-00209: Corrupt block found: Disk N0003 AU [0] block [43] type [4096]
AMDU-00201: Disk N0003: '/dev/oracleasm/disks/DATA_DISK1'
AMDU-00209: Corrupt block found: Disk N0003 AU [0] block [44] type [4096]
AMDU-00201: Disk N0003: '/dev/oracleasm/disks/DATA_DISK1'
AMDU-00209: Corrupt block found: Disk N0003 AU [0] block [45] type [4096]

RACcheck Tool

According to Oracle metalink Doc 1268927.1, RACcheck is a RAC Configuration Audit tool  designed to audit various important configuration settings within a Real Application Clusters (RAC), Oracle Clusterware (CRS), Automatic Storage Management (ASM) and Grid Infrastructure environment. The tool audits configuration settings within the following categories:
OS kernel parameters
OS packages
Many other OS configuration settings important to RAC.
CRS/Grid Infrastructure
RDBMS
ASM
Database parameters
Many other database configuration settings important to RAC.

To run it:  ./raccheck -a
=============================================================
                    Node name - rac01                               
=============================================================
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 TESTDB database
Collecting - Archived Destination Status for TESTDB database
Collecting - CONNECT Role Grantees for TESTDB database
Collecting - Cluster Interconnect Config for TESTDB database
Collecting - Data Files In Backup Mode for TESTDB database
Collecting - Database Archive Destinations for TESTDB database
Collecting - Database Component Status for TESTDB database
Collecting - Database Files for TESTDB database
Collecting - Database Instance Settings for TESTDB database
Collecting - Database Parameters for TESTDB database
Collecting - Database Properties for TESTDB database
Collecting - Database Registry for TESTDB database
Collecting - Database Sequences for TESTDB database
Collecting - Database Undocumented Parameters for TESTDB database
Collecting - Database Workload Services for TESTDB database
Collecting - Dataguard Status for TESTDB database
Collecting - Files Needing Media Recovery for TESTDB database
Collecting - Files not opened by ASM
Collecting - INVALID SYS and SYSTEM objects for TESTDB database
Collecting - INVALID application objects for TESTDB database
Collecting - Invalid Java Objects for TESTDB database
Collecting - Invalid Registry Components for TESTDB database
Collecting - JVM Roles for TESTDB database
Collecting - Log Sequence Numbers for TESTDB database
Collecting - Objects Duplicated in SYS and SYSTEM Schema for TESTDB database
Collecting - Percentage of asm disk  Imbalance
Collecting - Process for shipping Redo to standby for TESTDB database
Collecting - Redo Log information for TESTDB database
Collecting - Standby redo log creation status before switchover for TESTDB 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
[sudo] password for oracle:
Collecting - ACFS and ASM driver version comparison [ACFS]
Collecting - CRS user limits configuration
Collecting - CRS user time zone check
Collecting - Custom rc init scripts (rc.local)
Collecting - Generic ACFS health [ACFS]
Collecting - Health of the mounted ACFS file systems [ACFS]
Collecting - Health of unmounted ACFS file systems [ACFS]
Collecting - Interconnect interface config
Collecting - Network interface stats
Collecting - OCFS2 disks
/tmp/root_raccheck.sh: line 49: /sbin/mounted.ocfs2: No such file or directory
Collecting - Root Open File Limit
Collecting - Verify ioctl to advm [ACFS]
Collecting - Volume list for unmount ACFS file system [ACFS]
Collecting - ocsf status
/tmp/root_raccheck.sh: line 68: /etc/init.d/o2cb: No such file or directory
Collecting - root time zone check
Data collections completed. Checking best practices on rac01.
--------------------------------------------------------------------------------------
 INFO =>    $CRS_HOME/log/hostname/client directory has too many older log files.
 WARNING => LMS is not running in real time scheduling class for TESTDB
 INFO =>    One or more disks found which are not part of any disk group. for TESTDB
 WARNING => Open files limit (ulimit -n) for current user is NOT set to recommended value >= 65536 or unlimited
 WARNING => $ORACLE_HOME/bin/oradism setuid bit is NOT set
 WARNING => $ORACLE_HOME/bin/oradism ownership is NOT root
 WARNING => fast_start_mttr_target has NOT been changed from default on TESTDB1 instance
 INFO =>    audit_file_dest has audit files older than 30 days for TESTDB
 WARNING => One or more redo log groups are NOT multiplexed for TESTDB
 INFO =>    One or more datafiles are NOT autoextensible for TESTDB
 INFO =>    oracleasm (asmlib) module is NOT loaded
 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 => VKTM is not running in real time scheduling class for TESTDB
 WARNING => crsd Log Ownership is NOT Correct (should be root root)
 WARNING => crsd/orarootagent_root Log Ownership is NOT Correct (should be root root)
 WARNING => ohasd/orarootagent_root Log Ownership is NOT Correct (should be root root)
 WARNING => ohasd Log Ownership is NOT Correct (should be root root)
 WARNING => OSWatcher is not running as is recommended.
 INFO =>    Jumbo frames (MTU 9000) are not configured for interconnect
 WARNING => asm_power_limit is not set to recommended value of 1
 WARNING => kernel parameter rp_filter is set to 1.

When the RACcheck completes the collection and analysis it produces two reports raccheck_summary.rep summary and detailed raccheck.rep