Index

Next: Basics of RAC managemen


8. Database server installation.

TABLE OF CONTENT:

Database server installation. 1

8.1) 300-check-env.sh- checks environment for Oracle database. 2

8.2) 310-InstOracle.1sh - starts Oracle Installer for the main database. 2

8.3) 320-RunRootSh.sh – running root.sh scripts. Patching oracle for x86_64. 5

8.4) 340-run-netca.1sh - run Network Configuration Assistant (on single node). 8

8.5) 350-relink-with-aio.sh – Relink Oracle to turn on Async IO. 11

9. Creating first DATABASE. 13

9.1) Run dbca. (400-create-database.sh) - starts dbca and creates database. 13

9.2) Edit /etc/oratab. 31

 

Table of scripts.

File 300-check-env.sh: 1

File 310-InstOracle.1sh: 2

File 320-RunRootSh.sh: 5

File 340-run-netca.1sh: 8

File 350-relink-with-aio.sh: 11

File 400-create-database.sh: 13

File 410-edit-oratab.sh: 31

 

Now you have Cluster Ready Services installed and configured.

It is time to install Oracle Database.

8.1) 300-check-env.sh- checks environment for Oracle database.

File 300-check-env.sh:

#
# 300) check oracle env
#
echo " "
echo " Please, run me on all nodes and be sure that ORACLE_BASE is correct and ORACLE_SID is different\33[m"
echo " "
su - -c "set | grep ORACLE" oracle

 

Script is simple, no comments.

Results:

 

testrac11:/INST # sh 300*sh

 

 Please, run me on all nodes and be sure that ORACLE_BASE is correct and ORACLE_SID is different

 

ORACLE_BASE=/opt/oracle

ORACLE_HOME=/opt/oracle/product/10.1.0/db_1

ORACLE_OWNER=oracle

ORACLE_SID=test1

SET_ORACLE_KERNEL_PARAMETERS=yes

START_ORACLE_DB_CRS=yes

START_ORACLE_DB_EM=yes

START_ORACLE_DB_OCFS=yes

 

and

 

testrac12:/INST # sh 300*sh

 Please, run me on all nodes and be sure that ORACLE_BASE is correct and ORACLE_SID is different\33[m

ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.1.0/db_1
ORACLE_OWNER=oracle
ORACLE_SID=test2
SET_ORACLE_KERNEL_PARAMETERS=yes
START_ORACLE_DB_CRS=yes
START_ORACLE_DB_EM=yes
START_ORACLE_DB_OCFS=yes

 

8.2) 310-InstOracle.1sh - starts Oracle Installer for the main database.

Run this script on node1 only.

File 310-InstOracle.1sh:

#
#       310) Install Oracle cluster manager
#       Enter /u02/OCRFile and /u02/VCSFile as shared files
. CONFIG.sh
D=$VOLDB
DB=$ORA10CD1
. /etc/profile.d/oracle.sh
. ~oracle/.profile


  sux - -c "cd $DB; ./runInstaller" oracle
  wait
  sleep 4
  echo -e "\033[32m  "
  echo "Install ORACLE database Enterprise Edition"
  echo "Do not create database, we wil use dbca for this purpose"
  echo "Run 320-run-root-in-X-env.sh file when prompted. Be sure that you have X allowed"
  echo "from ALL Nodes"
  echo -e "\033[m"

 

 

It starts Oracle Universal Installer for Oracle Database.

 

testrac11:/INST # sh 310*sh

Starting Oracle Universal Installer...

 

Checking installer requirements...

 

Checking operating system version: must be redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0

                                      Passed

 

 

All installer requirements met.

 

Checking Temp space: must be greater than 80 MB.   Actual 27471 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 8193MB    Passed

Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2005-04-06_04-54-40PM. Please wait ...Oracle Universal Installer, Version 10.1.0.3.0 Production

Copyright (C) 1999, 2004, Oracle. All rights reserved.

 

 

Install ORACLE database Enterprise Edition

Do not create database, we wil use dbca for this purpose

Run 320-run-root-in-X-env.sh file when prompted. Be sure that you have X allowed

from ALL Nodes

 

It starts Oracle Universal Installer:

-        Click Next 2 times:

-        Select both nodes for installation:

-        Select Enterprise Edition;

-        Select Do not create database;

-        Keep DBA GROUP as is (disk);

-        Click INSTALL.

 

After Oracle is installed, you wil be prompted to run root.sh script on all nodes:

 

8.3) 320-RunRootSh.sh – running root.sh scripts. Patching oracle for x86_64.

 

Run 320*sh script (or you can run root.sh directly) on ALL nodes.

 

ATTENTION. If you are installing Oracle 10.1.0.3g RAC on x86_64 platform, you can run into Oracle bug # 4045013. In this case, your root.sh script will not lunch ‘vinca’ GUI application, and you will see ‘java’ process looped in ‘top’.  You can check bug by running

 

    srvctl status database –d test

 

it never ends if this bug have place.

 

If it happen, kill root.sh (^C),  click OK and exit from installer (YOU MUST EXIT BEFORE ANY OTHER ACTIONS!).  Open metalink.oracle.com, find bug # 4045013, and if it is applicable to you, request interim patch # 4045013 from Oracle. Unzip patch, set up it’s location in CONFIG.sh file, and run script 315*sh, which automate patch installation, ON ALL NODES, one after another (you can apply patch manually, of course):

 

    sh 315*sh

 

(It works EXTREMELY slow, because orapatch try to communicate with other nodes as root, which it cannot do – just wait and answer Y few times).

 

To verify a fix, run again

   
srvctl status database –d test

 

You will see error message (because database do not exists yet).

 

Now, run script 320 AGAIN (or run root.sh manually) on ALL nodes.

 

This bug should be fixed in Oracle 10.1.0.4 and Oracle 10.2g.

 

Other possible (on x86_64 platform) problem is ldap authentication – do not use LDAP or NIS or other non-local authentications for RAC cluster. Check ‘/etc/nsswitch.conf’ file if your CRS cannot start services (with CRS-0215 message, for example), and remove all LDAP and NIS from it.

File 320-RunRootSh.sh:

#

# Run this on every node in X11 mode

#

. CONFIG.sh

. /etc/profile.d/oracle.sh

sh $ORACLE_HOME/root.sh

echo "DO not forget to run it on ALL Nodes one by one"

 

Output:

testrac12:/INST # sh 320*sh

Running Oracle10 root.sh script...

\nThe following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /opt/oracle/product/10.1.0/db_1

 

Enter the full pathname of the local bin directory: [/usr/bin]:

   Copying dbhome to /usr/bin ...

   Copying oraenv to /usr/bin ...

   Copying coraenv to /usr/bin ...

 

\nCreating /etc/oratab file...

Adding entry to /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.

Script starts vipca (Virtual IP Configuration Assistant). First, select only public interface:

 

Second, configure Virtual IP addresses, which you assigned to the servers:

(click Enter after you changed any field).

After NEXT, check setting and click FINISH. vipca will configure node applications:

 

Check results and exit. Now you have node applications configured for auto start by CRS manager. You can see their status using crs_stat –t (one of my scripts added /opt/oracle/product/10.1.0/crs_1/bin into root’s PATH):

 

testrac11:/INST # crs_stat -t

Name           Type           Target    State     Host       

------------------------------------------------------------

ora....c11.gsd application    ONLINE    ONLINE    testrac11  

ora....c11.ons application    ONLINE    ONLINE    testrac11  

ora....c11.vip application    ONLINE    ONLINE    testrac11  

ora....c12.gsd application    ONLINE    ONLINE    testrac12  

ora....c12.ons application    ONLINE    ONLINE    testrac12  

ora....c12.vip application    ONLINE    ONLINE    testrac12  

testrac11:/INST #

 

Run script 320 (root.sh) on ALL nodes. It will call vipca only once (on the first node), but it implement additional setting on all nodes.

8.4) 340-run-netca.1sh - run Network Configuration Assistant (on single node).

It starts network configuration. Configure listener and exit. Run it on one node only.

File 340-run-netca.1sh:

#!/bin/bash

#

#             340) Run netca to create listener on all nodes

#

. /etc/profile.d/oracle.sh

#

#

sux - -c "netca" oracle &

#

 

testrac11:/INST # sh 340*sh
testrac11:/INST # Oracle Net Services Configuration:
Configuring Listener:LISTENER
testrac11...
testrac12...
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0


It opens netca screen:

Select CLUSTER configuration.

 

Select ALL nodes.

Select Listener configuration:

 

Select Add.

 

Use default Listener Name.

Use default protocol and port.

Do not configure another listener.

 

System will complete configuration:

Now, Next and Finish.

 

You have listener configured. Check crs logs:

 

testrac11:/INST # tail /var/log/crs/*

2005-04-07 22:11:41.490: Start of `ora.testrac11.ons` on member `testrac11` succeeded.

2005-04-07 22:10:47.636: CRSD-1: [CMDMAIN:2540914048] Restart waiting for Oracle CRSD to start

2005-04-07 22:11:31.183: CRSD-1: [CMDMAIN:2540914048] Restart waiting for Oracle CRSD to start

2005-04-07 22:11:41.495: CRSD-1: Complete Restart Application Request

2005-04-08 15:55:40.865: [RESOURCE:1413908832] Resource Registered: ora.testrac11.LISTENER_TESTRAC11.lsnr

2005-04-08 15:55:42.380: [RESOURCE:1413908832] Resource Registered: ora.testrac12.LISTENER_TESTRAC12.lsnr

2005-04-08 15:55:43.052: Attempting to start `ora.testrac11.LISTENER_TESTRAC11.lsnr` on member `testrac11`

2005-04-08 15:55:43.346: Start of `ora.testrac11.LISTENER_TESTRAC11.lsnr` on member `testrac11` succeeded.

2005-04-08 15:55:43.743: Attempting to start `ora.testrac12.LISTENER_TESTRAC12.lsnr` on member `testrac12`

2005-04-08 15:55:44.038: Start of `ora.testrac12.LISTENER_TESTRAC12.lsnr` on member `testrac12` succeeded.

testrac11:/INST #

Database server is installed, and you can now create database (and create ASM volumes).

8.5) 350-relink-with-aio.sh – Relink Oracle to turn on Async IO.

Last step – let’s relink Oracle with Async IO. Relink Oracle with Async IO turned on. I use script 350 – just run it on ALL nodes.

File 350-relink-with-aio.sh:

#!/bin/sh

. CONFIG.sh

su - oracle -c "cd $ORACLE_HOME/rdbms/lib; make PL_ORALIBS=-laio -f ins_rdbms.mk async_on; make PL_ORALIBS=-laio -f ins_rdbms.mk ioracle;echo DONE"

 

Output:

testrac11:/INST # sh 350*sh

rm -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o

cp /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaio.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o

chmod 755 /opt/oracle/product/10.1.0/db_1/bin

 

 - Linking Oracle

rm -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle

gcc  -o /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle -L/opt/oracle/product/10.1.0/db_1/rdbms/lib/ -L/opt/oracle/product/10.1.0/db_1/lib/ -L/opt/oracle/product/10.1.0/db_1/lib/stubs/   -Wl,-E `test -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o && echo /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o` `test -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/sskgpsmti.o && echo /opt/oracle/product/10.1.0/db_1/rdbms/lib/sskgpsmti.o` /opt/oracle/product/10.1.0/db_1/rdbms/lib/opimai.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/ssoraed.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/ttcsoi.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/defopt.o -Wl,--whole-archive -lperfsrv10 -Wl,--no-whole-archive /opt/oracle/product/10.1.0/db_1/lib/nautab.o /opt/oracle/product/10.1.0/db_1/lib/naeet.o /opt/oracle/product/10.1.0/db_1/lib/naect.o /opt/oracle/product/10.1.0/db_1/lib/naedhs.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/config.o  -lserver10 -lodm10 -lnnet10 -lskgxp10 -lhasgen10 -lcore10 -lskgxn2 -locr10 -locrb10 -locrutl10 -lhasgen10 -lcore10 -lskgxn2   -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt `if /usr/bin/ar tv /opt/oracle/product/10.1.0/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap10" ; fi` -ldm10 -lslax10 -lpls10  -lplp10 -lserver10 -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt -lslax10 -lpls10  -lplp10 -ljox10 -lserver10 /opt/oracle/product/10.1.0/db_1/has/lib/libclsra10.a -ldbcfg10 -locijdbcst10  `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lmm  -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10    -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `if /usr/bin/ar tv /opt/oracle/product/10.1.0/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo10"; fi` -lctxc10 -lctx10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 -lordimt10  -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lsnls10 -lunls10   -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -laio   `cat /opt/oracle/product/10.1.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/10.1.0/db_1/lib -lm    `cat /opt/oracle/product/10.1.0/db_1/lib/sysliblist` -ldl -lm   -L/opt/oracle/product/10.1.0/db_1/lib

mv -f /opt/oracle/product/10.1.0/db_1/bin/oracle /opt/oracle/product/10.1.0/db_1/bin/oracleO

mv /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle /opt/oracle/product/10.1.0/db_1/bin/oracle

chmod 6751 /opt/oracle/product/10.1.0/db_1/bin/oracle

chmod 755 /opt/oracle/product/10.1.0/db_1/bin

 

 - Linking Oracle

rm -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle

gcc  -o /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle -L/opt/oracle/product/10.1.0/db_1/rdbms/lib/ -L/opt/oracle/product/10.1.0/db_1/lib/ -L/opt/oracle/product/10.1.0/db_1/lib/stubs/   -Wl,-E `test -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o && echo /opt/oracle/product/10.1.0/db_1/rdbms/lib/skgaioi.o` `test -f /opt/oracle/product/10.1.0/db_1/rdbms/lib/sskgpsmti.o && echo /opt/oracle/product/10.1.0/db_1/rdbms/lib/sskgpsmti.o` /opt/oracle/product/10.1.0/db_1/rdbms/lib/opimai.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/ssoraed.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/ttcsoi.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/defopt.o -Wl,--whole-archive -lperfsrv10 -Wl,--no-whole-archive /opt/oracle/product/10.1.0/db_1/lib/nautab.o /opt/oracle/product/10.1.0/db_1/lib/naeet.o /opt/oracle/product/10.1.0/db_1/lib/naect.o /opt/oracle/product/10.1.0/db_1/lib/naedhs.o /opt/oracle/product/10.1.0/db_1/rdbms/lib/config.o  -lserver10 -lodm10 -lnnet10 -lskgxp10 -lhasgen10 -lcore10 -lskgxn2 -locr10 -locrb10 -locrutl10 -lhasgen10 -lcore10 -lskgxn2   -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt `if /usr/bin/ar tv /opt/oracle/product/10.1.0/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap10" ; fi` -ldm10 -lslax10 -lpls10  -lplp10 -lserver10 -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt -lslax10 -lpls10  -lplp10 -ljox10 -lserver10 /opt/oracle/product/10.1.0/db_1/has/lib/libclsra10.a -ldbcfg10 -locijdbcst10  `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lmm  -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/product/10.1.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10    -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `if /usr/bin/ar tv /opt/oracle/product/10.1.0/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo10"; fi` -lctxc10 -lctx10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 -lordimt10  -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lsnls10 -lunls10   -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -laio   `cat /opt/oracle/product/10.1.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/10.1.0/db_1/lib -lm    `cat /opt/oracle/product/10.1.0/db_1/lib/sysliblist` -ldl -lm   -L/opt/oracle/product/10.1.0/db_1/lib

mv -f /opt/oracle/product/10.1.0/db_1/bin/oracle /opt/oracle/product/10.1.0/db_1/bin/oracleO

mv /opt/oracle/product/10.1.0/db_1/rdbms/lib/oracle /opt/oracle/product/10.1.0/db_1/bin/oracle

chmod 6751 /opt/oracle/product/10.1.0/db_1/bin/oracle

DONE

 

9. Creating first DATABASE

You have, to this point:

-        CRS services installed and running;

-        Database server installed;

-        Node applications configured and running

testrac11:/INST # crs_stat -t

Name           Type           Target    State     Host       

------------------------------------------------------------

ora....11.lsnr application    ONLINE    ONLINE    testrac11  

ora....c11.gsd application    ONLINE    ONLINE    testrac11  

ora....c11.ons application    ONLINE    ONLINE    testrac11  

ora....c11.vip application    ONLINE    ONLINE    testrac11  

ora....12.lsnr application    ONLINE    ONLINE    testrac12  

ora....c12.gsd application    ONLINE    ONLINE    testrac12  

ora....c12.ons application    ONLINE    ONLINE    testrac12  

ora....c12.vip application    ONLINE    ONLINE    testrac12  

testrac11:/INST #

-        Raw device allocated and configured for ASM storage:

testrac11:/INST # ls -l /dev/rawnames

total 177

drwxr-xr-x   2 root root        224 Apr  6 18:25 .

drwxr-xr-x  42 root root     181480 Apr  6 18:24 ..

crw-rw----   1 root disk     162, 3 Apr  6 12:38 CSSFile

crw-r-----   1 root oinstall 162, 2 Apr  6 12:38 OCRFile

crw-rw----   1 root disk     162, 7 Apr  6 12:38 fcFCdisk

crw-rw----   1 root disk     162, 6 Apr  6 12:38 fcSATAdisk

crw-rw----   1 root disk     162, 1 Apr  6 12:38 iASM0

crw-rw----   1 root disk     162, 5 Apr  6 12:38 iASM1

crw-rw----   1 root disk     162, 4 Apr  6 12:38 iBIGASM

It’s time to create first database. We will name it test (because we used SID test1 and test2, and some of our scripts depend of this SID.

 

9.1) Run dbca. (400-create-database.sh) - starts dbca and creates database.

 

I use script to start dbca, but you can do it manually, from user ‘oracle’,

File 400-create-database.sh:

#!/bin/bash

#

#             400) Create database. See guide below.

#

. CONFIG.sh

. /etc/profile.d/oracle.sh

#

echo -e "

*******************************

You are about to create a database

\033[31m Use ASM storage. Create

\033[1m filesystemio_options=directIO \033[m

during creating database.

*******************************

"

echo -n "Continue__?"

read x

sux - -c "dbca -datafileDestination +TESTDB" oracle &

#

wait

We:

-        Create database TEST of transactional type;

-        Create ASM disk group TESTDB, using iSCSI volume;

-        Start database;

-        Using OEM DB console, create new TESTLOG group for REDO files;

-        Using OEM DB console, create new REDO files on this group;

-        Using OEM DB console, add disk into TESTDB group.

 

It opens DBCA window:

 

 

 

 

 

 

 

 

 

 

(If you do not see some disks here, check your /etc/rawnames.conf file, and check all devices created in /dev/rawnames – they must be readable. You can  edit /etc/rawnames.conf , run /etc/init.d/rawnames start once again, and then repeat disk scan by running change disc discovery path again. Be sure that all raw devices are the same on all nodes.)

o       Group name TESTDB;

o      External redundancy (we have RAID on NetApp);

o      Disks DB1 and DB2 for this disk group.

o      Click OK.

·       I create other ASM group for logs:

·       And now I can select this disk group for our test database:

I will not use Archiving in this test, because I need this database for TPC-C testing. Please, read documentation about Archive Logs, Flash Recovery and RAC before doing any serious installations.

 

 

 

 

 

 

 

I use xosview to watch the process. Here is my desktop screen during this installation:

 

 

When it completes, database is created, configured and started. Check everything by opening http on port 5500 (/em), for example, http://testrac11:5500/em :

9.2) Edit /etc/oratab.

I run script 410 to correct small Oracle inconsistency and edit /etc/oratab. Set up instance names test1 and test2, respectively, and do not set ‘Y’ for RAC instances (they are started by CRS service).

File 410-edit-oratab.sh:

#

#       410) By some reason, dbca creates oratab in /etc while system need it in /var/opt/oracle

#

ln -s /etc/oratab /var/opt/oracle/oratab

vi /etc/oratab

chown oracle:dba /etc/oratab

 

Output:

# Multiple entries with the same $ORACLE_SID are not allowed.

#

#

#*:/opt/oracle/product/10.1.0/db_1:N

+ASM1:/opt/oracle/product/10.1.0/db_1:N

test1:/opt/oracle/product/10.1.0/db_1:N

 

(Use test2 on second node. Do not set Y, CRS starts database automatically).

 

Now you can see system status by running ‘rcoracle status’:

 

testrac12:/INST # rcoracle status | more

 

#############################################################################

#                  Begin of   O R A C L E   status section                  #

#############################################################################

 

Kernel Parameters

Shared memory:  SHMMAX= 3294967296  SHMMNI= 4096  SHMALL= 2097152

Semaphore values:  SEMMSL, SEMMNS, SEMOPM, SEMMNI:  1250 32000 100 256

 

Database-Instances

Instance +ASM2 is up \(autostart: N\)

Instance test2 is up \(autostart: N\)

 

TNS-Listener: down

 

Web-Server (Apache httpd): down (0 processes)

 

Process list for user oracle:

  PID TTY      STAT   TIME COMMAND

28109 ?        Ss     0:00 /bin/su -l oracle -c exec /opt/oracle/product/10.1.0/crs_1/bin/evmd

28219 ?        S      0:00 /bin/su -l oracle -c /opt/oracle/product/10.1.0/crs_1/bin/ocssd  || exit 137

28220 ?        S      0:00 -su -c /opt/oracle/product/10.1.0/crs_1/bin/ocssd  || exit 137

28246 ?        Ss     0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28271 ?        Ss     0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28277 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28279 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28291 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28292 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28293 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28294 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28295 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmlogger.bin -o /opt/oracle/product/10.1.0/crs_1/evm/log/evmlogger.

28296 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28297 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28298 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28299 ?        S      0:07 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28300 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28309 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28310 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28315 ?        S      0:24 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28316 ?        S      0:01 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28317 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28318 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28319 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28320 ?        S      0:05 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28321 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28322 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

28324 ?        S      0:01 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

28610 ?        Ss     0:00 /opt/oracle/product/10.1.0/db_1/opmn/bin/ons -d

28611 ?        S      0:00 /opt/oracle/product/10.1.0/db_1/opmn/bin/ons -d

31759 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

31760 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/ocssd.bin

31763 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmlogger.bin -o /opt/oracle/product/10.1.0/crs_1/evm/log/evmlogger.

31957 ?        S      0:00 /opt/oracle/product/10.1.0/crs_1/bin/evmd.bin

 4696 ?        Ss     0:00 /opt/oracle/product/10.1.0/db_1/bin/tnslsnr LISTENER_TESTRAC12 -inherit

 9807 ?        Ss     0:00 asm_pmon_+ASM2

 9809 ?        Ss     0:00 asm_diag_+ASM2

 9811 ?        Ss     0:00 asm_lmon_+ASM2

 9813 ?        Ss     0:00 asm_lmd0_+ASM2

 9815 ?        Ss     0:00 asm_lms0_+ASM2

 9817 ?        Ss     0:00 asm_mman_+ASM2

 9819 ?        Ss     0:00 asm_dbw0_+ASM2

 9821 ?        Ss     0:00 asm_lgwr_+ASM2

 9823 ?        Ss     0:00 asm_ckpt_+ASM2

 9825 ?        Ss     0:00 asm_smon_+ASM2

 9827 ?        Ss     0:00 asm_rbal_+ASM2

 9829 ?        Ss     0:00 asm_lck0_+ASM2

 9847 ?        S      0:00 /opt/oracle/product/10.1.0/db_1/bin/racgimon daemon ora.testrac12.ASM2.asm

14029 ?        Ss     0:00 asm_pz99_+ASM2

14463 ?        S      0:00 /opt/oracle/product/10.1.0/db_1/perl/bin/perl /opt/oracle/product/10.1.0/db_1/bin/emwd.pl dbconsole /opt/

15343 ?        Ss     0:00 asm_pz98_+ASM2

15474 ?        S      0:00 /opt/oracle/product/10.1.0/db_1/bin/emagent

15532 ?        Ss     0:00 oracle+ASM2 (LOCAL=NO)

16076 ?        Ss     0:00 ora_pmon_test2

16078 ?        Ss     0:00 ora_diag_test2

16080 ?        Ss     0:00 ora_lmon_test2

16082 ?        Ss     0:01 ora_lmd0_test2

16084 ?        Ss     0:00 ora_lms0_test2

16086 ?        Ss     0:00 ora_lms1_test2

16088 ?        Ss     0:00 ora_mman_test2

16090 ?        Ss     0:00 ora_dbw0_test2

16092 ?        Ss     0:00 ora_lgwr_test2

16094 ?        Ss     0:00 ora_ckpt_test2

16096 ?        Ss     0:00 ora_smon_test2

16098 ?        Ss     0:00 ora_reco_test2

16100 ?        Ss     0:00 ora_cjq0_test2

16102 ?        Ss     0:00 ora_d000_test2

16104 ?        Ss     0:00 ora_s000_test2

16122 ?        Ss     0:01 ora_lck0_test2

16128 ?        Ss     0:00 ora_asmb_test2

16130 ?        Ss     0:00 oracle+ASM2 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

16132 ?        Ss     0:00 ora_rbal_test2

16140 ?        S      0:25 /opt/oracle/product/10.1.0/db_1/jdk/bin/java -server -Xmx512M -XX:MaxPermSize=64m -XX:MinHeapFreeRatio=20

16158 ?        Ss     0:00 ora_o001_test2

16175 ?        Ss     0:00 ora_i201_test2

16177 ?        Ss     0:00 ora_qmnc_test2

16181 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16183 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16185 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16187 ?        Ss     0:00 ora_mmon_test2

16189 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16191 ?        Ss     0:00 ora_mmnl_test2

16193 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16195 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16197 ?        Ss     0:03 oracletest2 (LOCAL=NO)

16199 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16201 ?        Ss     0:07 oracletest2 (LOCAL=NO)

16203 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16205 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16233 ?        S      0:00 /opt/oracle/product/10.1.0/db_1/bin/racgimon daemon ora.test.test2.inst

16239 ?        Ss     0:00 ora_pz99_test2

16248 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16250 ?        Ss     0:05 oracletest2 (LOCAL=NO)

16252 ?        Ss     0:02 oracletest2 (LOCAL=NO)

16254 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16256 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16258 ?        Ss     0:00 ora_i101_test2

16260 ?        Ss     0:00 ora_i102_test2

16322 ?        Ss     0:00 oracletest2 (LOCAL=NO)

16324 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16326 ?        Ss     0:00 ora_pz98_test2

16533 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16536 ?        Ss     0:01 oracletest2 (LOCAL=NO)

16781 ?        Ss     0:00 ora_q001_test2

17378 ?        Ss     0:00 oracletest2 (LOCAL=NO)

17380 ?        Ss     0:00 oracletest2 (LOCAL=NO)

28111 ?        Ss     0:07 crsd.bin

28233 ?        Zs     0:00 crsd.bin <defunct>

28110 ?        Ss     0:00 init.cssd

28271 ?        Ss     0:00 ocssd.bin

28309 ?        S      0:00 ocssd.bin

28310 ?        S      0:00 ocssd.bin

28315 ?        S      0:24 ocssd.bin

28316 ?        S      0:01 ocssd.bin

28317 ?        S      0:00 ocssd.bin

28318 ?        S      0:00 ocssd.bin

28319 ?        S      0:00 ocssd.bin

28320 ?        S      0:05 ocssd.bin

28321 ?        S      0:00 ocssd.bin

28322 ?        S      0:00 ocssd.bin

31759 ?        S      0:00 ocssd.bin

31760 ?        S      0:00 ocssd.bin

2005-04-07 22:10:50.911: Attempting to start `ora.testrac11.vip` on member `testrac12`

2005-04-07 22:10:56.306: Start of `ora.testrac11.vip` on member `testrac12` succeeded.

2005-04-07 22:10:56.308: [MEMBERLEAVE:1413908832] Do failover for: testrac11

2005-04-07 22:10:56.309: [MEMBERLEAVE:1413908832] Post recovery done evmd event for: testrac11

2005-04-08 18:55:54.899: Attempting to start `ora.test.db` on member `testrac11`

2005-04-08 18:55:55.043: Start of `ora.test.db` on member `testrac11` succeeded.

2005-04-08 18:56:04.471: Attempting to start `ora.test.test.test1.srv` on member `testrac11`

2005-04-08 18:56:04.615: Attempting to start `ora.test.test.test2.srv` on member `testrac12`

2005-04-08 18:56:04.918: Start of `ora.test.test.test1.srv` on member `testrac11` succeeded.

2005-04-08 18:56:05.019: Start of `ora.test.test.test2.srv` on member `testrac12` succeeded.

 

#############################################################################

#                      End of   O R A C L E   section                       #

#############################################################################

 

Listener status is not reported here.

 

Other way to get ORACLE status is to run crs_start:

testrac11:/INST # crs_stat -t

Name           Type           Target    State     Host       

------------------------------------------------------------

ora.test.db    application    ONLINE    ONLINE    testrac11  

ora....test.cs application    ONLINE    ONLINE    testrac12  

ora....st1.srv application    ONLINE    ONLINE    testrac11  

ora....st2.srv application    ONLINE    ONLINE    testrac12  

ora....t1.inst application    ONLINE    ONLINE    testrac11  

ora....t2.inst application    ONLINE    ONLINE    testrac12  

ora....SM1.asm application    ONLINE    ONLINE    testrac11  

ora....11.lsnr application    ONLINE    ONLINE    testrac11  

ora....c11.gsd application    ONLINE    ONLINE    testrac11  

ora....c11.ons application    ONLINE    ONLINE    testrac11  

ora....c11.vip application    ONLINE    ONLINE    testrac11  

ora....SM2.asm application    ONLINE    ONLINE    testrac12  

ora....12.lsnr application    ONLINE    ONLINE    testrac12  

ora....c12.gsd application    ONLINE    ONLINE    testrac12  

ora....c12.ons application    ONLINE    ONLINE    testrac12  

ora....c12.vip application    ONLINE    ONLINE    testrac12  


Index

Next: Basics of RAC managemen

 



[1] Oracle GUI uses JAVA X11 library, which do not work with X11 properly and so is very slow when you run X11 remotely. Use VNC to local console and X11 locally, if you experience this problem, or (better) use WEB based DB console when possible.