Oracle11g  OCFS 
Release Notes for 32-Bit Windows 
March 2007

These release notes accompany the Oracle 11g  OCFS Release for 32-Bit Windows. 


This document is organized under the following headings
1.	Oracle Cluster File System Components
2.	Installation
3.	Uninstall OCFS
4.	OCFS Concepts and Usage

1. Oracle Cluster File System Components

The following files are part updates for this product in this package, these files 
can be found in this patch under ocfs directory.

Kernel Mode

Ocfs.sys.2k
The OCFS file system Driver for Windows 2000 / 2003

User Mode

OcfsChangeCommIf.exe
Utility for changing the Communication I/F 
used by OCFS
OcfsChangeMountPoint.exe
Utility to change the Drive Letter used for an 
OCFS Volume Cluster wide.
OcfsFindVol.exe	
A Windows Service that provides consistent 
	drive letters across the cluster. Does 
communication I/F discovery and   creates 
Node Specific Files during Oracle Home 
Install on OCFS.
ocfsformat.exe	
Utility to create Ocfs Volumes
OcfsOui.bat	
Bat file which will be called by 
OcfsFindVol.exe as part of Oracle Home 
Install
OcfsInstall.exe	
Utility to install the Ocfs Driver on any node
OcfsUtil.exe	
A utility that creates Node Specific Files, 
changes ClusterName, prints membership 
for volume, dismounts a volume, 
online/offline a volume etc.



2. Standalone Installation
The section is divided into the following sections 

Using OcfsInstall.exe

This tool allows for setting up OCFS on any Windows 2000 cluster Node. It needs to be 
run on each node unlike ClusterSetup. It allows for setting up OCFS only without setting 
up other oracle clusterware or database software. It allows one to use primary partitions or 
logical drives to be setup as OCFS volumes. Although this option gives more flexibility in 
terms of installing OCFS it has more manual steps and requires a working knowledge of 
Oracle Clusterware and Windows 2000.

In order to install using OcfsInstall.exe:

0.	Extract the binaries in this package to a local directory.

1.	Make a primary partition or logical drive using disk administrator and assign a drive 
letter like o: to it on the shared disk. Make sure this partition is visible to all nodes. Do not 
format the partition with NTFS or FAT.

2.	Run 
	OcfsFormat /l o: /c 4 /f
	On ANY ONE NODE
Repeat steps 1, 2 depending on how many OCFS Volumes need to be created at this 
time. Oracle recommends using separate volumes for ORACLE_HOME, DATAFILES and 
ARCHIVE LOGS. Thus, if you want to use OCFS for ORACLE_HOME, and DATAFILES 
you would create two volumes. If you want to also use OCFS for ARCHIVE LOGS you 
would use 3 volumes. The minimum size for ORACLE_HOME volume needs to be 5GB. 
We recommend making it bigger to incorporate trace and other files that will be generated 
on this volume. The size of the DATAFILES volume and ARCHIVE LOG volume depends 
on the size of the DATABASE.



3.	On each node
	Create a directory %systemroot%\system32\osd11g\cfs
	copy all the files in the OCFS package to %systemroot%\system32\osd11g\cfs\

4.	From a command window
	cd %systemroot%\system32\osd11g\cfs\
	OcfsInstall.exe /y 
to install and start the ocfs driver. This needs to be done on each node of the cluster.

5.	From a command window
	cd %systemroot%\system32\osd11g\cfs\

Run the following command (Replace c:\winnt if your %systemroot% is different)
OcfsFindVol /i:c:\winnt\system32\osd11g\cfs\ocfsfindvol.exe
to create OracleClusterVolumeService service. This needs to be done on each node of 
the cluster.
	
Issue the command 
net start OracleClusterVolumeService
to start OracleClusterVolumeService service. This needs to be done on each node in the 
cluster.


6.	You should be able to access OCFS Volumes from all nodes now. 
To format another volume just create another partition and format it using ocfsformat.



3. Uninstall OCFS
In order to remove OCFS Driver and OCFS Software utilities you need to perform the 
following steps. 

Note: These are not the steps to get rid of a single OCFS Volume. In order to remove any 
OCFS volume, refer to Dismount section in Concepts part of this readme. OcfsUtil can be 
used to get rid of OCFS Volumes.

Stop & Remove OracleClusterVolumeService:

From a command prompt
net stop OracleClusterVolumeService
cd %systemroot%\system32\osd11g\cfs
ocfsFindVol /r

the OcfsFindVol /r command removes the OracleClusterVolumeService from Service 
Control manager and registry.
Remove OCFS Utility binaries:
cd %systemroot%\system32\osd11g\cfs
del *.*

Remove Ocfs Driver:

1.	From a command prompt
cd %systemRoot%\system32\osd11g\cfs
OcfsInstall.exe /r
This command will remove the ocfs driver service and delete the ocfs.sys file under 
%systemRoot%\system32\drivers directory and ask	 for a reboot. A reboot is required 
as ocfs.sys is a File System Driver and is not dynamically unloadable and hence cannot 
be stopped.

2.	Reboot node.




4. OCFS Concepts and Usage

Ocfs is a cluster file system used to store oracle binary and database files. A separate 
volume is recommended for database files and binaries. The following usage guidelines 
are provided to help the user avoid common pitfalls
Partitions
One can use both Primary and Extended Partitions with OCFS. However, some tools like 
clustersetup cannot deal with primary partitions and therefore on cannot use them to 
create ocfs volumes on primary partitions. To use primary partitions as ocfs volumes you 
need to use the OcfsFormat tool. We recommend one partition per disk at least 1 GB in 
size. 

Mounting OCFS Volumes
Unlike Unix and its derivative operating systems Windows performs auto mounts for all 
volumes with file systems on it. In order to bring a given partition that has no file system 
on it under a file systems control, that partition has to be formatted using a tool provided 
by that file system. OcfsFormat.exe is the tool provided for formatting partitions with so 
that they are brought under OCFS file system control. The usage for OcfsFormat is 

Usage: OcfsFormat /l <linkName> /c <ClusterSize in KB> /v <Volume Label> /f
    /l linkName where linkName is the mount point for this file system with NT 4.0 only drive 
letters are used.
    /c Size of Cluster in KB
    /v VolumeLabel
    /f Force format a volume

Thus, in order to setup an OCFS volume one needs to create a partition and assign a 
drive letter to it using disk management GUI. After that OcfsFormat can be used to format 
the partition. Once the OcfsFormat tool has run to completion the partition now becomes 
an OCFS volume and can be used. This tool needs to be run on any one node and after it 
completes the volume will be available clusterwide. OcfsFormat looks at the Clustername 
value under 
HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterName and stamps each 
volume created with this clustername. The file system driver uses this name in order to 
recognize whether this node should mount a volume or not.

For example if o: was the drive letter assigned to a partition
OcfsFormat /l o: /c 4
Would make o: into an OCFS volume.


Allocation Size
OcfsFormat takes a parameter for allocation size or cluster size. This parameter is used to 
determine the unit of allocation for the OCFS volume. Starting with this version the tool 
automatically determines the allocation size based on how big the volume is. 

Dismounting OCFS Volumes
Dismounting an OCFS volume clusterwide if supported using the OcfsUtil utility, starting 
with OCFS 9204 version. The dismount command can be used to irreversibly destroy the 
OCFS volume and make it into a usable partition again. In order to use the dismount 
command, stop all applications that are currently using the OCFS volume to be 
dismounted. From any one node issue the command
OcfsUtil /c DismountVol / m o:

Where o: is the OCFS volume being dismounted

Usage:
OcfsUtil /c DismountVol  /m <VolumeMountPoint>
will dismount the current volume on all nodes which are currently using the volume with 
mount point <VolumeMountPoint> e.g. o:.
After the command completes the volume should not be available on any node in the 
cluster. All the data on the volume is destroyed. You can use Ocfsformat to make a new 
volume from the same partition now.

Online and Offline OCFS Volumes
As described above a DismountVol command destroys the data on the ocfs volumes. If 
one needs to preserve the data and still be able to not access the volume the command to 
be used is Offline. Offline can be either a clusterwide offline in which case all nodes will no 
longer be able to access this volume or a one node only offline in which case only the 
node on which the command is run will cease to be able to access the OCFS volume.

The commands to online/offline a volume are part of OcfsUtil.

OcfsUtil /c OfflineVol  /m <VolumeMountPoint> </o>
    will offline the current volume on all nodes which are currently using the volume
    with mount point <VolumeMountPoint> e.g o:.
    If the /o option is used only this node is offlined

OcfsUtil /c OnlineVol  /m <VolumeMountPoint> </o>
    will online the current volume on all nodes which are currently using the volume
    with mount point <VolumeMountPoint> e.g o:.
    If the /o option is used only this node is onlined

To offline a given OCFS volume on all nodes in the cluster issue the following command 
from any one node where the volume is mounted.

OcfsUtil /c OfflineVol  /m o:
Where o: is the drive letter on which the volume is mounted.

To online a OCFS volume which has been made offline across the cluster using the above 
mentioned command issue the command
OcfsUtil /c OnlineVol  /m o:
Where o: is the drive letter on which the volume was mounted.
Note: o: will not show any files/directories before the Online is issued. You may have to 
assign the drive letter using disk management if one does not exist for the volume which 
was offlined.

Flush OCFS Volumes
OCFS caches both data and metadata. If an application wants to backup an OCFS 
volume(s) it needs to ensure that the data is on the disk. In order to flush all the cached 
metadata clusterwide use the following command.
OcfsUtil /c FlushVol  /m o:
Where o: is the drive letter on which the volume is mounted.

This command will write all the cached metadata for the volume with mount point o: to the 
disk from all nodes that have the volume mounted.

Changing Mount Points for OCFS Volumes
OracleClusterVolumeService is a user mode Windows Service that makes the drive letters 
used for OCFS volumes consistent across the cluster. Thus, when you format a partition 
using OcfsFormat /l o: /c 4 the drive letter used is stored as part of the OCFS volume 
metadata. OracleClusterVolumeService which runs on all nodes with OCFS in the cluster 
is triggered every time a new volume is mounted on a given node and it assigns the 
correct consistent mount point i.e. o: to the volume clusterwide.
If the mount point for a OCFS volume needs to be changed the following command can be 
used to accomplish the task.

OcfsChangeMountPoint /m <VolumeMountPoint> /n <new VolumeMountPoint>
OcfsChangeMountPoint will change the mount point associated with an OCFS volume 
across all nodes in the cluster
<VolumeMountPoint> is the current mount point for the volume e.g. o:
<new VolumeMountPoint> is the new volume mount point for the ocfs volume e.g. w:
Thus, to change the mount point for an existing ocfs volume which is currently accessible 
as o: to w: issue the command
OcfsChangeMountPoint /m o: /n w:
Changing Default Communication Interface for OCFS Volumes
OCFS needs to communicate between nodes in order to serialize access to both data and 
metadata from different nodes in the cluster. In order to accomplish this task OCFS uses 
both UDP and disk based locking. 
OracleClusterVolumeService detects and populates the interfaces which can be used for 
communication to this node in the OCFS registry under the key 
HKEY_LOCAL_MACHINE\ 
System\CurrentControlSet\Services\Ocfs\Parameters\Comm(n)
Where n is a number from 0 to 2.
Thus, if three network cards are detected one can find the keys 
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm0
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm1
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm2
And the 
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\NumIpc
Value would be 3.

OCFS can use one of the networks as the preferred or Primary interconnect for 
communication. In case the primary interconnect fails communication is done using the 
other interconnects if present, if the all network interfaces are down disk based locking is 
used to coordinate access to the OCFS volume.
In order to view/change the Primary network interface for communication on can use the 
following command

OcfsChangeCommIf /p /c
        /p Prints the current Communication Interfaces configured for OCFS
        /c Change the Primary Communication Interface
Archival
Oracle recommends using separate OCFS volumes for archival from Datafiles. 
OcfsFormat can be used to create new ocfs volumes.
ClusterName
ClusterName is the Value stored in the registry under
HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterName

Once this value is set to a valid string 
OcfsFormat will pick it up and stamp each volume it creates with this ClusterName. 

Nodes that do not have the same ClusterName in the registry will not be able to access 
the volumes thus created. 

The ClusterName is designed to provide virtual shared storage segregation in the same 
hardware storage area network.

Setting up OCFS on Disaster Recovery Node

In order to ensure that the DR node can see the volume(s) setup on the production nodes, 
the ClusterName key in the CM registry needs to be same as the production nodes. 

This value is
HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterName

Note: only the value is needed the CM does not need to run.

You can also change the ClusterName on the volumes so that the volumes are accessible 
from all nodes using OcfsUtil

OcfsUtil /c ChangeClusterName  /m <driveLetter> /n ""

After this the volume will be accessible from all nodes.

Once the Ocfs driver is running on all nodes, 

There is a clusterwide dismount, clusterwide online/offline and a per node
online/offline feature. 

After that the steps would be to (assuming o: is the volume being backed up
1.    Take a backup.
2.    Offline Volume from this node only(3rd Node) Part of new OcfsUtil.
OcfsUtil /c OfflineVol  /m o: /o
3.    Resync Volume.
4.    Online Volume from this node only(3rd Node)Part of new OcfsUtil.
OcfsUtil /c OnlineVol  /m o: /o

Note: Current maximum number of nodes supported by this revision of driver is 32.
Oracle 11g OCFS Release Notes for 32-Bit Windows 
 

 
 
Copyright  2001, 2007  Oracle. All rights reserved. 
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be 
trademarks of their respective owners. 

