Your Doorstep to the Temple of Oracle

Oracle EBS

Archive for November, 2011

10g RAC Installation on RHEL 5

Posted by appsdba11i on November 30, 2011

Hi folks

This is purely a simulation on our test environment, may not be the same with other environments and or resources,
kindly do not imitate, this post is only for understanding the steps.

In case of RAC installation of 10g i am doing a simulation on two nodes.
which are equipped with the 2 NIC cards, Iomega Storage with partitioned LUN.

I have created RAW partitions here, We can create ASM also.

Oracle 10gR2 installation on Linux 5

ON BOTH NODES
=================
1. envLogin into the system as root.
2. Create Partitions on Shared Storage (From Single Node only is enough)
Partition the Disks
Both ASMLib and raw devices require the candidate disks to be partitioned before they can be accessed. In this example, disk /dev/sda should be partitioned to the required no of partitions.

# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):
Using default value 1305
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
#
Required logical partitiones have to be created in the extended partition /dev/sda1 just now created. Next create logical partitions as required (/dev/sda5, /dev/sda6, /dev/sda7 etc….)
3. Creating required O/S groups, users and directory structure
A) The OHSDBA group (typically dba)
groupadd –g 301 dba
B) The Oracle Inventory Group (Typically oinstall)
groupadd –g 300 oinstall
C) The CRS User
useradd -u 250 -c “CRS User” -d /RAC/oracrs -g root -G bin,daemon,sys,adm,disk,wheel -m -s /bin/ksh ororacrs
passwd ororacrs
D) The Oracle Soft Owner user
useradd -u 251 -c “Oracle User” -d /RAC/oracle -g oinstall -G dba -m -s /bin/ksh orRAC
passwd orRAC

4. Create the directory structure.
mkdir –p /RAC/oracle/product/102
mkdir –p /RAC/oracle/oradata
mkdir –p /RAC/oracrs
chown –R orRAC.oinstall /RAC
chmod 755 /RAC

5. Configuring RAW devices and create softlinks

[root@dba4 raw]# vi /etc/sysconfig/rawdevices
[root@dba4 raw]# cat /etc/sysconfig/rawdevices
# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw5 /dev/sda5
/dev/raw/raw6 /dev/sda6
/dev/raw/raw7 /dev/sda7
/dev/raw/raw8 /dev/sda8
/dev/raw/raw9 /dev/sda9
/dev/raw/raw10 /dev/sda10
/dev/raw/raw11 /dev/sda11
/dev/raw/raw12 /dev/sda12
/dev/raw/raw13 /dev/sda13
/dev/raw/raw14 /dev/sda14
/dev/raw/raw15 /dev/sda15
[root@dba4 raw]#

[root@dba4 raw]# service /etc/init.d/rawdevices restart
[root@dba4 raw]# chkconfig –list rawdevices
rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:on
[root@dba4 raw]# chown orRAC.dba raw5 #[5-15]
[root@dba4 raw]# ls -ltr raw*
crw-rw—- 1 orRAC dba 162, 1 May 4 21:49 raw1
crw-rw—- 1 orRAC dba 162, 5 May 4 21:54 raw5
crw-rw—- 1 orRAC dba 162, 6 May 4 21:54 raw6
crw-rw—- 1 orRAC dba 162, 7 May 4 21:54 raw7
crw-rw—- 1 orRAC dba 162, 8 May 4 21:54 raw8
crw-rw—- 1 orRAC dba 162, 9 May 4 21:54 raw9
crw-rw—- 1 orRAC dba 162, 10 May 4 21:54 raw10
crw-rw—- 1 orRAC dba 162, 11 May 4 21:54 raw11
crw-rw—- 1 orRAC dba 162, 12 May 4 21:54 raw12
crw-rw—- 1 orRAC dba 162, 13 May 4 21:54 raw13
crw-rw—- 1 orRAC dba 162, 14 May 4 21:54 raw14
crw-rw—- 1 orRAC dba 162, 15 May 4 21:54 raw15
[root@dba4 raw]#

[root@dba4 raw]# cd /RAC/oracle
[root@dba4 RAC]# chown -R orRAC.oinstall oradata
[root@dba4 RAC]#

Create the softlinks for the above raw devices to
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw5 /RAC/oracle/oradata/vot1
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw6 /RAC/oracle/oradata/vot2
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw7 /RAC/oracle/oradata/vot3
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw8 /RAC/oracle/oradata/ocr1
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw9 /RAC/oracle/oradata/ocr2
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw10 /RAC/oracle/oradata/ocr3
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw11 /RAC/oracle/oradata/asm1
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw12 /RAC/oracle/oradata/asm2
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw13 /RAC/oracle/oradata/asm3
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw14 /RAC/oracle/oradata/asm4
[orRAC@dba4 RAC]$ ln -s /dev/raw/raw15 /RAC/oracle/oradata/asm5
[orRAC@dba4 RAC]$ ls –ltr

Place thebelow commands in rc.local file to make them permanent or use the file /etc/udev/permissions.d/50-permissions.d
chown orRAC:oinstall /dev/raw/raw5
chown orRAC:oinstall /dev/raw/raw6
chown orRAC:oinstall /dev/raw/raw7
chown orRAC:oinstall /dev/raw/raw8
chown orRAC:oinstall /dev/raw/raw9
chown orRAC:oinstall /dev/raw/raw10
chown orRAC:oinstall /dev/raw/raw11
chown orRAC:oinstall /dev/raw/raw12
chown orRAC:oinstall /dev/raw/raw13
chown orRAC:oinstall /dev/raw/raw14
chown orRAC:oinstall /dev/raw/raw15
chmod 600 /dev/raw/raw5
chmod 600 /dev/raw/raw6
chmod 600 /dev/raw/raw7
chmod 600 /dev/raw/raw8
chmod 600 /dev/raw/raw9
chmod 600 /dev/raw/raw10
chmod 600 /dev/raw/raw11
chmod 600 /dev/raw/raw12
chmod 600 /dev/raw/raw13
chmod 600 /dev/raw/raw14
chmod 600 /dev/raw/raw15
[orRAC@dba4 oradata]$

[orRAC@dba4 oradata]$ ls -ltr
total 0
lrwxrwxrwx 1 orRAC oinstall 13 May 5 11:30 vot3 -> /dev/raw/raw7
lrwxrwxrwx 1 orRAC oinstall 13 May 5 11:30 vot2 -> /dev/raw/raw6
lrwxrwxrwx 1 orRAC oinstall 13 May 5 11:30 vot1 -> /dev/raw/raw5
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 ocr3 -> /dev/raw/raw10
lrwxrwxrwx 1 orRAC oinstall 13 May 5 11:30 ocr2 -> /dev/raw/raw9
lrwxrwxrwx 1 orRAC oinstall 13 May 5 11:30 ocr1 -> /dev/raw/raw8
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 asm4 -> /dev/raw/raw14
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 asm3 -> /dev/raw/raw13
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 asm2 -> /dev/raw/raw12
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 asm1 -> /dev/raw/raw11
lrwxrwxrwx 1 orRAC oinstall 14 May 5 11:30 asm5 -> /dev/raw/raw15
[orRAC@dba4 oradata]$

6. Configuring SSH or RSH on all cluster nodes (Any one of them is ok).
Create RSA and DSA keys on each node
Login as Oracle User
If necessary, create the .ssh directory in the Oracle User Home directory and set the correct permissions on it.
mkdir ~/.ssh
chmod 700 ~/.ssh

Enter the following command to generate the RSA key

[orRAC@dba4 ~]$ cd .ssh
[orRAC@dba4 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/RAC/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /RAC/oracle/.ssh/id_rsa.
Your public key has been saved in /RAC/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
de:7e:81:f5:9e:20:2a:80:80:bf:c4:9c:29:14:d1:e6 orRAC@dba4
[orRAC@dba4 ~]$

Enter the following command to generate the DSA key.

[orRAC@dba4 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/RAC/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /RAC/oracle/.ssh/id_dsa.
Your public key has been saved in /RAC/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
f6:37:9b:cc:2c:03:6d:27:27:f3:ff:a3:97:59:3d:91 orRAC@dba4
[orRAC@dba4 ~]$

[orRAC@dba4 .ssh]$ /usr/bin/ssh dba4 cat /RAC/oracle/.ssh/id_rsa.pub >> /RAC/oracle/.ssh/authorized_keys
[orRAC@dba4 .ssh]$ /usr/bin/ssh dba4 cat /RAC/oracle/.ssh/id_dsa.pub >> /RAC/oracle/.ssh/authorized_keys
[orRAC@dba4 .ssh]$ /usr/bin/ssh dba6 cat /RAC/oracle/.ssh/id_rsa.pub >> /RAC/oracle/.ssh/authorized_keys
[orRAC@dba4 .ssh]$ /usr/bin/ssh dba6 cat /RAC/oracle/.ssh/id_dsa.pub >> /RAC/oracle/.ssh/authorized_keys

[orRAC@dba4 .ssh]$ ssh dba4 “date;hostname”
Sun May 3 15:04:14 IST 2009
dba4
[orRAC@dba4 .ssh]$ ssh dba6 “date;hostname”
Sun May 3 07:03:58 IST 2009
dba6
[orRAC@dba4 .ssh]$

Enter the following commands before you start the installation from the session, as this is not persistent.
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add

[oracle@dba4 .ssh]$ cat key-passphrase
welcome
[oracle@dba4 .ssh]$ cat add-passphrase.sh
#!/bin/sh
cat ~/.ssh/key-passphrase << EOF
[oracle@dba4 .ssh]$ cat ssh-equiv
export SSH_ASKPASS=~/.ssh/add-passphrase.sh
eval `/usr/bin/ssh-agent`
ssh-add > /etc/modprobe.conf
[root@dba4 ~]# echo “/sbin/modprobe hangcheck-timer” >> /etc/rc.local
[root@dba4 ~]# modprobe hangcheck-timer
[root@dba4 ~]# grep Hangcheck /var/log/messages | tail -2
May 4 20:19:02 dba4 kernel: Hangcheck: starting hangcheck timer 0.5.0 (tick is 30 seconds, margin is 180 seconds).
[root@dba4 ~]#

13. Upload the software to the installing node

[orRAC@dba4 10.2.0]$ pwd
/RAC/downloads/10gR2/10.2.0
[orRAC@dba4 10.2.0]$ ls -ltr
total 8
drwxr-xr-x 9 orRAC oinstall 4096 May 5 11:44 10gR2_clusterware_linux32
drwxr-xr-x 3 orRAC oinstall 4096 May 5 11:44 10gR2_database_linux32
[orRAC@dba4 10.2.0]$

14. Configure VNC Server on installing node…
[root@dba4 ~]# chkconfig –list vncserver
[root@dba4 ~]# chkconfig –level 23456 vncserver on
[root@dba4 ~]# chkconfig –list vncserver
[root@dba4 ~]# service vncserver status
[root@dba4 ~]# service vncserver start

[root@dba4 ~]# vncserver
### Prompts for the password

pwd
conf pwd

displays the server details like on which port the vncserver started
e.g dba4.lorven.com:1
[root@dba4 ~]#

VNC Details with GUI
/home/oracle/.vnc/xstartup ( User home/.vnc/xstartup)
uncomment for GUI mode unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
check the GUI is working
[orRAC@dba4 ~]# xclok
This should open a clock window…
Client Side opening vnc session
open the vnc viewer and and give the server name and port on which the vnc started e.g, dba4.lorven.com:1
next give the password “orRAC”

15. Setting up the environment vavriables.
vi .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_SID=RAC1; export ORACLE_SID #change SID on second node to RAC2
ORACLE_BASE=/RAC/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/102; export ORACLE_HOME
ORA_CRS_HOME=/RAC/oracrs; export ORA_CRS_HOME
PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$ORA_ASM_HOME/bin:.
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

16. Install the required O/S RPMs
[root@dateline6 rpms]# rpm -ivh compat-gcc-7.3-2.96.128.i386.rpm
warning: compat-gcc-7.3-2.96.128.i386.rpm: V3 DSA signature: NOKEY, key ID 73307de6
Preparing… ########################################### [100%]
1:compat-gcc ########################################### [100%]

[root@dateline6 rpms]# rpm -ivh compat-libstdc++-7.3-2.96.128.i386.rpm –force
warning: compat-libstdc++-7.3-2.96.128.i386.rpm: V3 DSA signature: NOKEY, key ID a7048f8d
Preparing… ########################################### [100%]
1:compat-libstdc++ ########################################### [100%]

[root@dateline6 rpms]# rpm -ivh compat-libstdc++-devel-7.3-2.96.128.i386.rpm
warning: compat-libstdc++-devel-7.3-2.96.128.i386.rpm: V3 DSA signature: NOKEY, key ID a7048f8d
Preparing… ########################################### [100%]
1:compat-libstdc++-devel ########################################### [100%]

[root@dateline6 rpms]# rpm -ivh compat-gcc-c++-7.3-2.96.128.i386.rpm
warning: compat-gcc-c++-7.3-2.96.128.i386.rpm: V3 DSA signature: NOKEY, key ID 73307de6
Preparing… ########################################### [100%]
1:compat-gcc-c++ ########################################### [100%]
[root@dateline6 rpms]#

17. Run the cluster verify utility

[oracle@rac1 cluvfy]$ sh runcluvfy.sh stage -pre crsinst -n rac1,rac2

Performing pre-checks for cluster services setup

Checking node reachability…
Node reachability check passed from node “rac1”.

Checking user equivalence…
User equivalence check passed for user “oracle”.

Checking administrative privileges…
User existence check passed for “oracle”.
Group existence check passed for “oinstall”.
Membership check for user “oracle” in group “oinstall” [as Primary] passed.

Administrative privileges check passed.

Checking node connectivity…

Node connectivity check passed for subnet “192.168.2.0” with node(s) rac2,rac1.
Node connectivity check passed for subnet “192.168.0.0” with node(s) rac2,rac1.

Suitable interfaces for the private interconnect on subnet “192.168.2.0”:
rac2 eth0:192.168.2.6
rac1 eth0:192.168.2.5

Suitable interfaces for the private interconnect on subnet “192.168.0.0”:
rac2 eth1:192.168.1.6
rac1 eth1:192.168.1.5

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

Node connectivity check failed.

Checking system requirements for ‘crs’…
Total memory check passed.
Free disk space check passed.
Swap space check passed.
System architecture check passed.
Kernel version check passed.
Package existence check passed for “make-3.79”.
Package existence check passed for “binutils-2.14”.
Package existence check passed for “gcc-3.2”.
Package existence check passed for “glibc-2.3.2-95.27”.
Package existence check passed for “compat-db-4.0.14-5”.
Package existence check passed for “compat-gcc-7.3-2.96.128”.
Package existence check passed for “compat-gcc-c++-7.3-2.96.128”.
Package existence check passed for “compat-libstdc++-7.3-2.96.128”.
Package existence check passed for “compat-libstdc++-devel-7.3-2.96.128”.
Package existence check passed for “openmotif-2.2.3”.
Package existence check passed for “setarch-1.3-1”.
Group existence check passed for “dba”.
Group existence check passed for “oinstall”.
User existence check passed for “nobody”.

System requirement passed for ‘crs’

Pre-check for cluster services setup was unsuccessful on all the nodes.
[oracle@rac1 cluvfy]$

18. Installing the Clusterware
/RAC/downloads/10gR2/10.2.0/10gR2_clusterware_linux32/runInstaller




Click on Add button above

Provide the details as above…

Click next to continue..

Click yes to continue and correct the error afterwords..

opened vnc of node2 dba6:1 (orRAC) and execute the script as below.

[orRAC@dba6 ~]$ /RAC/oracle/oracrs/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/RAC/oracle/oracrs ORACLE_HOME_NAME=OraCrs10g_home CLUSTER_NODES=dba4,dba6 CRS=true “INVENTORY_LOCATION=/RAC/oracle/oraInvenotry” LOCAL_NODE=dba6
Starting Oracle Universal Installer…

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
‘AttachHome’ was successful.
[orRAC@dba6 ~]$

[root@dba4 ~]# /RAC/oracle/oraInventory/orainstRoot.sh
Changing permissions of /RAC/oracle/oraInventory to 770.
Changing groupname of /RAC/oracle/oraInventory to oinstall.
The execution of the script is complete
[root@dba4 ~]#

[root@dba6 ~]# /RAC/oracle/oraInventory/orainstRoot.sh
Creating the Oracle inventory pointer file (/etc/oraInst.loc)
Changing permissions of /RAC/oracle/oraInventory to 770.
Changing groupname of /RAC/oracle/oraInventory to oinstall.
The execution of the script is complete
[root@dba6 ~]#

[root@dba4 ~]# /RAC/oracle/oracrs/root.sh
WARNING: directory ‘/RAC/oracle’ is not owned by root
WARNING: directory ‘/RAC’ is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory ‘/RAC/oracle’ is not owned by root
WARNING: directory ‘/RAC’ is not owned by root
assigning default hostname dba4 for node 1.
assigning default hostname dba6 for node 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 1: dba4 dba4-priv dba4
node 2: dba6 dba6-priv dba6
Creating OCR keys for user ‘root’, privgrp ‘root’..
Operation successful.
Now formatting voting device: /dev/raw/raw5
Now formatting voting device: /dev/raw/raw6
Now formatting voting device: /dev/raw/raw7
Format of 3 voting devices complete.
Startup will be queued to init within 90 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
dba4
CSS is inactive on these nodes.
dba6
Local node checking complete.
Run root.sh on remaining nodes to start CRS daemons.
[root@dba4 ~]#

[root@dba6 ~]# /RAC/oracle/oracrs/root.sh
WARNING: directory ‘/RAC/oracle’ is not owned by root
WARNING: directory ‘/RAC’ is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist. Creating it now.

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory ‘/RAC/oracle’ is not owned by root
WARNING: directory ‘/RAC’ is not owned by root
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
assigning default hostname dba4 for node 1.
assigning default hostname dba6 for node 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 1: dba4 dba4-priv dba4
node 2: dba6 dba6-priv dba6
clscfg: Arguments check out successfully.

NO KEYS WERE WRITTEN. Supply -force parameter to override.
-force is destructive and will destroy any previous cluster
configuration.
Oracle Cluster Registry for cluster has already been initialized
Startup will be queued to init within 90 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
dba4
dba6
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
The given interface(s), “eth0” is not public. Public interfaces should be used to configure virtual IPs.
[root@dba6 ~]#

[root@dba6 ~]# cd /RAC/oracle/oracrs/bin
[root@dba6 bin]# ./vipca
[root@dba6 bin]#

19. Installing the Oracle Database 10g R2
[orRAC@dba4 ~]$ /RAC/downloads/10gR2/10.2.0/10gR2_clusterware_linux32/runInstaller

[orRAC@dba6 bin]$ /RAC/oracle/product/102/oui/bin/runInstaller -attachHome -noCluterEnabled ORACLE_HOME=/RAC/oracle/product/102 ORACLE_HOME_NAME=OraDb10g_home1 CLUSTER_NODES=dba4,dba6 “INVENTORY_LOCATION=/RAC/oracle/oraInventory” LOCAL_NODE=dba6
Starting Oracle Universal Installer…

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
‘AttachHome’ was successful.
[orRAC@dba6 bin]$

Unable to copy the file dba6:/etc/oratab to /tmp/oratab.dba6
Ignored the oratab file copy error…

[root@dba4 ~]# /RAC/oracle/product/102/root.sh
Running Oracle10 root.sh script…

The following environment variables are set as:
ORACLE_OWNER= orRAC
ORACLE_HOME= /RAC/oracle/product/102

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

[root@dba4 ~]#

[root@dba6 etc]# /RAC/oracle/product/102/root.sh
Running Oracle10 root.sh script…

The following environment variables are set as:
ORACLE_OWNER= orRAC
ORACLE_HOME= /RAC/oracle/product/102

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

[root@dba6 etc]#

The following J2EE Applications have been deployed and are accessible at the URLs listed below.
iSQL*Plus URL:
http://dba4.lorven.com:5561/isqlplus
iSQL*Plus DBA URL:
http://dba4.lorven.com:5561/isqlplus/dba
Enterprise Manager 10g Database Control URL:

Removing Oracle CRS if installation fails
The following procedure provides instructions to remove Oracle CRS. Make sure that you consult the Oracle CRS documentation for complete steps. Metalink Note ID : 239998.1
To remove Oracle CRS
1. Run the rootdelete.sh script (in this example, $CRS_HOME is ‘/crshome’):
# cd /oradb/crs/102/install
# ./rootdelete.sh
Run the rootdeinstall.sh script from primary node:
# cd /oradb/crs/102/install
# ./rootdeinstall.sh

Manual
=======
2. Stop the applications on all nodes:
3. # srvctl stop nodeapps -n node_name
4. Copy the file inittab.orig back to the name and remove other init files:
# cd /etc
# cp inittab.orig inittab
# rm init.crs init.crsd init.cssd init.evmd
# rm /etc/rc.d/rc2.d/K96init.crs
# rm /etc/rc.d/rc2.d/S96init.crs

# ls -tlr /etc/init.d/init.cssd /etc/init.d/init.crs /etc/init.d/init.crsd /etc/init.d/init.evmd /etc/rc2.d/K96init.crs /etc/rc2.d/S96init.crs /etc/rc3.d/K96init.crs /etc/rc3.d/S96init.crs /etc/rc5.d/K96init.crs /etc/rc5.d/S96init.crs /etc/oracle/scls_scr /etc/inittab.crs

# cd /var/tmp/.oracle/
# rm -rf *
# cd /tmp/.oracle/
# rm -rf *
5. Remove ora* files from the /etc directory:
# cd /etc
# rm -rf oraInst.loc ora_save* oracle oratab

6. Remove file from $CRS_HOME and Oracle Inventory after taking a backup of your current files.
If your $CRS_HOME is located at ‘$ORA_CRS_HOME’, perform the following steps:
# cd /oradb/crs/102
# mv ../crs crs.old

[root@dateline6 crs]# ls -ld /oradb/oracle/product/10.2.0/crs/
drwxr-xr-x 2 oracle oinstall 4096 Aug 31 20:15 /oradb/oracle/product/10.2.0/crs/
You can remove the ‘crs.old’ directory at a later time.
chown -R oracle.oinstall /oradb/crs/102
chown -R oracle.oinstall /oradb/crs/102
Remove the oraInentory
# cd /oradb/crs
# rm -rf oraInventory
7. Remove files from the OCR and Voting disk directories. For our example: (If rootdeinstall,sh is not successfully run)
# rm -rf /oradb/oracle/oradata/ocr
# rm -rf /oradb/oracle/oradata/votingdisk

If OCR and Voting disk storage are on raw volumes, use command resembling:
# dd if=/dev/zero of=/oradb/oracle/oradata/ocr bs=8192 count=38400
# dd if=/dev/zero of=/oradb/oracle/oradata/votingdisk bs=8192 count=12800

[root@dateline4 oracle]# ls -ltr /dev/raw/raw*
crw-r–r– 1 oracle oinstall 162, 1 Aug 31 19:42 /dev/raw/raw1
crw-r–r– 1 oracle oinstall 162, 2 Aug 31 19:42 /dev/raw/raw2
crw——- 1 oracle oinstall 162, 4 Aug 31 19:42 /dev/raw/raw4
crw——- 1 oracle oinstall 162, 5 Aug 31 19:42 /dev/raw/raw5
crw——- 1 oracle oinstall 162, 3 Aug 31 19:42 /dev/raw/raw3
crw——- 1 oracle oinstall 162, 6 Aug 31 19:42 /dev/raw/raw6
crw——- 1 oracle oinstall 162, 7 Aug 31 19:42 /dev/raw/raw7
[root@dateline4 oracle]# chmod 600 /dev/raw/raw1 /dev/raw/raw2
[root@dateline4 oracle]# ls -ltr /dev/raw/raw*
crw——- 1 oracle oinstall 162, 1 Aug 31 19:42 /dev/raw/raw1
crw——- 1 oracle oinstall 162, 2 Aug 31 19:42 /dev/raw/raw2
crw——- 1 oracle oinstall 162, 4 Aug 31 19:42 /dev/raw/raw4
crw——- 1 oracle oinstall 162, 5 Aug 31 19:42 /dev/raw/raw5
crw——- 1 oracle oinstall 162, 3 Aug 31 19:42 /dev/raw/raw3
crw——- 1 oracle oinstall 162, 6 Aug 31 19:42 /dev/raw/raw6
crw——- 1 oracle oinstall 162, 7 Aug 31 19:42 /dev/raw/raw7
[root@dateline4 oracle]#
[root@dateline4 oracle]# ls -ltr /oradb/oracle/oradata/*
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/votingdisk -> /dev/raw/raw2
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/ocr -> /dev/raw/raw1
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/asm4 -> /dev/raw/raw6
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/asm3 -> /dev/raw/raw5
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/asm2 -> /dev/raw/raw4
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/asm1 -> /dev/raw/raw3
lrwxrwxrwx 1 oracle oinstall 13 Aug 31 19:25 /oradb/oracle/oradata/asm5 -> /dev/raw/raw7

8. Reboot the systems to make sure no CRS daemons are running.

Regards
Krishna

Posted in Oracle Real Application Clusters | Leave a Comment »

Could not find service instance context for service instance number

Posted by appsdba11i on November 15, 2011

hi friends.

i faced this issue 1 week and Concurrent Manager is not coming up
the error in the manager log file is “Could not find service instance context for service instance number ”

error in log file
———————–
Could not find service instance context for service instance number 7269
Found dead process: spid=(23209), cpid=(9714), Service Instance=(1159)

Cause :
——-
Mangaers are wrongly defined or fnd_nodes having some incorrect values.

Action plan to resolve this issue
=================================

Action 1)

Make sure that no FNDLIBR process exist (Stop the CM service)

run cmclean.sql from APPS schema and start the services as its resets all fnd tables

if action 1 not working for your case try this

Action 2)

1. Run the following in SQL*Plus as APPS:

EXEC FND_CONC_CLONE.SETUP_CLEAN;
COMMIT;
EXIT;

2. Run AutoConfig to repopulate the required system tables.

Note that step two will delete all data from system tables such as FND_NODES,
FND_OAM_CONTEXT_FILES, etc.

The correct information for the current system will be repopulated when AutoConfig is run.

3. Start the managers

Ref id : (Doc ID 368380.1)

Hope this will resolve your issue.

Cheers
Reddy

Posted in Concurrent Manager, Issues | Tagged: , | Leave a Comment »

Crash recovery fails Ora-600 [Kcrf_rsw_init-2]

Posted by appsdba11i on November 15, 2011

HI friends.

recently one of our client Test DB crahsed & datafiles corrupted. so we restored a backup(hot snap)
and we got this error while recovering database

ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [kcrf_rsw_init_2], [207], [202],
[2], [], [], [], [], [], [], [], []

Cause :
========

During instance recovery the current online redolog header is read and it compare the information in the header against
the information in the controlfile – if the information in the controlfile is corrupt or out of sync then
ORa-00600 [kcrf_rsw_init-2] is raised.

Solution
============
1) SQL>STARTUP MOUNT

2) Find current online redolog with following query

SQL>SELECT F.MEMBER, V.THREAD#, V.SEQUENCE#, V.GROUP#, V.STATUS
FROM V$LOG V, V$LOGFILE F WHERE V.GROUP# = F.GROUP#;

3) use this redologs for recovery

SQL>RECOVER DATABASE USING BACKUP CONTROFILE UNTIL CANCEL;

When prompted for the log sequence supply the name of the current online redolog then reopen:

4)Once after log applied,open the database

SQL>ALTER DATABASE OPEN RESETLOGS;

Reference Note :
==================
Crash recovery fails Ora-600 [Kcrf_rsw_init-2] (Doc ID 1313954.1)

Thanks
Reddy

Posted in core oracle dba, Issues | Tagged: , , | Leave a Comment »