11gR2:What if Oracle gives you Kernel parameter fixup script

11gR2 database installation comes up with new  feature known as Installation Fixup scripts which aids you during Installation phase.  If a pre-requisite check fails, then it provides a click and generate fixup script option and then points you to script location which then need’s to be executed  with root permission. As per doc’s , it takes care of following things

– Checks and sets kernel parameters to values required for successful installation, including:Shared memory parameters,Semaphore parameters and Open file descriptor and UDP send/receive parameters

– Sets permissions on the Oracle Inventory directory.

– Reconfigures primary and secondary group memberships for the installation owner, if necessary, for the Oracle Inventory directory, and for the operating system privileges groups.

– Sets up virtual IP and private IP addresses in /etc/hosts.

– Sets shell limits to required values, if necessary.

– Installs the Cluster Verification Utility packages (cvuqdisk rpm).

Below are screenshot for error’s encountered as a result of missing kernel settings in sysctl.conf file

11g_install_fixup1

11g_install_fixup2

Below is output of running the script as root

cat orarun.log
This is the log file for orarun script
Timestamp: 090109150435
Response file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.response
Enable file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.enable
Setting Kernel Parameters...
file-max in response file:6815744
file-max in /etc/sysctl.conf:6815744
The value for file-max in response file is not greater than value for file-max in /etc/sysctl.conf file. Hence not changing it.
file-max for current session:6553600
ip_local_port_range in response file:9000 65500
ip_local_port_range in /etc/sysctl.conf:9000 65000
ip_local_port_range for current session:1024 65000
aio-max-nr in response file:1048576
aio-max-nr in /etc/sysctl.conf:1048576
The value for aio-max-nr in response file is not greater than value for aio-max-nr in /etc/sysctl.conf file. Hence not changing it.
aio-max-nr for current session:65536

Before running the script, I had modified the file without executing sysctl -p to implement the changes.  Fixup script log  shows that it checks the file again and replaces parameter if required and then executes sysctl command to  make changes persistent.

Oracle 11gR2 on linux is out

Oracle 11gR2 has been released for linux x86 and x86-64 platform. Software can be downloaded at http://www.oracle.com/technology/software/products/database/index.html

Guys start downloading..:) ..

Note: – As of now documentation link  is not available on http://tahiti.oracle.com (13:30 G.M.T)

Update : – Thanks to H.Tonguç , documentation can be accesed at http://www.oracle.com/pls/db112/homepage?remark=tahiti

Cheers
Amit

OCFS2 Configuration Issue

While setting up ocfs2 for OCR and Voting disk storage with following commad:
# ocfs2console

After clicking on ==>cluster ==> configure nodes, I got a pop-up saying:

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">"Could not start cluster stack. This must be resolved before any OCFS2 filesystem can be mounted."</span></span>

Soon I realized that the thing which takes few minutes to get installed, is going to give me a tough time.

/var/log/messages shows following details:

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Aug 17 14:53:40 rac1 modprobe: FATAL: Module configfs not found.
Aug 17 14:55:23 rac1 modprobe: FATAL: Module configfs not found.
Aug 17 14:56:56 rac1 modprobe: FATAL: Module configfs not found.
</span></span>

This prevents the configuration of OCFS2’s cluster stack, but it is mandatory to have OCFS2 cluster stack “O2CB” running, before
we can start anything with OCFS2 filesystem.

The stack includes the following services:

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">    * NM: Node Manager that keep track of all the nodes in the cluster.conf
    * HB: Heart beat service that issues up/down notifications when nodes join or leave the cluster
    * TCP: Handles communication between the nodes
    * DLM: Distributed lock manager that keeps track of all locks, its owners and status
    * CONFIGFS: User space driven configuration file system mounted at /config
    * DLMFS: User space interface to the kernel space DLM
</span></span>

Error : modprobe: FATAL: Module configfs not found” can occur because of following reasons:

1. SELINUX is enabled.
2. Mismatch between the Kernel and OCFS2 module.

1. To check for selinux:
# sestatus
Or
# vi /etc/sysconfig/selinux

Make sure that selinux is DISABLED here.

2. To check for Mismatch:
# uname -a (It will give the exact kernel version of the OS)
2.6.9-42.ELsmp
# rpm -qa |grep ocfs2 (It will tell us the ocfs2 package currently installed)
ocfs2-2.6.9-89.EL

Here it can be seen that ocfs2 is for kernel version 89 not for kernel version 42.

So I downloaded the correct OCFS2 kernel modules from:
http://oss.oracle.com/projects/ocfs2/files/
and the tools from
http://oss.oracle.com/projects/ocfs2-tools/files/

After installing the correct module and disabling the selinux settings, I got the cluster stack running.


GATHER_STATS_JOB – Is it enabled?

Few days back , Martin had posted a series of post on a issue where GATHER_STATS_JOB was failing silently for a large object. If you have missed it, you can check following links

Automated statistics gathering silently fails http://mwidlake.wordpress.com/2009/07/20/automated-statistics-gathering-silently-fails/
Automated Statistics Gathering Silently Fails #2 http://mwidlake.wordpress.com/2009/07/23/automated-statistics-gathering-silently-fails-2/
Automatic Statistics Gathering Fails #3   http://mwidlake.wordpress.com/2009/07/29/automatic-statistics-gathering-fails-3/

Automated statistics gathering silently fails

Automated Statistics Gathering Silently Fails #2

Automatic Statistics Gathering Fails #3

This post is based on some of the discussions on the thread. Please note that this is not intended to discuss bugs (if any) associated with the job

Gather_stats_job was introduced with Oracle 10g to gather statistics for database objects which has stale statistics (10% of data has changed, you can query dba_tab_modifications) or the tables for which the statistics has not been gathered (new tables created/truncated). This job runs during the maintenance window i.e every night from 10 P.M. to 6 A.M. and all day on weekends. This schedule can be though changed and process is documented in Metalink aka My Oracle Support Note 579007.1 –

This feature brought relief to lot of DBA’s as they did not have to write shell scripts to gather stats and could rely on this job to do the work. But slowly people realized that it does not fit in their environment and slowly recommendation turned from “Enabled ” to “Disabled “

Issues/Misconceptions

1) Should I schedule job run for every night?

As documented this job gathers stats on the tables which have got 10% of data changes since last run. So this will not touch the tables for which the data changes are less then 10%. Also due to rolling invalidation feature , sql cursors will not be immediately invalidated (Refer to oracle forums discussion and Fairlie Rego’s post)

If you are still not happy , you can change the maintenance window timings to suit the schedule (say on weekends)

In 11g, there is no GATHER_STATS_JOB. It has been now incorporated into DBMS_AUTO_TASK_ADMIN job along with Automatic segment advisor and Automatic tuning advisor. All these 3 run in all maintenance windows. New maintenance windows introduced with 11g are
You can check the name and state of this job using following query

SQL> SELECT client_name, status FROM dba_autotask_operation;

CLIENT_NAME							 STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection 				 ENABLED
auto space advisor						 ENABLED
sql tuning advisor						 ENABLED

Window – Description

MONDAY_WINDOW – Starts at 10 p.m. on Monday and ends at 2 a.m.
TUESDAY_WINDOW – Starts at 10 p.m. on Tuesday and ends at 2 a.m.
WEDNESDAY_WINDOW -Starts at 10 p.m. on Wednesday and ends at 2 a.m.
THURSDAY_WINDOW – Starts at 10 p.m. on Thursday and ends at 2 a.m.
FRIDAY_WINDOW -Starts at 10 p.m. on Friday and ends at 2 a.m.
SATURDAY_WINDOW – Starts at 6 a.m. on Saturday and is 20 hours long.
SUNDAY_WINDOW -Starts at 6 a.m. on Sunday and is 20 hours long.

To enable the job (in case it is disabled)

BEGIN
  DBMS_AUTO_TASK_ADMIN.ENABLE(
    client_name => 'auto optimizer stats collection',
    operation => NULL,
    window_name => NULL);
END;
/

You can check history/run duration of these jobs by using following query

select client_name,JOB_NAME,JOB_STATUS,JOB_START_TIME,JOB_DURATION from DBA_AUTOTASK_JOB_HISTORY where JOB_START_TIME >systimestamp -7 and client_name='sql tuning advisor'

CLIENT_NAME		       JOB_NAME 		      JOB_STATUS      JOB_START_TIME					 JOB_DURATION
------------------------------ ------------------------------ --------------- -------------------------------------------------- --------------------
sql tuning advisor	       ORA$AT_SQ_SQL_SW_521	      SUCCEEDED       30-MAR-12 04.00.01.698038 PM AMERICA/LOS_ANGELES	 +000 00:22:13
sql tuning advisor	       ORA$AT_SQ_SQL_SW_493	      SUCCEEDED       01-APR-12 04.00.02.701398 PM AMERICA/LOS_ANGELES	 +000 00:42:26
sql tuning advisor	       ORA$AT_SQ_SQL_SW_522	      SUCCEEDED       31-MAR-12 04.00.07.642613 PM AMERICA/LOS_ANGELES	 +000 00:00:37

2) I do not want gather_stats_job to gather stats on some of my tables.

This requirement can arise due to following points

a)There are tables for which you have set the stats manually
b) There are queries for which you know your old stats will work fine
c) Tables are big and gather_stats_job is silently failing ( Again refer to Martin’s Post)
d) Tables for which histograms cannot not be gathered or vice versa
e) Tables for which you would like to estimate fixed percent of blocks

For all these situations. you can use DBMS_STATS.LOCK_TABLE_STATS and gather stats manually with force =>true to override locked statistics. For big partitioned tables you can use COPY_TABLE_STATS and APPROX_GLOBAL AND PARTITION feature. 

Oracle 11g also has enhancement to gathering stats on partitioned tables where in you can gather INCREMENTAL stats for partitions and oracle will automatically update global stats for table.This approach has advantage as we don’t scan table twice and reduces the time to gather stats drastically. You need to use DBMS_STATS.set_table_prefs procedure to set Incremental stats gathering to true. 

EXEC DBMS_STATS.SET_TABLE_PREFS('SCOTT','EMP_PART','INCREMENTAL','TRUE');

Note that first time, stats gathering will take more time as oracle will create object called synposes for each paritition. Subsequent runs of gather_stats_job will be faster. Refer to Optimizer group post for more info on copy_table_stats and 11g incremental stats feature. ( Due to bug copy_table_stats does not alter low/high value. Details can be found here )

To fix histogram issue, DBMS_STATS.SET_PARAM can be used to modify the default attributes e.g By default, GATHER_STATS_JOB will gather histograms, which can be confirmed by running below query

select dbms_stats.get_param('method_opt') method_opt from dual;

METHOD_OPT
--------------------------------------------------------------------
FOR ALL COLUMNS SIZE AUTO

To disable histogram capture, use

exec dbms_stats.set_param('method_opt', 'FOR ALL COLUMNS SIZE 1');

In case you wish to capture histograms for some of the tables, then you can use

exec dbms_stats.set_param('method_opt', 'FOR ALL COLUMNS SIZE REPEAT')

i.e Collects histograms only on the columns that already have histograms


Starting Oracle 11g database you can use DBMS_STATS.SET_*_PREFS to take care of point (d) and (e) i.e you can change the default gather options for particular table. Details can be found here

This is not exhaustive list and I hope that this will grow so that we can have Recommendation for GATHER_STATS_JOB status to be set to  “SCHEDULED” 🙂


Failed dependencies error: lib* needed by unixODBC-devel-2.2.11-7.1.i386

While trying to install 11gR1 on Oracle Enterprise Linux (OEL5), runInstaller failed for unixODBC* packages. To solve the issue , I started following OTN article

http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html

When trying to install RPM from CD3, faced following errors for unixODBC* rpm

#rpm -ivh compat-libstdc++-33* libaio-devel* sysstat* unixODBC*
warning: compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
error: Failed dependencies:
libboundparam.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libesoobS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libgtrtst.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libmimerS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libnn.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbccr.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbcdrvcfg1S.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbcdrvcfg2S.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbcinst.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbcminiS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbcnnS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbctxtS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
liboplodbcS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
liboraodbcS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libsapdbS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libtdsS.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libtemplate.so.1 is needed by unixODBC-devel-2.2.11-7.1.i386
unixODBC = 2.2.11-7.1 is needed by unixODBC-devel-2.2.11-7.1.i386
libodbc.so.1 is needed by unixODBC-kde-2.2.11-7.1.i386
libodbcinst.so.1 is needed by unixODBC-kde-2.2.11-7.1.i386
unixODBC = 2.2.11-7.1 is needed by unixODBC-kde-2.2.11-7.1.i386

Issue is because of missing rpm unixODBC-2.2.11-7.1.i386.rpm which is present in CD2 . Install it first and then the other RPM i.e
unixODBC-devel-2.2.11-7.1.i386 and unixODBC-kde-2.2.11-7.1.i386
can be installed without errors

Mount CD2
#cd /media/E*/Server
#rpm -ivh unixODBC-2.2.11-7.1.i386.rpm

Once rpm is successfully installed, mount CD3 and install unixODBC* rpm

Mount CD3
#cd /media/E*/Server
#rpm -ivh unixODBC*

Update
=====

Frits Hoogland commented on the post and pointed me to Oracle yum (Yellowdog updater modified) for taking care of dependencies. I had heard of yum but I had never tried it earlier. But as I checked today, it is very easy to setup. Process is listed at http://public-yum.oracle.com/
I am documenting the steps for setting it up on OEL5

<span style="font-family: arial, helvetica, sans-serif;">#</span> cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-el5.repo

Edit the copied file based on your OEL5 release and set enabled=1. e.g

cat /etc/enterprise-release
Enterprise Linux Enterprise Linux Server release 5.3 (Carthage)

[el5_u3_base]
name=Enterprise Linux $releasever U3 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/3/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

To check

[rroot@db11g ~]# yum list ocfs2
Loaded plugins: security
Error: No matching Packages to list

ocfs2 packages are not available. Let’s install it now

[root@db11g ~]# yum install ocfs2
Loaded plugins: security
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package ocfs2-2.6.18-128.el5.i686 0:1.2.9-1.el5 set to be updated
--> Processing Dependency: ocfs2-tools >= 1.2.6 for package: ocfs2-2.6.18-128.el5
--> Running transaction check
---> Package ocfs2-tools.i386 0:1.2.7-1.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                   Arch      Version             Repository        Size
================================================================================
Installing:
 ocfs2-2.6.18-128.el5      i686      1.2.9-1.el5         el5_u3_base      272 k
Installing for dependencies:
 ocfs2-tools               i386      1.2.7-1.el5         el5_u3_base      1.1 M

Transaction Summary
================================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)         

Total download size: 1.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): ocfs2-2.6.18-128.el5-1.2.9-1.el5.i686.rpm         | 272 kB     00:03
(2/2): ocfs2-tools-1.2.7-1.el5.i386.rpm                  | 1.1 MB     00:08
--------------------------------------------------------------------------------
Total                                           102 kB/s | 1.4 MB     00:13
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : ocfs2-tools                                       [1/2]
  Installing     : ocfs2-2.6.18-128.el5                              [2/2] 

Installed: ocfs2-2.6.18-128.el5.i686 0:1.2.9-1.el5
Dependency Installed: ocfs2-tools.i386 0:1.2.7-1.el5
Complete!

It’s cool..:)
There is one more method using which all the validated oracle packages can be installed during OEL5 installation.This also creates the oracle user/groups, sets up sysctl.conf, limits.conf, etc. Check out the article
here

Installing 10.2.0.5 EM using software-only on 10.2.0.4/11g DB (GUI)

In this article , I will discuss how to install 10.2.0.5 EM Grid using 10.2.0.4 database. This method can also be used with 11g database.When you carry out 10.2.0.1 EM Grid control installation, it creates a 10.1.0.4 Database by default which is no longer supported and  requires one to upgrade to supported release i.e 10.2. In case you choose EM grid installation with existing database, then DB version need’s to be <=10.2.0.3 which you would again like to upgrade to so as to easily receive bug fixes and be on latest supported release. So if you want to use 10.2.0.4 DB or 11.1 database, you will not be able to install using existing database directly but would have to follow a upgrade path. To overcome such situation, starting 10.2.0.4 EM Grid Control we now have Software-Only install method .Using the ‘Installing Software-Only and Configuring Later’ installation method, you can install only the software of the base release and then configure it later by applying the latest patch set.

Note that 10.2.0.4 /10.2.0.5 are patchset’s and need a 10.2.0.1 base installation to work.

In case you wish to carry out the installation in silent mode, you can find OTN article at below mentioned link

http://www.oracle.com/technology/pub/articles/revitt-oem.html

There is also metalink Note 763347.1 – How to Install Enterprise Manager Grid Control 10.2.0.5.0 Using an Existing Database with the Software Only Method

One of the issue while using silent install mode is that due to Bug 7137054 (Refer Note 602750.1 ConfigureGC.pl Reports – Invalid Username/Password ), you will be required to change sys password and run the ConfigureGC.pl script multiple times. Also you would be required to enter the password’s in the response file, which you might not be comfortable with. (Yeah in some environments, people can be very particular 🙂 )

While using GUI mode, I did not face any issues arising out of bug 7137054. Below steps are tried on a 10.2.0.4 database (11g database can also be used) and Platform is AIX 5L. Installation steps would remain same for other platforms too (In windows you will have to check the steps where in you are supposed to run scripts. GUI part should remain same)

Steps To Perform 10.2.0.5 EM Grid Installation using Software-only Install Method – GUI

1. Ensure that  database parameters are set to following values. This is important as OUI checks for these values and if it is not set , then installation fails

job_queue_processes 10
db_block_size 8192
timed_statistics TRUE
open_cursors 300
session_cached_cursors 200
aq_tm_processes 1
compatible <currently installed Oracle Database release> (default)
undo_management AUTO
undo_retention 10800
undo_tablespace <any acceptable name>
processes 150
log_buffer 1048576
statistics_level TYPICAL (Note that this value is specific only to Enterprise Manager 10g Repository Database release and later.)
TEMP space (Tablespace)Foot 1 50 MB (extending to 100 MB)
_b_tree_bitmap_plans false (hidden parameter)

2. Ensure that dbconsole repository is not present in the database. If it is, then remove it. You need to stop the dbconsole before starting the process.

 $ORACLE_HOME/bin/emctl stop dbconsole

Remove the following directories from your filesystem:

rm -rf $ORACLE_HOME/(hostname_sid)
rm -rf $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_(hostname)_(sid)

Removing DB Repository

ALTER system ENABLE RESTRICTED SESSION ;
EXEC sysman.emd_maintenance.remove_em_dbms_jobs;
EXEC sysman.setEMUserContext('',5);
REVOKE dba FROM sysman;
DECLARE CURSOR c1 IS SELECT owner, synonym_name name FROM dba_synonyms WHERE table_owner = 'SYSMAN';
 BEGIN
FOR r1 IN c1
 LOOP
IF r1.owner = 'PUBLIC'
THEN
 EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM '||r1.name; ELSE EXECUTE IMMEDIATE 'DROP SYNONYM '||r1.owner||'.'||r1.name;
END IF;
 END LOOP;
 END;
/
DROP USER mgmt_view CASCADE;
 DROP ROLE mgmt_user;
DROP USER sysman CASCADE;
 ALTER SYSTEM DISABLE RESTRICTED SESSION;

3.Log in to the database as SYSDBA and run the following command to install DBMS_SHARED_POOL package:

@?/rdbms/admin/dbmspool.sql

commit;

4. Install the 10.2.0.1 database using -noconfig option i.e to skip the configuration part. This will be carried out in the end by running ConfigureGC.pl script

./runInstaller -noconfig

Choose Installation with Existing Database

Specify the ORACLE_BASE Location under which you would like to install the EM Grid

You will be now prompted to enter the database details for the Repository database. Ensure that listener is UP.

a)In the Configure Email Notification section, specify an appropriate e-mail address, and the corresponding SMTP server name. You will receive important information on the condition of the monitored targets, including critical alerts at this e-mail address.

b)Specify the My Oracle Support (formerly Metalink) credentials.

c)Specify the Proxy Information if Grid Control is using a proxy server for external access


Refer to following documentation link for more information

http://download.oracle.com/docs/cd/B16240_01/doc/install.102/e10953/installing_em.htm#CHDJJBCJ

a)Specify the password for Securing agent
b)Specify password for SYSMAN user. Please note that default ias_admin password is the same as the password assigned to the SYSMAN account. This is required to access the Oracle application server console



OUI will install OMS under $BASE_DIR/oms10g

OUI will install Management Agent under $BASE_DIR/agent10g

Once the installation finishes , you will be prompted to run allroot.sh script (as shown below). Before executing it, stop all the OPMN processes by running the following command from the Oracle home directory of the OMS (for example, oms10g):

Open a different shell and execute following commands using Oracle Software owner

Processes in Instance: EnterpriseManager0.db11g
-------------------+--------------------+---------+---------
ias-component      | process-type       |     pid | status
-------------------+--------------------+---------+---------
DSA                | DSA                |     N/A | Down
HTTP_Server        | HTTP_Server        |     N/A | Down
LogLoader          | logloaderd         |     N/A | Down
dcm-daemon         | dcm-daemon         |     N/A | Down
OC4J               | home               |     N/A | Down
WebCache           | WebCache           |     N/A | Down
WebCache           | WebCacheAdmin      |     N/A | Down

$./opmnctl stopall
opmnctl: stopping opmn and all managed processes...

$./opmnctl status
Unable to connect to opmn.
Opmn may not be up.

Now run the script allroot.sh as Root.


You will get a message that configuration assistants were skipped. You can ignore it as we used -noconfig method



Installation for 10.2.0.1 Base release is complete now. We now need to proceed towards 10.2.0.5 Patchset installation


5. Run following command from 10.2.0.5 patchset directory.

<span style="font-size: small;"> </span>cd $patch_dir/3731593/Disk1
./runInstaller -noconfig b_softwareonly=true

Choose OMS home to patch and proceed


You will be prompted for Sys password


Enter ias_admin Password. This will be same as SYSMAN password


Application server console will be now shutdown. You will get a message confirming same. Click Ok.

After Installation completes , you will be prompted to run root.sh (as shown below) as root from OMS_HOME


6. Next apply 10.2.0.5 patchset to AGENT_HOME by issuing following command.

<span style="font-size: small;">.</span>/runInstaller -noconfig

Select AGENT_HOME for patching i.e agent10g


After Installation completes , you will be prompted to Run root.sh (as shown below) from Oracle Home for Management Agent ($BASE_DIR/agent10g)


7.Now the installation part is over. Next we need to run ConfigureGC.pl script which will actually configure 10.2.0.5 Grid Control.

Before making changes to the environment variable PERL5LIB, take a backup of the variable:

 setenv PERL5LIB_BACKUP $PERL5LIB

Set PERL5LIB to $OMS_ORACLE_HOME/perl/lib/5.6.1

export PERL5LIB=/db40/temp2/oms10g/perl/lib/5.6.1

Configure Grid Control by running the ConfigureGC.pl script from the Oracle home directory of the OMS

/db40/temp2/oms10g/perl/bin/perl /db40/temp2/oms10g/sysman/install/ConfigureGC.pl /db40/temp2

This script will take long time (took 2 hrs on my setup). You can monitor $OMS_ORACLE_HOME/cfgtoollogs/cfgfw/ CfmLogger*log file to check for any errors

The plug-in Starting Oracle Management Server has successfully been performed
------------------------------------------------------
------------------------------------------------------
The plug-in EMCLI Configuration is running

Operation EMCLI Setup is in progress.

The plug-in EMCLI Configuration has successfully been performed
------------------------------------------------------
The action patchsetConfiguration has successfully completed
###################################################

Once you get message that the configuration is complete, then check the status for OMS and AGENT

$OMS_ORACLE_HOME/bin/emctl status oms
$AGENT_ORACLE_HOME/bin/emctl status agent

You can now proceed with Agent installation on the targets to be monitored