Oracle 10g Clusterware CRS Installation on Linux

1. If you haven’t already, log in to Linux GUI desktop as the oracle user.
DO NOT LOG IN TO DESKTOP AS ROOT and su to oracle.

2. To prepare the GUI environment:
a. Locate the terminal program (Main Menu –> System Tools –> Terminal).
b. Right-click on the “Terminal” menu item.
i. Select “Add this launcher to panel”.

Note: This adds the Terminal program icon to the launcher panel at the
bottom of the screen, since we will be using this program often.

3. Open two terminal windows, if you haven’t already:

a. Click the Terminal icon we just added to the taskbar.
b. In one of the windows change user to root by typing:

$ su -
Password: oracle
#

Note: The prompt changed from “$” to “#” to indicate that the shell is
running with root privileges. From now on in these scripts, each
command will begin with either a “$” or “#” character to indicate
whether the command should be run in the “oracle” window or the
“root” window. Pay attention, it does make a difference.

4. Oracle 10g use ssh instead of rsh to install software to remote nodes.
In ssh, login must be password-less during installation.
To set up secure, password-less login via SSH for the oracle user:

a. Generate the user’s public and private SSH keys (~/.ssh/id_dsa.pub
and id_dsa), as the oracle user:

$ ssh-keygen -t dsa

i. “Enter file in which to save the key …:” –> Press ENTER.
ii. “Enter passphrase …:”
For LESS Secure connection just Press ENTER.
For Secure connection enter a passphrase only you will know.
iii. “Enter same passphrase again:” Either ENTER or passphrase.

vi. repeat step ‘a.’ above on each server in the cluster before proceeding to step ‘b.’

b. Create the authorized_keys file by combining the contents of the
id_dsa.pub files from each server. You can do this all on one node
by running the command below multiple times, replacing “node#”
with a different node name each time. As the oracle user:

$ ssh node# “cat ~/.ssh/id_dsa.pub” >> ~/.ssh/authorized_keys

i. Each time you connect from any node to a new hostname for the first
time, you will see a message similar to:

“The authenticity of host ‘node# (IP address)’ can’t be
established. RSA key fingerprint is …
Are you sure you want to continue connecting (yes/no)?”

Type “yes” and press ENTER. You will then see the message:

“Warning: Permanently added ‘node#,IP Address’ (RSA) to
the list of known hosts.”

ii. “oracle@node#’s password:” –> Type “oracle” and press ENTER.

$ scp ~/.ssh/authorized_keys node2_#:/home/oracle/.ssh/
oracle@node2_#’s password: –> Type “oracle” and press ENTER.

c. (Optional) If you entered passphrase above, and desire password-less
login (needed for 10g RAC install), you need to inform the ssh-agent
(already running for desktop) of the passphrase so that ssh clients
would not be prompted for a passphrase. Once you notify ssh-agent the
passphrase is cached for duration of the GUI desktop login, and further
client requests are satisfied by the ssh-agent.

$ ssh-add
Enter passphrase for /home/oracle/.ssh/id_dsa: *TYPE YOUR PASSPHRASE*
Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)

d. (not optional) To finalize and test the passwordless SSH connection,
answer YES to any prompt(run twice, second time will not prompt for
password):

i. Run “ssh node# date”.
ii. Run “ssh nodelocal# date”.
iii. Run “ssh node#.oracle.com date”.
iv. Run “ssh nodelocal#.oracle.com date”.

Note: In a real multi-server environment, repeat above steps on all nodes.

Troubleshoot: If password is being asked check ownership of user’s home
directory should be restricted for writes to group and others.
Tail /var/log/messages during a connect attempt
run ssh in verbose mode as: “ssh -vvv node# date”

5. Insure that you could access could access /mnt/oraclesw

6. Make and change permission to ORACLE_BASE directory, as root:

# chown oracle:dba /opt/oracle

7. Setup raw devices for voting disk and OCR file:

/dev/raw/raw1 OCR
/dev/raw/raw2 Voting Disk

b. Change permission on the raw devices to oracle:

# chown oracle:dba /dev/raw/raw1
# chown oracle:dba /dev/raw/raw2

OR in shorthand Linux-style:

# chown oracle:dba /dev/raw/raw[12]

c. Start the raw devices (make sure they start upon next reboot) as root:

Enterprise Linux:
# /etc/init.d/rawdevices restart
# raw -qa

Raw devices are set to automatically start on boot on Enterprise Linux.

d. Initialize raw devices

# dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=100
# dd if=/dev/zero of=/dev/raw/raw2 bs=1M count=100

8. Install Cluster Ready Services (CRS):

a. Run the installer, as the oracle user:

$ ./runInstaller

i. Screen: “Welcome”
Click “Next”

ii. (Optionally) Screen: “Specify Inventory directory and credentials”
1. Change Inventory directory to: /opt/oracle/oraInventory
2. Change Operating System group name to: dba
3. Click “Next”

iii. (Optionally) PopUP… As root run /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/oraInventory/orainstRoot.sh
Click “Continue” in installer.

iv. Screen: “Specify File Locations”
Change Name to: CRS10g
Change Path to: /opt/oracle/product/crs10g
Click “Next”

Screen: “Product-Specific Prerequisite Checks”

v. NO APPEAR Screen: “Language Selection”
Click “Next”

vi. Screen: “Cluster Configuration” — Enter Node1 and Node2
Cluster Name as “crs”
For public node name, use “node#.oracle.com”.
For private node name, use “nodelocal#.oracle.com”.
For VIP node name, use “nodevip#.oracle.com”.
Click “Next”

Note: If you get warning: node unreachable, double check that
“ssh date” returns nothing except the date

vii. Screen: “Private Interconnect Enforcement” –Enter Node1 and Node2
For eth0, select “Public” in the “Interface Type” column.
For eth1, select “Private” in the “Interface Type” column.
Click “Next”

viii. Screen: “Oracle Cluster Registry” –Need at least 2 devices for production
Select External Redundancy
Enter: /dev/raw/raw1
Click “Next”

ix. Screen: “Voting Disk” –Need at least 3 devices for production
Select External Redundancy
Enter: /dev/raw/raw2
Click “Next”

x. Screen: “Summary”
Click “Install” to finish installation

xi. PopUP Setup Privileges: As root, run root.sh
on the specified node. You may receive a warning about eth0 is not public. DO NOT CONTINUE UNTIL YOU DO STEP xi.

Ignore:
“WARNING: directory ‘/opt/oracle’ is not owned by root”

See bug 3463657 for details.

CRS Success message as follows:
“Oracle CRS stack installed and running under init(1M)”

If not, double check /etc/hosts file. To reattempt root.sh

1. vi /etc/inittab (comment out last three crs lines)
2. init q (re-read inittab and kill unneeded processes)
3. kill any other leftover crs/css/evm processes

xi. YOU MAY NEED TO DO THIS IF THE IP ADDRESS FOR PUBLIC IS 10.0.0.x or 192.168.1.x

The “Configuration Assistants” Screen will error due to the following
public interface has an ip address that is a RFC 1918 address.

a. As root
b. # cd /opt/oracle/product/crs10g/bin
c. # ./vipca &
d. Popup screen “Welcome”, select “Next”
e. Screen “VIP Configuration Assistant Step 1″, select “eth0″ and “next”
f. Screen “VIP Configuration Assistant Step 2″, enter “node#-vip” (verify the IP address) and “Next”
g. Screen “Summary”, click “Finish”
h. Screen “VIPCA Process and Summary”, click “OK” when completed

Click “OK” in installer PopUP.

xii. Screen: “End of Installation”, exit the installer
Click “Exit” and confirm exit.

xiii. Check that CRS is running

# cd /opt/oracle/product/crs10g/bin
# crs_stat -t

9. Create Oracle user environment:

a. Edit .bashrc login file of the oracle user:

$ vi $HOME/.bashrc -OR- nedit $HOME/.bashrc

Insert following 6 lines towards the bottom:

export ORACLE_SID=ORCL
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/db10g
export ORA_CRS_HOME=/opt/oracle/product/crs10g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin

b. Execute the .bashrc script to pickup changes, as the oracle user:

$ source $HOME/.bashrc

c. As the root user:

# source ~oracle/.bashrc

10. (Optionally) Disable reboot on CRS failures

Comment out the FAST_REBOOT (Around Line:81 linux section):
/etc/rc.d/init.d/init.cssd

### FAST_REBOOT=”/sbin/reboot -n -f”

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word