Transcript

Oracle RACOracle Real Application Clusters (RAC)

InstallationInstallation steps for Oracle RAC on Windows 2003 Enterprise x64 Edition.

ClusterwareOracle Clusterware Installation

Clusterware Pre-Installation NetworkingEach node in the cluster must have two network interfaces. One interface, called public is used by clients to connect to the cluster. The other interface, called private is used for cluster network traffic only between nodes.

Note, the names of the network interfaces must be exactly the same on each node in the cluster and have the same case.

For the private interfaces we will use the subnet 10.1.1.0, using 10.1.1.180 for rac1 and 10.1.1.182 for rac2.

For the public interfaces we will use the subnet 192.168.1.0 using 192.168.1.180 for rac1 and 192.168.1.182 for rac2.

In addition, Clusterware will assign a "virtual" IP address to each node in the cluster. These IP addresses must not be defined in the Windows Network Settings. Clusterware takes case of the VIP assignment.

For the virtual ips we will use 192.168.1.181 for rac1 and 192.168.1.183 for rac2.

To configure the public interface. right click on the interface and select Properties.

.Select "Internet Protocol (TCP/IP)" and click the Properties button.

Note, change the default gateway and DNS server to appropriate values for your network.

Repeat this process to configure the private interface.

The public interface must also be listed first in the network binding order. This can be done by clicking Advanced Settings from the Advanced menu of the Network Connections window.

If the public interface is not listed first, use the "up arrow" button to move it to the top of the connection list.

Finally, Media Sensing needs to be disabled for networking on the nodes. Media Sensing is a feature used to detect if network interfaces are in a link state. When a link goes down, Windows will unbind protocols from the interface, this can cause problems with Clusterware and must be disable.

Using the Registry Editor (Start->Run "regedit").

Add a new DWORD value in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters called DisableDHCPMediaSense and set it's value to 1.

Clusterware Pre-Installation StorageIn this example, I have defined 3 persistent disks shared between my two guests: 2 x 10GB and a 40GB disk. The intent is to use the 10GB disks for the OCR and Voting disks and the 40GB disk for data and flash partitions.

Using the Disk Management interface in Windows, right click on the 10GB disk and select New Partition.Click Next.

Select Extended partition and click Next.

Use the entire disk for the partition and click Next.

Click Finish to create the partition.

Now, we need to create a new logical disk. Right click on the newly created partition and select New Logical Disk. Click Next.

Select Logical drive and click Next.

Use the entire disk for the partition and click Next.

Select "Do not assign a drive letter or drive path" and click Next.

Select "Do not format this partition" and click Next.

Click Finish to create the partition.

Repeat this process for the second 10GB disk.

For the 40GB, following the steps above, create an extended partition occupying the entire disk, but create 2 logical partitions of 35GB and 5GB.

Each node may need to be restarted before they can see the partitions on the shared disks. After a restart, Windows may assign a drive letter to the partitions. These drive letters should be removed through the Disk Management interface before proceeding.

Right click on the volume and select "Change Driver Letter and Paths...".

Highlight the drive letter and click Remove.Click the Yes button to remove the letter.

Clusterware InstallDownload Oracle Clusterware Release 2 (10.2.0.1.0) from http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_clust...

Unzip the software to a temporary staging area that will be called $STAGING_DIR from this point onwards.

Included as part of the installation software is the Cluster Verification Utility (CVU). This utility can be used to verify the cluster before and after installation. Before the cluster software has been installed, this utility is available in the $STAGING_DIR\10210_win64_x64_clusterware\clusterware\cluvfy directory.

Execute the following from a command prompt:> runcluvfy.bat stage -pre crsinst -n rac1,rac2 -verbose

The tool should generate the following output:

Performing pre-checks for cluster services setup

Checking node reachability...

Check: Node reachability from node "rac1"  Destination Node                      Reachable?                ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Node reachability check passed from node "rac1".

Checking user equivalence...

Check: User equivalence for user "Administrator"  Node Name                             Comment                   ------------------------------------  ------------------------  rac2                                  passed                    rac1                                  passed                  Result: User equivalence check passed for user "Administrator".Checking administrative privileges...

Checking node connectivity...

Interface information for node "rac2"  Interface Name                  IP Address                      Subnet            ------------------------------  ------------------------------  ----------------  public                          192.168.1.183                   192.168.1.0       public                          192.168.1.182                   192.168.1.0       private                         10.1.1.182                      10.1.1.0       

Interface information for node "rac1"  Interface Name                  IP Address                      Subnet            ------------------------------  ------------------------------  ----------------  public                          192.168.1.181                   192.168.1.0       public                          192.168.1.180                   192.168.1.0       private                         10.1.1.180                      10.1.1.0       

Check: Node connectivity of subnet "192.168.1.0"  Source                          Destination                     Connected?        ------------------------------  ------------------------------  ----------------  rac2:public                     rac2:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac1:public                     rac1:public                     yes             Result: Node connectivity check passed for subnet "192.168.1.0" with node(s) rac2,rac1.

Check: Node connectivity of subnet "10.1.1.0"  Source                          Destination                     Connected?        ------------------------------  ------------------------------  ----------------  rac2:private                    rac1:private                    yes             Result: Node connectivity check passed for subnet "10.1.1.0" with node(s) rac2,rac1.

Suitable interfaces for the private interconnect on subnet "192.168.1.0":rac2 public:192.168.1.183 public:192.168.1.182rac1 public:192.168.1.181 public:192.168.1.180

Suitable interfaces for the private interconnect on subnet "10.1.1.0":rac2 private:10.1.1.182rac1 private:10.1.1.180

ERROR: Could not find a suitable set of interfaces for VIPs.

Result: Node connectivity check failed.

Checking system requirements for 'crs'...

Check: Operating system version   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          Windows Server 2003       Windows Server 2003       passed      rac1          Windows Server 2003       Windows Server 2003       passed    Result: Operating system version check passed.

Check: Total memory   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------

  rac2          1023.38MB (1047944KB)     512MB (524288KB)          passed      rac1          1023.38MB (1047944KB)     512MB (524288KB)          passed    Result: Total memory check passed.

Check: Swap space   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          2.43GB (2550756KB)        1GB (1048576KB)           passed      rac1          2.43GB (2550756KB)        1GB (1048576KB)           passed    Result: Swap space check passed.

Check: System architecture   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          64-bit                    64-bit                    passed      rac1          64-bit                    64-bit                    passed    Result: System architecture check passed.

Check: Free disk space in "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp" dir  Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          6.25GB (6551952KB)        400MB (409600KB)          passed      rac1          5.79GB (6066360KB)        400MB (409600KB)          passed    Result: Free disk space check passed.

System requirement passed for 'crs'

Pre-check for cluster services setup was unsuccessful on all the nodes.

Note, the tool will fail with the error "Could not find a suitable set of interfaces for VIPs.". This is normal as we have used a private subnet (10.1.1.0) for the VIP interfaces.

If no other errors have occurred, now run the setup.exe found in $STAGING_DIR\10210_win64_x64_clusterware\clusterware.

Click Next.

Enter the name and path for the cluster home and click Next.

The installer will now run prerequisite checks. Click Next.

Enter a name for the cluster. We also need to add our second node. Click Add and enter in the information for rac2.

Click Next.

The interface type needs to be changed to "Public" for our public interface. Click Edit.

Click Next when done.

Now we need to select partitions that will be used as the Oracle Cluster Registry (OCR) and the Voting disk. Highlight the partition to be used for the OCR disk, click Edit and mark it.

Now, highlight the second partition and mark it as the Voting disk.

Click Next when done.

A warning dialog will pop up recommending that an OCR mirror disk be created for redundancy. Click OK.

A warning dialog will pop up recommending that an Voting mirror disk be created for redundancy. Click OK.

For the purposes of this example, we do not need any redundancy as the install is in a virtual machine. Click Next to continue.

The summary screen should now be displayed.

Click Install to begin the installation.

Once the installation has completed, the configuration assistants will run.

The Virtual Private IP Configuration Assistant will fail for the same reason that the CVU utility failed due to the private subnet being used. Click OK to continue

Another warning dialog will pop up. Click OK to close it.

Click Exit to close the installer.

We now need to the run VIP Configuration Assistant manually since it failed during the install. From the $CLUSTER_HOME\bin directory, run vipca.bat and click Next.

Select the public interface and click Next.

Now enter in the hostnames for the VIP interfaces for each node. If your hosts file or DNS is setup correctly, the IP Address column should fill in automatically. Click Next when done.

A summary screen should now be shown. Click Finish.

The assistant should now run. Click OK when it is finished.

A dialog will now be display showing the configuration results. Click Exit to close the assistant.

Clusterware should now be installed and running on both nodes. To verify the installation, run the CVU utility from $CLUSTER_HOME\bin

> cluvfy stage -post crsinst -n rac1,rac2, -verbose

Performing post-checks for cluster services setup

Checking node reachability...

Check: Node reachability from node "rac1"  Destination Node                      Reachable?             

  ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Node reachability check passed from node "rac1".

Checking user equivalence...

Check: User equivalence for user "Administrator"  Node Name                             Comment                   ------------------------------------  ------------------------  rac2                                  passed                    rac1                                  passed                  Result: User equivalence check passed for user "Administrator".

Checking Cluster manager integrity...

Checking CSS daemon...  Node Name                             Status                    ------------------------------------  ------------------------  rac2                                  running                   rac1                                  running                 Result: Daemon status check passed for "CSS daemon".

Cluster manager integrity check passed.

Checking cluster integrity...

  Node Name                             ------------------------------------  rac1rac2                          

Cluster integrity check passed

Checking OCR integrity...

Checking the absence of a non-clustered configuration...All nodes free of non-clustered, local-only configurations.

Uniqueness check for OCR device passed.

Checking the version of OCR...OCR of correct Version "2" exists.

Checking data integrity of OCR...Data integrity check for OCR passed.

OCR integrity check passed.

Checking CRS integrity...

Checking daemon liveness...

Check: Liveness for "CRS daemon"

  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "CRS daemon".

Checking daemon liveness...

Check: Liveness for "CSS daemon"  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "CSS daemon".

Checking daemon liveness...

Check: Liveness for "EVM daemon"  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "EVM daemon".

Liveness of all the daemons  Node Name     CRS daemon                CSS daemon                EVM daemon  ------------  ------------------------  ------------------------  ----------  rac2          yes                       yes                       yes         rac1          yes                       yes                       yes      

Checking CRS health...

Check: Health of CRS  Node Name                             CRS OK?                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: CRS health check passed.

CRS integrity check passed.

Checking node application existence...

Checking existence of VIP node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          yes                       exists                    passed      rac1          yes                       exists                    passed    Result: Check passed.

Checking existence of ONS node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          no                        exists                    passed      rac1          no                        exists                    passed    Result: Check passed.

Checking existence of GSD node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          no                        exists                    passed      rac1          no                        exists                    passed    Result: Check passed.

Post-check for cluster services setup was successful.

Clusterware Upgrade from 10.2.0.1 to 10.2.0.3Before we install anymore software, the Clusterware install should be upgraded from 10.2.0.1 to 10.2.0.3.

The first thing to do is to download the patch 5337014 from Metalink.

Unzip the patch to a temporary directory on any of the two nodes and run setup.exe and click Next.

Select the Clusterware home and click Next.

Cluster installation should already be selected at this point. Click Next to continue.

The summary screen should be displayed at this point. Click Next to continue.

At this point the patch software will be deployed to all the nodes in the cluster.

The patch software should be now be deployed to each node. Click Exit to close the installer.

At this point, the patch has not been installed. It has only be staged to each node in the cluster. We now need to apply the patch on a rolling basis to each node. NOTE: the following steps need to be repeated for each node in the cluster.

The first thing we need to do is to stop all the Oracle services. From a command prompt, execute the following commands:

> net stop OracleCRService> net stop OracleEVMService> net stop OracleCSService> net stop "Oracle Object Service"> net stop OracleClusterVolumeService

To verify that all Oracle services have stopped, there should be no output from the following command:

> net start | findstr Oracle

It is also a good idea to stop the Microsoft Distributed Transaction Coordinator, as it may have loaded some Oracle libraries that need to be patched.

> net stop MSDTC

Now, go to the $CLUSTER_HOME\install directory and run the patch installer:

> patch102.bat

The command may fail with the following error message:

Failed to patch all the files in the ORA_CRS_HOME C:\oracle\product\10.2.0\crsPlease ensure that all processes running from the home have beenstopped.

If the MSDTC has already been stopped, this is most likely due to two ons.exe processes that are still running. Using the Windows Task Manager to kill these two processes.

Now execute the command again and if successful it should display the following message:

Successful upgrade of this node to Oracle Cluster Ready Services 10203

Automatic Storage Management (ASM)Oracle Automatic Storage Management (ASM) Installation

Automatic Storage Management (ASM) InstallationOracle ASM is a new feature of Oracle 10g used for storage management which is consistent across all server and storage platforms. ASM provides many advantages, including:

adding additional disks requires no downtime I/O distribution filesystem is not buffered allowing for direct I/O kernelized asynchronous I/O

Run the cluster verification cluvfy to verify the cluster is ready for a database installation by executing the following command:

d:\oracle\product\10.2.0\crs\bin> cluvfy stage –pre dbinst –n all –r 10gR2

The following output should be generated:Performing pre-checks for database installation

Checking node reachability...

Check: Node reachability from node "rac1"  Destination Node                      Reachable?                ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Node reachability check passed from node "rac1".

Checking user equivalence...

Check: User equivalence for user "Administrator"  Node Name                             Comment                   ------------------------------------  ------------------------  rac2                                  passed                    rac1                                  passed                  Result: User equivalence check passed for user "Administrator".Checking administrative privileges...

Checking node connectivity...

Interface information for node "rac2"  Interface Name                  IP Address                      Subnet            ------------------------------  ------------------------------  ----------------  public                          192.168.1.183                   192.168.1.0       public                          192.168.1.182                   192.168.1.0    

  private                         10.1.1.182                      10.1.1.0       

Interface information for node "rac1"  Interface Name                  IP Address                      Subnet            ------------------------------  ------------------------------  ----------------  public                          192.168.1.181                   192.168.1.0       public                          192.168.1.180                   192.168.1.0       private                         10.1.1.180                      10.1.1.0       

Check: Node connectivity of subnet "192.168.1.0"  Source                          Destination                     Connected?        ------------------------------  ------------------------------  ----------------  rac2:public                     rac2:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac2:public                     rac1:public                     yes               rac1:public                     rac1:public                     yes             Result: Node connectivity check passed for subnet "192.168.1.0" with node(s) rac2,rac1.

Check: Node connectivity of subnet "10.1.1.0"  Source                          Destination                     Connected?        ------------------------------  ------------------------------  ----------------  rac2:private                    rac1:private                    yes             Result: Node connectivity check passed for subnet "10.1.1.0" with node(s) rac2,rac1.

Suitable interfaces for the private interconnect on subnet "192.168.1.0":rac2 public:192.168.1.183 public:192.168.1.182rac1 public:192.168.1.181 public:192.168.1.180

Suitable interfaces for the private interconnect on subnet "10.1.1.0":rac2 private:10.1.1.182rac1 private:10.1.1.180

ERROR: Could not find a suitable set of interfaces for VIPs.

Result: Node connectivity check failed.

Checking system requirements for 'database'...

Check: Operating system version   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          Windows Server 2003       Windows Server 2003       passed      rac1          Windows Server 2003       Windows Server 2003       passed    Result: Operating system version check passed.

Check: Total memory   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          1023.38MB (1047944KB)     512MB (524288KB)          passed      rac1          1023.38MB (1047944KB)     512MB (524288KB)          passed    Result: Total memory check passed.

Check: Swap space   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          2.43GB (2550756KB)        1GB (1048576KB)           passed      rac1          2.43GB (2550756KB)        1GB (1048576KB)           passed    Result: Swap space check passed.

Check: System architecture   Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          64-bit                    64-bit                    passed      rac1          64-bit                    64-bit                    passed    Result: System architecture check passed.

Check: Free disk space in "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp" dir  Node Name     Available                 Required                  Comment     ------------  ------------------------  ------------------------  ----------  rac2          6.1GB (6399648KB)         400MB (409600KB)          passed      rac1          5.02GB (5263824KB)        400MB (409600KB)          passed    Result: Free disk space check passed.

System requirement passed for 'database'

Checking CRS integrity...

Checking daemon liveness...

Check: Liveness for "CRS daemon"  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "CRS daemon".

Checking daemon liveness...

Check: Liveness for "CSS daemon"

  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "CSS daemon".

Checking daemon liveness...

Check: Liveness for "EVM daemon"  Node Name                             Running                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: Liveness check passed for "EVM daemon".

Liveness of all the daemons  Node Name     CRS daemon                CSS daemon                EVM daemon  ------------  ------------------------  ------------------------  ----------  rac2          yes                       yes                       yes         rac1          yes                       yes                       yes      

Checking CRS health...

Check: Health of CRS  Node Name                             CRS OK?                   ------------------------------------  ------------------------  rac2                                  yes                       rac1                                  yes                     Result: CRS health check passed.

CRS integrity check passed.

Checking node application existence...

Checking existence of VIP node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          yes                       exists                    passed      rac1          yes                       exists                    passed    Result: Check passed.

Checking existence of ONS node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          no                        exists                    passed      rac1          no                        exists                    passed    Result: Check passed.

Checking existence of GSD node application   Node Name     Required                  Status                    Comment     ------------  ------------------------  ------------------------  ----------  rac2          no                        exists                    passed      rac1          no                        exists                    passed    Result: Check passed.

Pre-check for database installation was unsuccessful on all the nodes.

Once again the tool will report a failure due to private subnet being using for the virtual IPs. If this is the only error, we can proceed with the installation.

A database home must be installed to host the ASM instance.

Download Oracle 10g Release 2 (10.2.0.1.0) x64 for Windows fromhere and extract it to a temporary directory. Run setup.exe.

Click Next.

Select Enterprise Edition and click Next.

Specify a name and location for the ASM home and click Next. Note, this home must be not be the same as the cluster home

Select Cluster Installation and select all the nodes in the cluster. Click Next to continue.

The installer will now perform prerequisite checks. Click Next.

Select Install database Software only and click Next. We will patch the ASM installation before the instance is created.

Review the installation summary. Click Install to continue.

The installer will now deploy create the ASM on each node in the cluster.

Once the install has completed, click Exit to close the installer.

ASM Upgrade from 10.2.0.1 to 10.2.0.3ASM should be upgraded to patch level 2 (10.2.0.3) before the instance is created.

The first thing to do is to download the patch 5337014 from Metalink.

Unzip the patch to a temporary directory on any of the two nodes and run setup.exe and click Next.

Select the ASM home and click Next.

Cluster installation should already be selected. Click Next to continue.

The installation summary should now be displayed. Click Install to continue.

The patch will now be staged to each node in the cluster.

Configuration assistants will be run to apply the patch to each node.

The patch should now be installed. Click Exit to close the installer.

RAC Listener ConfigurationFrom the $ASM_HOME\bin directory, run the Oracle Net Configuration Assistant:

c:\oracle\product\10.2.0\asm_1\bin> netca.bat

Select Cluster configuration and click Next.

Select all the nodes in the cluster and click Next.

Choose Listener configuration and click Next.

Select Add and click Next.

Enter a name for the listener and click Next.

Select the TCP protocol and click Next.

Select the default port number of 1521 and click Next.

The listener is now configured. Click Next to close the assistant.

ASM Instance CreationAfter patching the software inside the $ASM_HOME, we are now ready to create the instance. The first thing we need to do is stamp the partitions that we would like ASM to manage.

From the $ASM_HOME\bin directory, run the asmtool utility:

c:\oracle\product\10.2.0\asm_1\bin> asmtoolg.exe

Select Add or change label and click Next.

Select the 35GB partition and enter "DATA" as the prefix to stamp this partition with. Click Next.

Click Next.

Click Finish to close the tool.

We now need to repeat the above steps to specify our partition to be used for flash recovery.From the $ASM_HOME\bin directory, run the asmtool utility:

c:\oracle\product\10.2.0\asm_1\bin> asmtoolg.exe

Select Add or change label and click Next.

Select the 35GB partition and enter "FLASH" as the prefix to stamp this partition with. Click Next.

Click Next.

Click Finish to close the tool.

Now from the $ASM_HOME\bin directory, start the Database Configuration Assistant:

c:\oracle\product\10.2.0\asm_1\bin\dbca.bat

Select Oracle Real Application Clusters database and click Next.

Select Configure Automatic Storage Management and click Next.

Make sure all the nodes in the cluster are selected and click Next.

Enter a password for the SYS account and select the Create initialization parameter file (IFILE) option, then click Next.

Click OK to start the instance creation.

It will take a few minutes to complete the instance creation.

We now need to configure the disk groups. Click Create New.

To create the DATA disk, select the disk that was stamped as DATA earlier by the asmtool utility, mark it as External and click OK.

Repeat this for the FLASH disk. Click Create New. select the disk stamped as FLASH, mark it as External and click OK.

We should now have two disks configured. Click Finish to close the assistant.

Database InstallationGuide to installing and patching an Oracle database in a Clusterware environment.

Database Home InstallationDownload Oracle 10g Release 2 (10.2.0.1.0) x64 for Windows fromhere and extract it to a temporary directory. Run setup.exe.

Click Next.

Select Enterprise Edition and click Next.

Specify a home for the RAC database. This home must be different than both the ASM and Clusterware homes from our previous installs. Click Next to continue.

Select Cluster Installation and ensure that all the nodes are selected. Click Next.

Click Next once all the prerequisite checks have been completed.

Select No and click Next.

Select Install database Software only and click Next.

Review summary and click Install.

The installer will now install the Oracle home.

Click Exit to close the installer.

Database Home Upgrade from 10.2.0.1 to 10.2.0.3The database software should be upgraded to patch level 2 (10.2.0.3) before the instance is created.

The first thing to do is to download the patch 5337014 from Metalink.

Unzip the patch to a temporary directory on any of the two nodes and run setup.exe and click Next.

Select the RAC home from our previous install and click Next.

Cluster installation mode should already be selected. Click Next to continue.

Review the summary before installing. Click Install to continue.

The patch will now be staged to each node in the cluster.

The patch will now be applied to each node.

Click Exit to close the installer.

Database Instance CreationFrom the Oracle database home bin directory, run the Database Configuration Assistant.

c:\oracle\product\10.2.0\db_1\bin> dbca.bat

Select Oracle Real Application Clusters database and click Next.

Select Create a Database and click Next.

Make sure every node in the cluster is selected and click Next.

Select the General Purpose template and click Next. Note, at this point if you have specific requirements for your database such as a different character set, Custom Database may be a better choice.

Enter a global database name and a SID. Click Next to continue.

Check the Configure the Database with Enterprise Manager checkbox (it should be checked by default) and click Next.

Enter a password for the SYS account and click Next.

Select Automatic Storage Management (ASM) and click Next.

Select the disk group that we stamped as DATA and click Next.

Click Next.

Use the Browse button to find the disk group we stamped as FLASH and select it for the flash recovery area. Click Next to continue.

Click Next.

Do not specify any services. Click Next.

Click Next.

Tablespaces can be defined at this point or later through the Enterprise Manager. Click Next to continue.

Click Finish.

A summary of the selected options is shown at this point. Click OK to create the database.

This will take a few minutes.

The instance is now created. Click Exit to close the assistant.

The instance will now be started on each node.

Using the SYS account, we can now log into the Oracle Enterprise Manager using a browser. A shortcut to the proper URL should be in the Start menu, in this case it is http://rac1:1158.

Re-installing Oracle RAC After Failed Installation

I encountered a situation where I needed to re-install an Oracle RAC installation.

The two nodes in my cluster were fresh installs of Win2003 R2 Enterprise x64 Edition. In this case I needed to reuse the shared disk between the two nodes.

Running the cluster verification utility (runcluvfy.bat), my two machines passed cluster pre-install check:

> runcluvfy.bat stage -pre crsinst -n rac1,rac2 -verbose.

The problem happened during the actual install itself during Storage Configuration stage. The two partitions that I had previously selected as my OCR and Voting disks were not listed.

Checking the installer logs (these are normally found in C:\Program Files\Oracle\Inventory\logs and will be called installActionsYYYY-MM-DD_hh-mm-ssAMPM.log), I found the following:

nodeList = rac1,rac2INFO: Query Returned: B:,E:,F:,G:,H:,I:,J:,K:,L:,M:,N:,O:,P:,Q:,R:,S:,T:,U:,V:,W:,X:,Y:,Z:INFO: Setting variable 'sl_Drives' to 'B:,E:,F:,G:,H:,I:,J:,K:,L:,M:,N:,O:,P:,Q:,R:,S:,T:,U:,V:,W:,X:,Y:,Z:'. Received the value from a code block.INFO: Calling Query ClusterPreinstQueries1.2.1  getPartitionInfoINFO: Query Returned: ocrcfg,1,1,10229,votedsk1,2,1,10229,,3,1,35001,,3,2,5946INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3,2'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3,2,5946'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3,2,5946,'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3,2,5946,,'. Received the value from a code block.INFO: Setting variable 'sl_OHPartitionsAndSpace' to 'NO_VAL,3,1,35001,,,,3,2,5946,,,'. Received the value from a code block.INFO: Calling Query NtServicesQueries10.2.0.2.0  ntGetAllOracleServicesINFO: Query Returned: OracleRemExecService,OracleClusterPreinstServiceINFO: Calling Query ClusterPreinstQueries1.2.1  RemoveClusterPreinstService

The important line the above mess is:

INFO: Query Returned: ocrcfg,1,1,10229,votedsk1,2,1,10229,,3,1,35001,,3,2,5946

Apparently, the Oracle Installer is smart enough to recognize that 2 of my 4 partitions have labels "ocrcfg" and "votedsk1" and is not listing them because as far as it knows, theses partitions are in use by another cluster.

I tried deleting my partitions, re-sizing them, re-formatting with full NTFS and then restarting the Oracle Installer. Once again, the same problem occurred, the disks still had these labels.

It turns out Oracle includes two utilities that are part of the Clusterware install for removal of disk labels and low-level formatting of partitions

guioracleobjmanager.exe logpartformat.exe

The catch here is that you need to retrieve the files from CLUSTER_HOME\bin directory. If you do not have Clusterware installed on another machine, you will not be able to get access to these files and may need to call Oracle support to get copies of them.

In my case, I was able to copy these executables and the appropriate DLLs to my install machines.

Run the guioracleobjmanager.exe tool.

As we can see above, this utility lists any labels that Oracle has applied to the shared storage. We can see the same names we saw in the install log: ocrcfg and votedsk1.

From a command prompt, we now need to format this partitions using the logpartformat.exe utility:

> logpartformat /q \\.\ocrcfg> logpartformat /q \\.\votedsk1

Once both partitions have been formatted, we need to remove the labels from the disks using the Oracle Object Manager.

Check the checkbox on each line with the disk labels that we just formatted and select the Commit menu item from the Options menu.

The partitions should now appear in Oracle Universal Installer during the Clusterware installation.

top related