Oracle Database corruption after crashing a VMware Instance running Solaris on a UFS or ZFS Filesystem  
When running a Oracle Databases on a UFS or ZFS filesystem on Solaris 10 X86 on VMware virtual machine, the default values of all the stacks involved (Oracle Database, Solaris, VMware) can cause a database corruption, each time the VMware virtual machine is powered off without cleanly shut down the operating system. This happens if the power off button in virtual center is used to forcibly power off the virtual machine or if there is a basic hardware failure causing the physical node to crash.
This is true for Solaris 10 upto u10, VMware ESX 3.5 through to vSphere 4.1, UFS and ZFS, Oracle 10 through to Oracle 11.

To avoid this there are 2 solutions:

1) use the forcedirectio option for all filesystems where database files (redo log members, data files, controlfiles) in /etc/vfstab:


/dev/md/dsk/d20 /dev/md/rdsk/d20 /u01 ufs 3 yes forcedirectio


2) use the oracle init parameter filesystemio_options to force directio on all database instances:


oracle@hostname> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 13 13:32:08 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.
SQL> alter system set filesystemio_options=setall scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 267825152 bytes
Fixed Size 1335924 bytes
Variable Size 130026892 bytes
Database Buffers 130023424 bytes
Redo Buffers 6438912 bytes
Database mounted.
Database opened.
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options




[ view entry ] ( 3125 views )   |  permalink  |  print article  |   ( 2.9 / 4193 )

<<First <Back | 1 | 2 | 3 |