[Callout Text]
This article describes a practical way of Oracle 10g RAC Database silent Installation on Unix Platform. The detailed installation steps with response files and logs have been given.
Silent Installation of Oracle 10g RAC Database on Unix Platform.. 1
1. The Advantage of Silent Installation. 1
2. Silent Installation With Response File. 1
A. Create New Response File. 1
B. Edit the Response File. 1
C. Perform Silent Installation. 1
3. Oracle RAC Silent Installation Practice. 2
A. Oracle Clusterware Silent Installation. 2
B. Oracle RDBMS Software Silent Installation. 9
C. Database and Instances Silent Creation. 14
4. References. 17
1. The Advantage of Silent Installation
The way most DBA perform the installation is to load a CD, select options from the GUI interface and then click "Next". However, sometime GUI is slow, clicking on a few buttons and sitting back to watch a progress bar is just a wasting of time. Situation become even worse when some Unix servers do not have a GUI interface available. With the silent installation and response files, you can load the media once and practically eliminate any user input, just to start and switch to other work and then come back to check the installation log. This art discuss about the detailed steps for Oracle 10g RAC silent installation.
2. Silent Installation With Response File
The first step to perform a silent installation is to create the response files. There are sample response files come with the Oracle installation CDs of almost every release, however, you can create your own response file based on your own installation options using the -record option of runInstaller.
A. Create New Response File
We can record the response file in a GUI available server, and then use the response file for the installation on other server if the installation options are the same, as using the command below:
./runInstaller -record -destinationFile
where the
The OUI then shows up the welcome page. Follow the same installation step as usual and just before the actual installation started the OUI will generate the response file with the option you selected.
B. Edit the Response File
If the response files are used for the installation on other servers, edit the response file for IP address, hostname and cluster settings;
C. Perform Silent Installation
The silent installation is performed by start Oracle Universal Installer with the response file specified as below :
./runInstaller -responseFile
where
Upon successful installation, OUI will prompt you to run the oraInstRoot.sh script with root privileges
3. Oracle RAC Silent Installation Practice
A. Oracle Clusterware Silent Installation
After executing of CDROM/disk2/clusterware/rootpre/rootpre.sh,
we run CDROM/disk2/clusterware/runInstaller -record -destinationFile /tmp/install_crs.rsp
The installation GUI comes out and we following the same steps as usual:
On the confirmation page, before click the "install" button , the OUI will generated the response file as below:
With the response file we can apply the silent installation on other server , with the command
./runInstaller -silent -responseFile /tmp/install_crs.rsp
If the VIP configuration need to be modified, we can invoke the vipca in silent mode with "root" user using command as below:
as root use,
cd $CRS_HOME/bin
./vipca -silent -nodelist node1,node2 -nodevips node1/node1-vip-addr/netmask/interface,node2/node2-vip-addr/netmask/interface.. -orahome
# ./vipca -silent -nodelist SGEPRDDB1A,SGEPRDDB2A -nodevips SGEPRDDB1A/203.117.80.58/255.255.255.0/en4,SGEPRDDB2A/203.117.80.59/255.255.255.0/en4 -orahome /software/app/oracle/product/10.2.0/db
Creating VIP application resource on (0) nodes.
Creating GSD application resource on (0) nodes.
Creating ONS application resource on (0) nodes.
Starting VIP application resource on (2) nodes...
Starting GSD application resource on (2) nodes...
Starting ONS application resource on (2) nodes...
Done.
B. Oracle RDBMS Software Silent Installation
After executing of CDROM/disk1/database/rootpre/rootpre.sh,
we run CDROM/disk1/database/runInstaller -record -destinationFile /tmp/install_10g.rsp with the following steps:
Just before the actual installation , the OUI will generate the response file as below:
Now with the response file we can apply the silent installation on other server as below
./runInstaller -silent -responseFile /tmp/install_10g.rsp
SGEPRDDB1A>$ ./runInstaller -record -destinationFile /tmp/install_10g.rsp
**************************************************************************
******
Your platform requires the root user to perform certain pre-installation
OS preparation. The root user should run the shell script 'rootpre.sh' is
fore
you proceed with Oracle installation. rootpre.sh can be found at the top
level
of the CD or the stage area.
Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle
installation.
Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.
**************************************************************************
******
Has 'rootpre.sh' been run by root? [y/n] (n)
y
Starting Oracle Universal Installer...
No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer from /software/app/oracle/OraInstall2007-01-31_08-33-14AM. Please wait ...oracle@SGEPRDDB1A:/cdrom/disk1/database#Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.
You can find a log of this install session at:
/software/app/oracle/oraInventory/logs/installActions2007-01-31_08-33-14AM.log
.................................................................................................... 100% Done.
Loading Product Information
.................................................................................................................... 100% Done.
Performing tests to see whether nodes are available
............................................................... 100% Done.
Analyzing dependencies
.........................................................................
Starting execution of Prerequisites...
Total No of checks: 8
Performing check for CertifiedVersions
Checking operating system requirements ...
Expected result: One of 5200.004,5300.002
Actual Result: 5200.004
Check complete. The overall result of this check is: Passed
Check complete: Passed
=======================================================================
Performing check for Packages
Checking operating system package requirements ...
Checking for bos.adt.base(0.0); found bos.adt.base(5.2.0.50). Passed
Checking for bos.adt.lib(0.0); found bos.adt.lib(5.2.0.50). Passed
Checking for bos.adt.libm(0.0); found bos.adt.libm(5.2.0.75). Passed
Checking for bos.perf.libperfstat(0.0); found bos.perf.libperfstat(5.2.0.60). Passed
Checking for bos.perf.perfstat(0.0); found bos.perf.perfstat(5.2.0.60). Passed
.....
=======================================================================
PrereqChecks complete
........................................... 100% Done.
-----------------------------------------------------------------------------
Summary
Global Settings
Source: /cdrom/disk1/database/stage/products.xml
Oracle Home: /software/app/oracle/product/10.2.0 (Oracle10gr2)
Node Name: SGEPRDDB1A
Installation Type: Enterprise Edition
Product Languages
English
Space Requirements
/software/ Required 3.66GB (includes 200MB temporary) : Available 17.89GB
/tmp/ Required 9MB (only as temporary space) : Available 36MB
New Installations (107 products)
Oracle Database 10g 10.2.0.1.0
Enterprise Edition Options 10.2.0.1.0
.....
-----------------------------------------------------------------------------
Installation in progress (Wed Jan 31 08:33:39 GMT+08:00 2007)
............................................................... 6% Done.
............................................................... 13% Done.
............................................................... 20% Done.
............................................................... 26% Done.
............................................................... 33% Done.
............................................................... 40% Done.
............................................................... 46% Done.
............................................................... 53% Done.
............................................................... 60% Done.
............................................................... 66% Done.
Install successful
Linking in progress (Wed Jan 31 08:36:30 GMT+08:00 2007)
..................................... 66% Done.
Link successful
Setup in progress (Wed Jan 31 08:38:55 GMT+08:00 2007)
..................................... 100% Done.
Setup successful
End of install phases.(Wed Jan 31 08:39:04 GMT+08:00 2007)
WARNING:A new inventory has been created on one or more nodes in this session. However, it has not yet been registered as the central inventory of this system.
To register the new inventory please run the script at '/software/app/oracle/oraInventory/orainstRoot.sh' with root privileges on nodes 'SGEPRDDB1A','SGEPRDDB2A'.
If you do not register the inventory, you may not be able to update or patch the products you installed.
The following configuration scripts
/software/app/oracle/product/10.2.0/root.sh
need to be executed as root in the nodes: SGEPRDDB1A,SGEPRDDB2A for configuring the system(s). If you skip the execution of the configuration tools, the configuration will not be complete and the product wont function properly. In order to get the product to function properly, you will be required to execute the scripts and the configuration tools after exiting the OUI.
The installation of Oracle Database 10g was successful.
Please check '/software/app/oracle/oraInventory/logs/silentInstall2007-01-31_08-33-14AM.log' for more details.
We need to run the follow scripts as root user in both nodes to complete the installation:
/software/app/oracle/oraInventory/orainstRoot.sh
/software/app/oracle/product/10.2.0/root.sh
The Oracle clusterware and RDBMS patches can also be installed silently with similar method.
C. Database and Instances Silent Creation
The DBCA utility do not have the -record option, however, we can use the creating script function of DBCA to generate database creation scripts as below:
The script will create the database on first node only and then create the instances on other node(s).
On the 1st node:
SGEPRDDB1A>$ cd /software/app/oracle/admin/proddb/scripts
SGEPRDDB1A>$ ls
CreateClustDBViews.sql CreateDBFiles.sql proddb1.sql postDBCreation.sql
CreateDB.sql JServer.sql emRepository.sql
CreateDBCatalog.sql proddb1.sh init.ora
SGEPRDDB1A>$ cat proddb1.sh
#!/bin/sh
mkdir -p /software/app/oracle/admin/proddb/adump
mkdir -p /software/app/oracle/admin/proddb/bdump
mkdir -p /software/app/oracle/admin/proddb/cdump
mkdir -p /software/app/oracle/admin/proddb/dpdump
mkdir -p /software/app/oracle/admin/proddb/hdump
mkdir -p /software/app/oracle/admin/proddb/pfile
mkdir -p /software/app/oracle/admin/proddb/udump
mkdir -p /software/app/oracle/product/10.2.0/db/cfgtoollogs/dbca/proddb
mkdir -p /db/proddb/ctrl
ORACLE_SID=proddb1; export ORACLE_SID
echo You should Add this entry in the /etc/oratab: proddb:/software/app/oracle/product/10.2.0/db:Y
/software/app/oracle/product/10.2.0/db/bin/sqlplus /nolog @/software/app/oracle/admin/proddb/scripts/proddb1.sql
SGEPRDDB1A>$
SGEPRDDB1A>$ cat proddb1.sql
set verify off
PROMPT specify a password for sys as parameter 1;
DEFINE sysPassword = &1
PROMPT specify a password for system as parameter 2;
DEFINE systemPassword = &2
PROMPT specify a password for sysman as parameter 3;
DEFINE sysmanPassword = &3
PROMPT specify a password for dbsnmp as parameter 4;
DEFINE dbsnmpPassword = &4
host /software/app/oracle/product/10.2.0/db/bin/orapwd file=/software/app/oracle/product/10.2.0/db/dbs/orapwproddb1 password=&&sysPassword force=y
@/software/app/oracle/admin/proddb/scripts/CreateDB.sql
@/software/app/oracle/admin/proddb/scripts/CreateDBFiles.sql
@/software/app/oracle/admin/proddb/scripts/CreateDBCatalog.sql
@/software/app/oracle/admin/proddb/scripts/JServer.sql
@/software/app/oracle/admin/proddb/scripts/emRepository.sql
@/software/app/oracle/admin/proddb/scripts/CreateClustDBViews.sql
host echo "SPFILE='/db/proddb/ctrl/spfileproddb.ora'" > /software/app/oracle/product/10.2.0/db/dbs/initproddb1.ora
@/software/app/oracle/admin/proddb/scripts/postDBCreation.sql
On the 2nd node:
SGEPRDDB2A>$ cd /software/app/oracle/admin/proddb/scripts
SGEPRDDB2A>$ ls
CreateClustDBViews.sql CreateDBFiles.sql proddb2.sql postDBCreation.sql
CreateDB.sql JServer.sql emRepository.sql
CreateDBCatalog.sql proddb2.sh init.ora
SGEPRDDB2A>$ cat proddb2.sh
#!/bin/sh
mkdir -p /software/app/oracle/admin/proddb/adump
mkdir -p /software/app/oracle/admin/proddb/bdump
mkdir -p /software/app/oracle/admin/proddb/cdump
mkdir -p /software/app/oracle/admin/proddb/dpdump
mkdir -p /software/app/oracle/admin/proddb/hdump
mkdir -p /software/app/oracle/admin/proddb/pfile
mkdir -p /software/app/oracle/admin/proddb/udump
mkdir -p /software/app/oracle/product/10.2.0/db/cfgtoollogs/dbca/proddb
mkdir -p /db/proddb/ctrl
ORACLE_SID=proddb2; export ORACLE_SID
echo You should Add this entry in the /etc/oratab: proddb:/software/app/oracle/product/10.2.0/db:Y
/software/app/oracle/product/10.2.0/db/bin/sqlplus /nolog @/software/app/oracle/admin/proddb/scripts/proddb2.sql
SGEPRDDB2A>$ cat proddb2.sql
set verify off
PROMPT specify a password for sys as parameter 1;
DEFINE sysPassword = &1
PROMPT specify a password for system as parameter 2;
DEFINE systemPassword = &2
PROMPT specify a password for sysman as parameter 3;
DEFINE sysmanPassword = &3
PROMPT specify a password for dbsnmp as parameter 4;
DEFINE dbsnmpPassword = &4
host /software/app/oracle/product/10.2.0/db/bin/orapwd file=/software/app/oracle/product/10.2.0/db/dbs/orapwproddb2 password=&&sysPassword force=y
REM @/software/app/oracle/admin/proddb/scripts/CreateDB.sql
REM @/software/app/oracle/admin/proddb/scripts/CreateDBFiles.sql
REM @/software/app/oracle/admin/proddb/scripts/CreateDBCatalog.sql
REM @/software/app/oracle/admin/proddb/scripts/JServer.sql
REM @/software/app/oracle/admin/proddb/scripts/emRepository.sql
REM @/software/app/oracle/admin/proddb/scripts/CreateClustDBViews.sql
host echo SPFILE='/db/proddb/ctrl/spfileproddb.ora' > /software/app/oracle/product/10.2.0/db/dbs/initproddb2.ora
host echo Run script "/software/app/oracle/admin/proddb/scripts/proddb1.sh" from node "SGEPRDDB1A" if you have not already run it.
REM @/software/app/oracle/admin/proddb/scripts/postDBCreation.sql
We can edit the scripts with database name and parameters, and then apply on other servers.
4. References
[1] Oracle® Universal Installer and OPatch User's Guide
10g Release 2 (10.2) for Windows and UNIX
http://download-west.oracle.com/docs/cd/B16240_01/doc/em.102/b16227/toc.htm