Sun Cluster 2.2 Software Installation Guide

Installing and Configuring SAP and the Database (SAP With Oracle)

This section describes how to install and configure SAP with Oracle. For instructions on installing SAP with Informix, see "SAP With Informix".

How to Prepare the Cluster Environment for SAP and the Database (SAP With Oracle)

Before installing SAP and Oracle, perform the following tasks.

  1. On all nodes, install the Solaris operating environment and Solaris patches.

    See Chapter 3, Installing and Configuring Sun Cluster Software.

  2. On all nodes, install Volume Manager software and any required Volume Manager patches.

    See Chapter 3, Installing and Configuring Sun Cluster Software.

  3. On the node on which you will install SAP and Oracle, create Solstice DiskSuite disksets or VxVM disk groups.

    Separate disk groups for the SAP central instance and database instance are recommended, for ease of administration.

  4. On the node on which you will install SAP and Oracle, create volumes according to Sun Cluster guidelines:

    • Mirror volumes across controllers

    • With VxVM, use Dirty Region Logging for faster mirror resynchronization

    • Use a logging file system for faster logical host failover

    Use Table 10-4 as a worksheet to capture the name of the volume that corresponds to each file system used for the SAP central instance. Refer to the SAP installation guide for the file system sizes recommended for your particular configuration. These are database-independent file systems.

    Table 10-4 Worksheet: File Systems and Volume Names for the SAP Central Instance (SAP With Oracle)

    File System Name / Mount Point 

    Volume Name 

    /oracle/805_32 (for SAP 4.6B on Oracle 8.0.6 only) 

      

    /usr/sap/trans

      

    /sapmnt/<SAPSID>

      

    /usr/sap/<SAPSID>

      

    Use Table 10-5 as a worksheet to capture the name of the volume that corresponds to each file system used for the database instance. Refer to the SAP installation guide for the file system sizes recommended for your particular configuration. These are database-dependent file systems.

    Table 10-5 Worksheet: File Systems and Volume Names for the SAP Database Instance (SAP With Oracle)

    File System Name / Mount Point 

    Volume Name 

    /oracle/<SAPSID>

      

    /oracle/stage/stage_<version>

      

    /oracle/<SAPSID>/origlogA

      

    /oracle/<SAPSID>/origlogB

      

    /oracle/<SAPSID>/mirrlogA

      

    /oracle/<SAPSID>/mirrlogB

      

    /oracle/<SAPSID>/saparch

      

    /oracle/<SAPSID>/sapreorg

      

    /oracle/<SAPSID>/sapdata1

      

    /oracle/<SAPSID>/sapdata2

      

    /oracle/<SAPSID>/sapdata3

      

    /oracle/<SAPSID>/sapdata4

      

    /oracle/<SAPSID>/sapdata5

      

    /oracle/<SAPSID>/sapdata6

      

  5. On all nodes, install Sun Cluster, Sun Cluster HA for SAP, Sun Cluster HA for Oracle, and any required patches.

    Use the procedures described in Chapter 3, Installing and Configuring Sun Cluster Software, but do not set up logical hosts with scinstall(1M) during this installation. Instead, set up logical hosts with scconf(1M) after the cluster is up. Set up two disksets per logical host.

  6. On all nodes, configure PNM.

    For detailed procedures, see Chapter 3, Installing and Configuring Sun Cluster Software in this book, and the network administration chapter in the Sun Cluster 2.2 System Administration Guide.

  7. Start the cluster.

    Run the following command on one node.


    # scadmin startcluster physicalhost clustername
    

    Run the following command on all other nodes, sequentially.


    # scadmin startnode
    

  8. (VxVM only) Verify that all disk groups are deported.

  9. (Solstice DiskSuite only) Release ownership of all disksets.

  10. On the node on which you installed SAP, create logical hosts with scconf(1M).

    The number of logical host depends on your particular configuration. See Chapter 3 in the Sun Cluster 2.2 System Administration Guide for details about adding and removing logical hosts. You will need:

    • Logical host name(s)

    • Physical host names of potential masters of logical host(s)

    • Names of the primary public network controllers for the potential masters of the logical host(s)

    • Disk group name(s)

    When you create logical hosts, disable the automatic failback mechanism by using the -m option to scconf(1M).

  11. (VxVM, two-node configurations only) Configure the shared CCD.

    See Appendix C, Configuring VERITAS Volume Manager.

  12. After creating the logical host(s), create the logical host administrative file system.

    For detailed procedures, see Appendix B, Configuring Solstice DiskSuite, or Appendix C, Configuring VERITAS Volume Manager.

  13. Create mount points for the central instance and database instance volumes, and enter them into the respective vfstab.logicalhost files on all potential masters of each logical host.

    The vfstab.logicalhost files are located in /etc/opt/SUNWcluster/conf/hanfs.

    Table 10-6 lists the suggested file system mount points for the disk groups (VxVM) or disksets (Solstice DiskSuite) associated with the central instance and database instance. Note that separating the central instance and database instance file systems into separate disk groups or disksets (even if using a single logical host) may provide more configuration flexibility in the future.

    Table 10-6 File Systems and Mount Points for the SAP Central Instance and Database Instance (SAP With Oracle)

    Disk Group (VxVM) 

    Diskset 

    (Solstice DiskSuite) 

    Volume Name 

    Mount Point 

    ci_dg

    CIloghost

    sap

    /usr/sap/<SAPSID>

    ci_dg

    CIloghost

    saptrans

    /usr/sap/trans

    ci_dg

    CIloghost

    sapmnt

    /sapmnt/<SAPSID>

    db_dg

    DBloghost

    oracle

    /oracle/<SAPSID>

    db_dg

    DBloghost

    stage

    /oracle/stage/stage_<version>

    db_dg

    DBloghost

    origlogA

    /oracle/<SAPSID>/origlogA

    db_dg

    DBloghost

    origlogB

    /oracle/<SAPSID>/origlogB

    db_dg

    DBloghost

    mirrlogA

    /oracle/<SAPSID>/mirrlogA

    db_dg

    DBloghost

    mirrlogB

    /oracle/<SAPSID>/mirrlogB

    db_dg

    DBloghost

    saparch

    /oracle/<SAPSID>/saparch

    db_dg

    DBloghost

    sapreorg

    /oracle/<SAPSID>/sapreorg

    db_dg

    DBloghost

    sapdata1

    /oracle/<SAPSID>/sapdata1

    db_dg

    DBloghost

    sapdata2

    /oracle/<SAPSID>/sapdata2

    db_dg

    DBloghost

    sapdata3

    /oracle/<SAPSID>/sapdata3

    db_dg

    DBloghost

    sapdata4

    /oracle/<SAPSID>/sapdata4

    db_dg

    DBloghost

    sapdata5

    /oracle/<SAPSID>/sapdata5

    db_dg

    DBloghost

    sapdata6

    /oracle/<SAPSID>/sapdata6

  14. If SAP application servers will be configured outside the cluster, then configure Sun Cluster HA for NFS and enter the appropriate shared file systems into the dfstab.logicalhost files on all potential masters of each logical host.

    These files are located in /etc/opt/SUNWcluster/conf/hanfs. See "Configuration Options for Application Servers and Test/Development Systems", and Chapter 11, Installing and Configuring Sun Cluster HA for NFS, for more information.

    Share the following file systems to SAP application servers outside the cluster. These are general guidelines. See the SAP documentation for more information.

    Table 10-7 File Systems to Share in HA-NFS to External SAP Application Servers (SAP With Oracle)

    File Systems to Share to External Application Servers 

    /usr/sap/trans

    /sapmnt/<SAPSID>/exe

    /sapmnt/<SAPSID>/profile

    /sapmnt/<SAPSID>/global

  15. Test the functionality and mount points of the logical host(s) by switching them between all potential masters.

    This verifies that all mount points have been created correctly.

  16. Adjust kernel parameters on all potential masters, as per the "R/3 Installation on UNIX: OS Dependencies" guidelines in the SAP documentation.

    In configurations where the central instance and database instance may coexist with each other or with other instances, be sure to size the kernel parameters accordingly.

  17. Create appropriately sized permanent swap areas on all potential master nodes.

    See the "Installation Requirements Checklist" in your SAP documentation for swap guidelines. Use the SAP-supplied memlimits utility to assist you in sizing the swap space. See the "R/3 Installation on UNIX" guidelines in the SAP documentation for more information on this utility.

  18. Stop the cluster and reboot all nodes after adjusting kernel parameters and swap space.

  19. Create SAP and database user and group accounts on all potential masters of the logical hosts.

    Refer to the "R/3 Installation on UNIX: OS Dependencies" guidelines in the SAP documentation for details. User and group IDs must be identical on all nodes. Create the home directories for these users on the shared diskset. Table 10-8 shows suggested home directory paths for the user accounts.

    Table 10-8 Home Directory Paths for SAP User Accounts (SAP With Oracle)

    User 

    Home directory 

    <sapsid>adm

    /usr/sap/<SAPSID>/home

    ora<sapsid>

    /oracle/<SAPSID>


    Note -

    For SAP 4.0b, read OSS note 0100125 for special steps required when creating user home directories outside of the /home location.


Now proceed to "Installing and Configuring SAP and the Database (SAP With Oracle)".

How to Install SAP With Oracle
  1. Verify that you have completed all tasks listed in "How to Prepare the Cluster Environment for SAP and the Database (SAP With Oracle)".

  2. Verify that all nodes are running in the cluster.

  3. Switch over all logical hosts to the node from which you will install SAP and the database.


    # scadmin switch clustername phys-hahost1 CIloghost DBloghost ...
    

  4. Create the SAP installation directory and begin SAP installation.

    Refer to the "R/3 Installation on UNIX" guidelines in the SAP documentation for details.


    Note -

    Read all SAP OSS notes prior to beginning the SAP installation.


    1. Install the central instance and database instance on the node currently mastering the central instance and database instance logical host.

      (For SAP 3.1x only) When installing SAP using R3INST, specify the physical host name of the current master of the database logical host when prompted for "Database Server." After the installation is complete, you must manually adjust various files to refer to the logical host where the database resides.

      (For SAP 4.x only) When installing SAP using R3SETUP, select the CENTRDB.SH script to generate the installation command file.

    2. Continue the SAP installation to install the central instance, to create and load the database, to load all reports, and to install the R/3 Frontend (GUI).

How to Enable SAP With Oracle to Run in the Cluster Environment
  1. Set up the SAP central instance administrative environment.

    During SAP installation, SAP creates files and shell scripts on the server on which the SAP central instance is installed. These files and scripts use physical host names. Follow these steps to replace all occurrences of physical host names with logical host names.


    Note -

    Make backup copies of all files before performing the following steps.


    First, shut down the SAP central instance and database using the following command:


    # su - <sapsid>adm
    $ stopsap all
    ...
    # su - ora<sapsid>
    $ lsnrctl stop
    


    Note -

    Become the <sapsid>adm user before editing these files.


    1. Revise the .cshrc file in the <sapsid>adm home directory.

      On the server on which the SAP central instance is installed, the .cshrc file contains aliases that use Sun Cluster physical host names. Replace the physical host names with the central instance logical host name.

      (For SAP 3.1x only) The resulting .cshrc file should look similar to the following example, in which CIloghost is the logical host containing the central instance and DBloghost is the logical host containing the database. If the central instance and database are on the same logical host, then use that logical host name for the substitutions.


      # aliases
      alias			startsap					"$HOME/startsap_CIloghost_00"
      alias			stopsap					"$HOME/stopsap_CIloghost_00"
      
      # RDBMS environment
      if (-e $HOME/.dbenv_DBloghost.csh) then 
         source $HOME/.dbenv_DBloghost.csh
      else if (-e $HOME/.dbenv.csh) then 
         source $HOME/.dbenv.csh
      endif

      (For SAP 4.x only) The resulting .cshrc file should look similar to the following example, in which CIloghost is the logical host containing the central instance and DBloghost is the logical host containing the database. If the central instance and database are on the same logical host, then use that logical host name for the substitutions:


      if ( -e $HOME/.sapenv_CIloghost.csh ) then
         source $HOME/.sapenv_CIloghost.csh
      else if ( -e $HOME/.sapenv.csh ) then
         source $HOME/.sapenv.csh
      endif
      
      # RDBMS environment
      if ( -e $HOME/.dbenv_DBloghost.csh ) then
         source $HOME/.dbenv_DBloghost.csh
      else if ( -e $HOME/.dbenv.csh ) then
         source $HOME/.dbenv.csh
      endif

    2. (For SAP 4.x only) Rename the file .sapenv_physicalhost.csh to .sapenv_CIloghost.csh, and edit it to replace occurrences of the physical host name with the logical host name.

      First rename the file, replacing the physical host name with the central instance logical host name.


      $ mv .sapenv_physicalhost.csh .sapenv_CIloghost.csh
      

      Then edit the aliases in the file. For example:


      alias startsap "$HOME/startsap_CIloghost_00"
      alias stopsap "$HOME/stopsap_CIloghost_00"

    3. Rename the .dbenv_physicalhost.csh file.

      Rename the .dbenv_physicalhost.csh file to .dbenv_DBloghost.csh. If the central instance and database are on the same logical host, use that logical host name for the substitution.


      $ mv .dbenv_physicalhost.csh .dbenv_DBloghost.csh
      

    4. (For SAP 4.x only) Edit the .dbenv_DBloghost.csh file to set the ORA_NLS environment variable to point to the appropriate subdirectories of /var/opt/oracle for the database client configuration files. Also, set the TNS_ADMIN environment variable to point to the /var/opt/oracle directory.

      The .dbenv_DBloghost.csh file is located in the <sapsid>adm home directory.


      #setenv ORA_NLS /oracle/<SAPSID>/ocommon/NLS_723/admin/data
      setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data
      
      #setenv ORA_NLS32 /oracle/<SAPSID>/ocommon/NLS_733/admin/data
      setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data
      
      #setenv ORA_NLS33 /oracle/<SAPSID>/ocommon/NLS_804/admin/data
      setenv ORA_NLS33 /var/opt/oracle/ocommon/NLS_804/admin/data
      
      ... 
      
      # setenv TNS_ADMIN @TNS_ADMIN@
      setenv TNS_ADMIN /var/opt/oracle
      ...

    5. (For SAP 4.6B only) Edit the .dbenv_DBloghost.csh file to set the ORA_NLS environment variable to point to the appropriate subdirectories of /var/opt/oracle for the database client configuration files. Set the TNS_ADMIN environment variable to point to the /var/opt/oracle directory. Also, set the LD_LIBRARY_PATH to /var/opt/oracle.

      The .dbenv_DBloghost.csh file is located in the <sapsid>adm home directory.


      ...
      #setenv ORA_NLS 	 	 	 	 	 	 	 /oracle/D01/ocommon/NLS_723/admin/data
      #setenv ORA_NLS32	 	 	 	 	 	 /oracle/D01/ocommon/NLS_733/admin/data
      #setenv ORA_NLS33 		 	 	 	 	 	/oracle/D01/ocommon/nls/admin/data
      setenv ORA_NLS 	 	 	 	 	 	 	 	 /var/opt/oracle/ocommon/NLS_723/admin/data
      setenv ORA_NLS32	 	 	 	 	 	 	 /var/opt/oracle/ocommon/NLS_733/admin/data
      setenv ORA_NLS33	 	 	 	 	 	 		 /var/opt/oracle/ocommon/nls/admin/data
      ...
      # setenv TNS_ADMIN @TNS_ADMIN@
      setenv TNS_ADMIN /var/opt/oracle
      ...
      	default:
      if ( ! $?LD_LIBRARY_PATH ) then
      #setenv LD_LIBRARY_PATH /oracle/805_32/lib
      	setenv LD_LIBRARY_PATH /var/opt/oracle/805_32/lib
      else
      #foreach d ( /oracle/805_32/lib )
      	foreach d ( /var/opt/oracle/805_32/lib )
      ...

    6. Rename and revise the SAP instance startsap and stopsap shell scripts in the <sapsid>adm home directory.

      On the server on which the SAP central instance is installed, the <sapsid>adm home directory contains shell scripts that include physical host names. Rename these shell scripts by replacing the physical host names with logical host names. In this example, CIloghost represents the logical host name of the central instance:


      $ mv startsap_physicalhost_00 startsap_CIloghost_00
      $ mv stopsap_physicalhost_00 stopsap_CIloghost_00
      

      The startsap_CIloghost_00 and stopsap_CIloghost_00 shell scripts specify physical host names in their START_PROFILE parameters. Replace the physical host name with the central instance logical host name in the START_PROFILE parameters in both files.


      ...
      START_PROFILE="START_DVEBMGS00_CIloghost"
      ...

    7. Revise the SAP central instance profile files.

      During SAP installation, SAP creates three profile files on the server on which the SAP central instance is installed. These files use physical host names. Use these steps to replace all occurrences of physical host names with logical host names. To revise these files, you must be user <sapsid>adm, and you must be in the profile directory.

      • Rename the START_DVEBMGS00_physicalhost and <SAPSID>_DVEBMGS00_physicalhost profile files.

        In the /sapmnt/<SAPSID>/profile directory, replace the physical host name with the logical host name. In this example, the <SAPSID> is HA1:


        $ cdpro; pwd
        /sapmnt/HA1/profile
        $ mv START_DVEBMGS00_physicalhost START_DVEBMGS00_CIloghost
        $ mv HA1_DVEBMGS00_physicalhost HA1_DVEBMGS00_CIloghost
        

      • In the START_DVEBMGS00_CIloghost profile file, replace occurrences of the physical host name with the central instance logical host name for all `pf=' arguments.

        In this example, the <SAPSID> is HA1:


        ...
        Execute_00 =local $(DIR_EXECUTABLE)/sapmscsa -n \
        
        pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost
        Start_Program_01   =local $(_MS) pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost
        Start_Program_02   =local $(_DW) pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost
        Start_Program_03   =local $(_CO) -F pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost
        Start_Program_04   =local $(_SE) -F pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost
        ...

      • Edit the <SAPSID>_DVEBMGS00_CIloghost file to add a new entry for the SAPLOCALHOST parameter.

        Add this entry only for the central instance profile. Set the SAPLOCALHOST parameter to be the central instance logical host name. This parameter allows external application servers to locate the central instance by using the logical host name.


        ...
        SAPLOCALHOST		 	 	 	 	 	 		=CIloghost
        ...

      • Edit the DEFAULT.PFL file to replace occurrences of the physical host name with the logical host name.

        For each of the rdisp/ parameters, replace the physical host name with the central instance logical host name. For the SAPDBHOST parameter, enter the logical host name of the database. If the central instance and database are installed on the same logical host, enter the central instance logical host name. If the database is installed on a different logical host, use the database logical host name instead. In this example, CIloghost represents the logical host name of the central instance, DBloghost represents the logical host name of the database, and HA1 is the <SAPSID>:


        ...
        SAPDBHOST	 	 	 	 	 	 	 		=DBloghost
        rdisp/mshost	 	 	 	 	 	 	 	 	=CIloghost
        rdisp/sna_gateway	 	 	 	 		 =CIloghost
        rdisp/vbname	 	 	 	 	 	 	 	 	=CIloghost_HA1_00
        rdisp/enqname	 	 	 	 	 	 	 	 	=CIloghost_HA1_00
        rdisp/btcname	 	 	 	 	 	 	 	 	=CIloghost_HA1_00
        ...

    8. Revise the TPPARAM transport configuration file.

      Change to the directory containing the transport configuration file.


      # cd /usr/sap/trans/bin
      

      Replace the database physical host name with the database logical host name. In this example, DBloghost represents the database logical host name and HA1 is the <SAPSID>. For example:


      ...
      HA1/dbhost = DBloghost
      ...

    9. (For SAP 4.x only) If SAP Transport Management System (TMS) has not been initialized on this system, the TPPARAM file will not yet exist. In this case, create the TPPARAM file and add the following entries to it.

      After TMS has been initialized, you might need to re-edit the file.


      <SID>/dbhost = DBloghost
      <SID>/dbconfpath = /var/opt/oracle/network/admin
      transdir = /usr/sap/trans

    10. (For SAP 4.x only) In the TPPARAM file, also set /var/opt/oracle to be the location for the database client configuration files.


      ...
      HA1/dbconfpath = /var/opt/oracle
      ...
  2. Modify the environment for the SAP database user.

    During SAP installation, SAP creates Oracle files that use Sun Cluster physical host names. Replace the physical host names with logical host names using the following steps.


    Note -

    Become the ora<sapsid> user before editing these files.


    1. Revise the .cshrc file in the ora<sapsid> home directory.

      The .cshrc file on the server in which SAP was installed contains aliases that use Sun Cluster physical host names. Replace the physical host names with logical host names.

      (For SAP 3.1x only) The resulting file should look similar to the following example, in which CIloghost represents the central instance logical host and DBloghost is the database logical host. If the central instance and database reside on the same logical host, use the central instance logical host name for each of the substitutions:


      # aliases
      alias			startsap					"$HOME/startsap_CIloghost_00"
      alias			stopsap					"$HOME/stopsap_CIloghost_00"
      
      # RDBMS environment
      if (-e $HOME/.dbenv_DBloghost.csh) then 
         source $HOME/.dbenv_DBloghost.csh
      else if (-e $HOME/.dbenv.csh) then 
         source $HOME/.dbenv.csh
      endif

      (For SAP 4.x only) The resulting .cshrc file should look similar to the following example, in which CIloghost is the central instance logical host and DBloghost is the database logical host. If the central instance and database reside on the same logical host, use the central instance logical host name for each of the substitutions:


      if ( -e $HOME/.sapenv_CIloghost.csh ) then
         source $HOME/.sapenv_CIloghost.csh
      else if ( -e $HOME/.sapenv.csh ) then
         source $HOME/.sapenv.csh
      endif
      
      # RDBMS environment
      if ( -e $HOME/.dbenv_DBloghost.csh ) then
         source $HOME/.dbenv_DBloghost.csh
      else if ( -e $HOME/.dbenv.csh ) then
         source $HOME/.dbenv.csh
      endif

    2. (For SAP 4.x only) Rename the .sapenv_physicalhost.csh to .sapenv_CIloghost.csh.

      In this example, CIloghost represents the central instance logical host name.


      $ mv .sapenv_physicalhost.csh .sapenv_CIloghost.csh
      

    3. Rename the .dbenv_physicalhost.csh file.

      Replace the physical host name with the database logical host name in the .dbenv_physicalhost.csh file name. If the central instance and database are on the same logical host, use the central instance logical host name for the substitution. In this example, DBloghost represents the database logical host:


      $ mv .dbenv_physicalhost.csh .dbenv_DBloghost.csh
      

    4. (For SAP 4.x only) Edit the .dbenv_DBloghost.csh file to set the ORA_NLS environment variable to point to the appropriate subdirectories of /var/opt/oracle for the database client configuration files. Also, set the TNS_ADMIN environment variable to point to the /var/opt/oracle directory.

      The .dbenv_DBloghost.csh file is located in the ora<sapsid> home directory.


      #setenv ORA_NLS /oracle/<SAPSID>/ocommon/NLS_723/admin/data
      setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data
        
      #setenv ORA_NLS32 /oracle/<SAPSID>/ocommon/NLS_733/admin/data
      setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data
        
      #setenv ORA_NLS33 /oracle/<SAPSID>/ocommon/NLS_804/admin/data
      setenv ORA_NLS33 /var/opt/oracle/ocommon/NLS_804/admin/data
      ... 
      # setenv TNS_ADMIN @TNS_ADMIN@
      setenv TNS_ADMIN /var/opt/oracle
      ...

    5. (For SAP 4.6B only) Edit the .dbenv_DBloghost.csh file to set the ORA_NLS environment variable to point to the appropriate subdirectories of /var/opt/oracle for the database client configuration files. Set the TNS_ADMIN environment variable to point to the /var/opt/oracle directory.

      The .dbenv_DBloghost.csh file is located in the ora<sapsid> home directory.


      ...
      #setenv ORA_NLS	 	 	 	 	 	 	 	/oracle/D01/ocommon/NLS_723/admin/data
      #setenv ORA_NLS32	 	 	 	 	 	/oracle/D01/ocommon/NLS_733/admin/data
      #setenv ORA_NLS33	 	 	 	 	 	/oracle/D01/ocommon/nls/admin/data
      setenv ORA_NLS	 	 	 	 	 	 	 	 /var/opt/oracle/ocommon/NLS_723/admin/data
      setenv ORA_NLS32	 	 	 	 	 	 		/var/opt/oracle/ocommon/NLS_733/admin/data
      setenv ORA_NLS33	 	 	 	 	 	 	/var/opt/oracle/ocommon/nls/admin/data
      ...
      # setenv TNS_ADMIN @TNS_ADMIN@
      setenv TNS_ADMIN /var/opt/oracle
      ...

  3. Edit the Oracle listener configuration files to replace occurrences of the physical host name with the database logical host name.

    If the central instance and database instance are on the same logical host, use the central instance logical host name for the substitutions.

  4. Make the Oracle listener configuration files locally accessible on every potential master.

    Use the following steps to accomplish this.

    1. Replace all occurrences of physical host names with the database logical host name in the listener.ora and tnsnames.ora files.

      (For SAP 3.1x only) The listener.ora file is located at /etc/listener.ora. The tnsnames.ora file is located at /usr/sap/trans/tnsnames.ora.

      (For SAP 4.x only) The listener.ora file is located at /oracle/<SAPSID>/network/admin/listener.ora. The tnsnames.ora file is located at /oracle/<SAPSID>/network/admin/tnsnames.ora.

    2. Relocate the Oracle listener configuration files on the node where the database is installed.

      (For SAP 3.1x only) During installation, SAP places the listener.ora file in the local /etc directory of the node where the installation took place, and creates a soft link in /usr/sap/trans. Move the listener.ora file to /var/opt/oracle. Reset soft links in /usr/sap/trans to point to the new location. Move the tnsnames.ora and sqlnet.ora files to the /var/opt/oracle directory.


      $ su
      # mv /etc/listener.ora /var/opt/oracle
      # rm /usr/sap/trans/listener.ora
      # ln -s /var/opt/oracle/listener.ora /usr/sap/trans
      # mv /usr/sap/trans/tnsnames.ora /var/opt/oracle
      # ln -s /var/opt/oracle/tnsnames.ora /usr/sap/trans
      # mv /usr/sap/trans/sqlnet.ora /var/opt/oracle
      # ln -s /var/opt/oracle/sqlnet.ora /usr/sap/trans
      

      (For SAP 4.x only) SAP places the listener.ora file in the default directory under $ORACLE_HOME/network/admin. Use the steps below to move the listener.ora file to /var/opt/oracle, and re-set soft links in the original directory to point to the new location. Move all other Oracle listener configuration files to the new location and re-set links to point to the new location.


      $ su
      # mv /oracle/<SAPSID>/network/admin/listener.ora /var/opt/oracle
      # ln -s /var/opt/oracle/listener.ora /oracle/<SAPSID>/network/admin
      # mv /oracle/<SAPSID>/network/admin/tnsnames.ora /var/opt/oracle
      # ln -s /var/opt/oracle/tnsnames.ora /oracle/<SAPSID>/network/admin
      # mv /oracle/<SAPSID>/network/admin/sqlnet.ora /var/opt/oracle
      # ln -s /var/opt/oracle/sqlnet.ora /oracle/<SAPSID>/network/admin
      # mv /oracle/<SAPSID>/network/admin/protocol.ora /var/opt/oracle
      # ln -s /var/opt/oracle/protocol.ora /oracle/<SAPSID>/network/admin
      

    3. (For SAP 4.x only) Copy the Oracle client configuration files to the common /var/opt/oracle directory


      # cd /var/opt/oracle; mkdir rdbms ocommon lib
      # cd /var/opt/oracle/rdbms; cp -R /oracle/<SAPSID>/rdbms/mesg .
      # cd /oracle/<SAPSID>/ocommon
      # tar -cf - NLS* | (cd /var/opt/oracle/ocommon ; tar xf -)
      # cd /var/opt/oracle/lib; cp /oracle/<SAPSID>/lib/libclntsh.so.1.0 .
      
      .

    4. (For SAP 4.6B only) Copy the Oracle client configuration files to the /var/opt/oracle directory and re-create links in the 805_32 directory


      # cd /var/opt/oracle; mkdir rdbms ocommon lib nls
      # cd /var/opt/oracle/rdbms; cp -R /oracle/<SAPSID>/rdbms/mesg .
      # cd /oracle/<SAPSID>/ocommon
      # tar -cf - NLS* | (cd /var/opt/oracle/ocommon ; tar xf -)
      # cd /var/opt/oracle/lib; cp /oracle/<SAPSID>/lib/libclntsh.so.1.0 .
      # cd /oracle
      # tar -cf - 805_32 | ( cd /var/opt/oracle ; tar xf - )
      # cd /var/opt/oracle/805_32/lib
      # rm libclntsh.so libclntsh.so.1.0
      # ln -s ./libclntsh805_32.so libclntsh.so
      # ln -s ./libclntsh805_32.so libclntsh.so.1.0
      # cd /oracle/<SAPSID>/ocommon
      # tar -cf - nls | (cd /var/oracle/ocommon ; tar xf -)
      
      .

    5. Distribute the Oracle listener configuration files to all potential masters of the central instance and database instance.

      Copy or transfer the Oracle configuration files from the node on which the database was initially installed into the local directory /var/opt/oracle on all potential central instance and database masters. In this example, physicalhost2 represents the name of the backup physical host.


      $ su
      # tar cf - /var/opt/oracle | rsh physicalhost2 tar xf -
      


      Note -

      As part of the maintenance of HA-DBMS, the configuration files must be synchronized on all potential master nodes, whenever modifications are made.


  5. Update the /etc/services files on all potential masters to include the new SAP service entries.

    The /etc/services files must be identical on all nodes.

  6. Create the /usr/sap/tmp directory on all nodes.

    The saposcol program will rely on this directory.

  7. Test the SAP installation.

    Test the SAP installation by manually shutting down SAP, manually switching the logical host between the potential master nodes, and then manually starting SAP on the backup node. This will verify that all kernel parameters, service port entries, file systems and mount points, and user/group permissions are properly set on all potential masters of the logical hosts.

    1. Start the central instance and database.


      # su - ora<sapsid>
      $ lsnrctl start
      ...
      # su - <sapsid>adm
      $ startsap all
      

    2. Run the GUI and verify that SAP comes up correctly.

      In this example, the dispatcher port number is 3200.


      # su - <sapsid>adm
      $ setenv DISPLAY your_workstation:0
      $ sapgui /H/CIloghost/S/3200
      

    3. Verify that SAP can connect to the database.


      # su - <sapsid>adm
      $ R3trans -d
      

    4. Run the saplicense utility to get a CUSTOMER KEY for the current node.

      You will need a SAP license for all potential masters of the central instance logical host.

    5. Stop SAP and the database.


      # su - <sapsid>adm
      $ stopsap all
      ...
      # su - ora<sapsid>
      $ lsnrctl stop
      

  8. For each remaining node that is a potential master of the central instance logical host, switch the central instance logical host to that node and repeat the test sequence described in Step 1.


    # scadmin switch clustername phys-hahost2 CIloghost
    

How to Configure Sun Cluster HA for Oracle
  1. Shut down SAP and the database.


    # su - <sapsid>adm
    $ stopsap all
    ...
    # su - ora<sapsid>
    $ lsnrctl stop
    

  2. (For SAP 3.1x only) Adjust the Oracle alert file parameter in the init<SAPSID>.ora file.

    By default, SAP uses the prefix "?/..." in the init<SAPSID>.ora file to denote the relative path from $ORACLE_HOME. The Sun Cluster fault monitors cannot parse the prefix, but instead require the full path name to the alert file. Therefore, you must edit the /oracle/<SAPSID>/dbs/init<SAPSID>.ora file and define the dump destination parameters as follows:


    background_dump_dest = /oracle/<SAPSID>/saptrace/background

  3. Register and activate the database.

    Run the hareg(1M) command from only one node. For example, for Oracle:


    # hareg -s -r oracle -h DBloghost
    # hareg -y oracle
    

  4. Set up the database instance.

    See Chapter 5, Installing and Configuring Sun Cluster HA for Oracle, for more information.

    For example, for Oracle:


    # haoracle insert <SAPSID> DBloghost 60 10 120 300 \
    
    user/password /oracle/<SAPSID>/dbs/init<SAPSID>.ora LISTENER
    

  5. Start fault monitoring for the database instance.

    For example:


    # haoracle start <SAPSID>
    

  6. Test switchover of the HA-DBMS.

    For example:


    # scadmin switch clustername phys-hahost2 DBloghost