install Receive Updates For This Category
Background & Overview
This document details how to install the Grid Control Agent 10.2.0.4 onto any 10g or 9i database host running on Solaris.
Assumptions & Pre-Requisites
The following assumptions and pre-requisites are assumed:-
- The NFS mount point /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download exists on the server you intend to install the Grid Control agent.
- A Grid Control repository has been built according the documentation listed here.
- The Agent Download directory has been configured as detailed in the Grid Control Config Guide
Useful Information
- Read the Known Issues section below.
- The install for a VCS cluster uses a staticports.ini file. This allows the port number for the agent to be defined at install time. This is required if installing more than one agent on a host, as each agent must have a different port number.
- More than one agent on a host is only needed if the host has multiple sets of Oracle binaries that failover independently of each other. If there is only one set of Oracle binaries or the binaries do not failover independent of each other, then the entries in the staticports.ini file should be hashed out using a # or the file removed altogether.
- It is possible to ignore the statictports.ini steps if only one agent is being installed or if ALL agents on the host are up and running on the host where the agent is being installed.
- When installing an agent on a VCS cluster, it is important that the agent is installed into a failover mount point.
Step-By-Step Guide
Installing the Agent on a Solaris Standalone Server
1. Log onto the server where the agent is to be installed.
2. Make sure you have the correct oraInst.loc file in place.
3. Unset the variables
- unset ORACLE_HOME
- unset ORACLE_BASE
- unset ORACLE_SID
4. Set the Agent Install and DBSNP Password variable
- export AGENT_INSTALL_PASSWORD=password
- NB The password specified above is the current OMS registration password.
- export DBSNMP_PASSWORD=password
- NB The password specified above is the current DBSNMP password.
- export AGENT_HOSTNAME=hostname
5. Copy the agentDownload file to the local host.
- cd /u01/app/oracle
- mkdir -p SOFTWARE/agent10g
- cd SOFTWARE/agent10g
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/10.2.0.4.0/solaris/agentDownload.solaris agentDownload.solaris
- chmod 755 agentDownload.solaris
- ./agentDownload.solaris -b agent_base -m OMS_hostname -r OMS_portno
- WARNING Be careful to specify the Agent Base and NOT the Agent Install Location.
- Check the agent10g logfile located /u01/app/oracle/SOFTWARE/agent10g/agentDownload10.2.0.4.0Oui/ErrLog.log
6. Shutdown the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl stop agent
7. Get a UNIX administrator to run root.sh from the agent10g home driectory.
8. Start the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl start agent
9. Follow the Step-By-Step guide Configuring the Agent Install shown below.
Installing the Agent on a Solaris RAC Server
1. Log onto the server where the agent is to be installed.
2. Make sure you have the correct oraInst.loc file in place.
3. Unset the variables
- unset ORACLE_HOME
- unset ORACLE_BASE
- unset ORACLE_SID
4. Set the Agent Install and DBSNP Password variable
- export AGENT_INSTALL_PASSWORD=password
- NB The password specified above is the current OMS registration password.
- export DBSNMP_PASSWORD=password
- NB The password specified above is the current DBSNMP password.
- export AGENT_HOSTNAME=hostname
5. Copy the agentDownload file to the local host.
- cd /u01/app/oracle
- mkdir -p SOFTWARE/agent10g
- cd SOFTWARE/agent10g
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/10.2.0.4.0/solaris/agentDownload.solaris agentDownload.solaris
- chmod 755 agentDownload.solaris
- ./agentDownload.solaris -b agent_base -m hostname -r port_no -c node1,node2,node3 -n clustername
- node1,node2,node3 are the nodes hosting the RAC cluster
- clustername is the name of the RAC cluster ( to get cluster name run /bin/cemutlo -n
- WARNING Be careful to specify the Agent Base and NOT the Agent Install Location.
- Check the agent10g logfile located /u01/app/oracle/SOFTWARE/agent10g/agentDownload10.2.0.4.0Oui/ErrLog.log
6. Shutdown the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl stop agent
7. Get a UNIX administrator to run root.sh from the agent10g home driectory.
8. Start the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl start agent
9. Follow the Step-By-Step guide Configuring the Agent Install shown below.
NOTE You will have to manually install the fix_agent.ksh script on the other nodes in the cluster.
Installing the Agent on a Solaris VCS Cluster
1. Log onto the server where the agent is to be installed.
2. Unset the variables
- unset ORACLE_HOME
- unset ORACLE_BASE
- unset ORACLE_SID
2. Set the Agent Install and DBSNP Password variable
- export AGENT_INSTALL_PASSWORD=password
- NB The password specified above is the current OMS registration password.
- export DBSNMP_PASSWORD=password
- NB The password specified above is the current DBSNMP password.
- export AGENT_HOSTNAME=hostname
3. Copy the agentDownload file to the local host.
- cd /u01/app/oracle
- mkdir -p SOFTWARE/agent10g
- cd SOFTWARE/agent10g
4. Copy the VCS oraInst.loc file to the agent10g software directory.
- cd /u01/app/oracle/SOFTWARE/agent10g
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/10.2.0.4.0/solaris/custom/VCSoraInst.loc oraInst.loc
5. Copy the staticports.ini file to the agent10g software directory.
- cd /u01/app/oracle/SOFTWARE/agent10g
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/10.2.0.4.0/solaris/custom/staticports.ini staticports.ini
6. Update the staticports.ini file with a valid port number.
- vi staticports.ini
- %s/port_num/VALID_PORT_NO/g
- NB If installing multiple agents on the same server for each set of binaries, the port number must be different for each agent. If installing just one agent, then the line can be hashed out.
7. Run the agentDownload script
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/10.2.0.4.0/solaris/agentDownload.solaris agentDownload.solaris
- chmod 755 agentDownload.solaris
- ./agentDownload.solaris -b agent_base -m OMS_hostname -r OMS_portno -i /u01/app/oracle/SOFTWARE/agent10g/oraInst.loc -p /u01/app/oracle/SOFTWARE/agent10g/staticports.ini
- WARNING Be careful to specify the Agent Base and NOT the Agent Install Location.
- Check the agent10 logfile located /u01/app/oracle/SOFTWARE/agent10g/agentDownload10.2.0.4.0Oui/ErrLog.log
8. Shutdown the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl stop agent
9. Get a UNIX administrator to run root.sh from the agent10g home driectory.
10. Start the Agent
- cd agent_home/bin
- NB The agent home is agent_base/agent10g where agent_base is the value specified in the install step above.
- ./emctl start agent
10. Follow the Step-By-Step guide Configuring the Agent Install shown below.
Configuring the Agent Install
1. Configure Proxy & Connection Settings for the new agent.
- In the Grid Control Console click on the Home tab.
- Click setup in the top right hand corner.
- Click on Patching Setup in the menu on the left hand side.
- Click on Proxy & Connection Settings
- Ensure the radio button for Manual proxy configuration is selected.
- Ensure the Host is set to proxyhostname.domain
- Ensure the port is set to portno
- In the list of Don8217;t proxy for hosts add the new agent hostname to the comma separated list.
- Ensure the Realm is set to local
- Ensure the Username is set to proxy username
- Enter a valid password
- Click Apply
Known Issues
Error when Trying to Configure a Database
Description
The following error messages may be reported in the emagent.trc when trying to configure a database target or after the agent install has completed.
SQL = 8221; OCIPing8221;8230;
LOGIN = dbsnmp/<PW>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SID=SIDNAME)))
2009-06-05 12:13:26,567 Thread-432 WARN vpxoci: OCI Error 8212; ErrorCode(3113): ORA-03113: end-of-file on communication channel
In addition, in the Targets Not Configured page of the the Grid Control front end you will get errors similar to the following
Get dynamic property error,Dynamic Category property error
Compute dynamic property takes too long
Cause
This is a bug reltaing to the way the patched 10.2.0.4 agent interacts with database at version 9.2.0.7 or below.
Fix Step-By-Step
1. Log onto the database having the error and grant sysdba to the dbsnmp user.
- . oraenv
- ORACLE_SID = [SID] ? SID
- sqlplus 8216;/ as sysdba8217;
- SQL> grant sysdba to dbsnmp
1. From the Grid Control front end reconfigured the database having the issue.
- Select the Targets tab.
- Select the Databases breadcrumb.
- Select the radio button alongside the database having the issue.
- Click Configure
- From the Configure Database Instance: Properties page set the Role field to sysdba
- Set the Monitor Username field to dbsnmp
- Ensure you have set a valid password in the Monitor Password field.
- Click Next
- Click Submit
- Click Ok
Error Messages When Starting up Grid Control Agents
Description
The following error messages may be reported when starting grid control agents.
| Message | Found in Log | Metalink Reference | Cause |
|---|---|---|---|
| [Thread-5] WARN ias.util getMetricResultUtil.311 8211; Error getting metric opmn_process_info Error getting metric opmn_process_info rows is null | emagentfetchlet.trc | 286624.1 | Harmless message. Also appears in emagentfetchlet.log |
| http: snmehl_connect: connect failed to (hostname:1157): Connection refused (error = 146) | emdctl.trc | N/A | If found during the start up of Grid Control, this message is due to the Agent being down. |
| DEBUG, INFO and WARN messages in emagent.trc log | emagent.trc | Feature!! | |
| See this log file for error messages emagent.trc | emagent.trc | Unknown. Feature/Bug | |
| 11347 :: Tue May 26 16:37:26 2009::AgentLifeCycle.pm:status agent returned with retCode=1 11347 :: Tue May 26 16:37:49 2009::AgentLifeCycle.pm: Exited loop with retCode=3 | emctl.log | Feature | |
| 2009-05-26 16:37:26,091 Thread-1 WARN http: snmehl_connect: connect failed to (hostname:3872): Connection refused (error = 146) 2009-05-26 16:37:26,091 Thread-1 ERROR main: nmectla_agentctl: Error connecting to https://hostname:3872/emd/main/. Returning status code 1 2009-05-26 16:37:27,363 Thread-1 WARN http: snmehl_connect: connect failed to (hostname:3872): Connection refused (error = 146) 2009-05-26 16:37:27,363 Thread-1 ERROR main: nmectla_agentctl: Error connecting to https://hostname:3872/emd/main/. Returning status code 1 | emdctl.trc | Feature |
Cause
See above.
Fix Step-By-Step
All of these messages can be ignored.
Useful Information
Manual Application of Patch Bundle 1 for Solaris 10.2.0.4 Agent.
The automatic application of patch bundle 1 for the 10.2.0.4 agent should happen automatically if the agent_download directory has been set-up correctly. However, if for any reason the application of patch bundle 1 does not work, the following guide can be used.
NB This is not required if using the amended agent_download script.
- cd AGENT_HOME/sysman/bin
- ./emctl stop agent
- cd /u01/app/oracle/SOFTWARE/agent10g
- mkdir Recommended
- cd Recommended
- cp /net/hostname/u01/app/oracle/GRID/oms10g/sysman/agent_download/Patches/SolarisSPARC/Recommended/Solaris_x64_GridControl_agent_download_10_2_0_2_0.zip Solaris_x64_GridControl_agent_download_10_2_0_2_0.zip
- unzip Solaris_x64_GridControl_agent_download_10_2_0_2_0.zip
- cd 8345731
- export ORACLE_HOME=AGENT_HOME
- export PERL5LIB=$ORACLE_HOME/perl/lib:$ORACLE_HOME/perl/lib/site_perl
- export EMSTATE=$ORACLE_HOME
- export PATH=$PATH:$ORACLE_HOME/OPatch
- $ORACLE_HOME/perl/bin/perl ./8345731/files/GCAgent/scripts/apply_8345731.pl
- sh ./8345731/files/GCAgent/scripts/patch8345731_nmo.sh
- opatch napply -skip_subset -skip_duplicate
- Get a UNIX administrator to run root.sh from the agent10g home driectory.
Script for Resetting the DBSNMP Password
This script below can be used to configure ther DBSNMP user and the related targets.xml entries after an agent has been installed. Alternatively, it can be performed manually by performing the following commands
NB This is not required if using the amended agent_download script.
1. Log onto the server where the new agent has been installed.
2. For each database where the agent has been installed perform the following steps.
- Unlock, unexpire and reset the DBSNMP password.
- . oraenv
- ORACLE_SID = [oracle] ?
- sqlplus 8216;/ as sysdba8217;
- SQL> alter user dbsnmp identified by current_dbsnmp_password account unlock;
2. Configure the DBSNMP account from the Grid front end.
- In the Grid Control Console click on the Home tab.
- Click setup in the top right hand corner.
- Click on the Agents breadcrumb.
- Click on the hostname where the agent has been installed.
- Click on a database that requires configuring. This is donated by the words unconfigured written in red below the database name.
- From the database instance page, click on configure
- In the Monitor Password field enter the current DBSNMP password.
- Click on Test Connection
- If the Test Connection is successful, click on Next
- Click Submit
- Click OK
- After a period of time, the screen will refresh and the database instance page will be displayed.
#!/bin/ksh
#############################################################################
# Script : setup_dbsnmp.ksh
#
# Date : 4th December 2008
#
# Author : www.oracle-wiki.net
#
# Description : Set-up the DBSNMP user ready for Grid.
#
# Parameters : \$1 8211; Password for DBSNMP.
#
# History
# V1 Date 4/06/09 Name: MDT Reason:Documented
#
############################################################################
#
# Set-up Variables
#PASSWORD=$1
export ORAENV_ASK=NO
EMAGENT=$(ps -eo comm | grep emagent)
EMDIR=$(dirname $EMAGENT)
EMCTL=$(echo $EMAGENT | sed 8216;s/emagent/emctl/8217;)#
#For each DB Loop Around and Configure DBSNMP
#ps -ef | grep pmon | grep -v grep | awk -F8217;_8217; 8216;{print $3}8217; | while read SID
do
export ORACLE_SID=$SID
. oraenv
sqlplus -s 8220;/ as sysdba8221; <<EOF
alter user dbsnmp account unlock identified by $PASSWORD
/
exit
EOF#
#Configure the targets.xml file.
#TARGET=$(grep $ORACLE_SID ${EMDIR}/../sysman/emd/targets.xml | grep oracle_database | sed 8216;s/.*NAME=8221;\(.*\)8221;.*$/\1/8217;)
$EMCTL config agent credentials ${TARGET}:oracle_database <<EOF
y
dbsnmp
y
$PASSWORD
$PASSWORD
EOF
Done#
#End Job
#echo 8220;JOB COMPLETE8221;
exit 0
staticports.ini file
#staticports.ini Template File
#This file is a template for specifying port numbers at installation time.
#To specify a port number, uncomment the appropriate line (remove #) and
#replace 8220;port_num8221; with the desired port number.
#You can then launch Oracle Universal Installer with special options to use this file.
#Please refer to Enterprise Manager Grid Control 10gR2 Installation Guide for instructions.
Enterprise Manager Central Agent Port=port_num
VCSoraInst.loc file
#Oracle Installer Location File Location
#Thu Mar 26 10:48:21 GMT 2009
inst_group=dba
inventory_loc=/u01/app/oracle/agent10g/oraInventory
Introduction
This paper will walk you through the steps of installing Oracle Database 11g release 2 (Oracle version 11.2.0) in a Linux environment. About 90% of the material presented here applies to other platforms as well. Everything you read in this paper is hands on, roll-up-your-sleeves-and-get-busy material for Oracle users who want to get an Oracle database up and running quickly without reading hundreds of pages of documentation and “readme” files.
These steps are meant to get you up and running as fast as possible, while leveraging best practices in order to set up a scalable, robust database environment that offers high performance. In order to keep the steps reasonably simple this paper does not cover Real Application Clusters (RAC), nor does it cover Oracle Internet Directory (OID), Automatic Storage Management (ASM), or Grid Control.
In this paper we will install the 11.2.0.1 release of Oracle Database 11g. This is the base distribution of Oracle Database 11g release 2. Be sure to check Oracle Support’s Metalink at http://metalink.oracle.com to see if a newer patch set has been released since this paper was published. You will need a valid Customer Service Identifier (CSI) number in order to access the Metalink website.
We ran our Oracle installations on servers equipped with Intel Xeon processors running Red Hat Enterprise Linux ES release 5 (Tikanga), update 4 (x86_64). Oracle Database 11g is supported on other processor architectures and Linux distributions as well. Note that with Red Hat Enterprise Linux, the ES and AS varieties are supported while WS is not.
There are four phases to getting Oracle up and running on your server:
- Prepare the server
- Install the Oracle software and latest patch set
- Create a database
- Complete the server configuration
We will walk through these phases one at a time, detailing all the steps involved. The end result will be a very usable database that can be scaled up quite large, and an Oracle installation that follows industry-recognized best practices. Of course, every implementation is unique, and you will need to evaluate each step carefully against your particular requirements. However, this paper will get you off to a very solid start.
The author wishes to acknowledge that this paper draws heavily from the previous Database Specialists, Inc. paper 8220;Installing and Configuring Oracle Database 10g on the Linux Platform8221; by Roger Schrag 8211; thanks Roger!
Prepare the Server
These steps configure your database server so that it will be ready to accept the Oracle software and database. In this section, we will make sure your server meets Oracle’s minimum requirements, create a Linux user and group to “own” the software, and create some directories that will be used by the Oracle software and database. All of the steps in this section are run as the root user.
- Make sure that your hardware platform (processor architecture) is certified by Oracle Corporation for use with Oracle Database 11g release 2, and that you have acquired the correct distribution of Oracle software for your hardware platform. As of May 2010, the supported hardware platforms for Oracle on Linux are as follows:
Supported Hardware Platforms for Oracle Database 11g release 2 x86 (Intel and AMD processor chips that adhere to the x86 32-bit architecture) x86-64 (AMD64/EM64T and Intel processor chips that adhere to the x86-64 architecture) The following commands can be used to identify the processor architecture on your database server:
$ uname -m $ grep "model name" /proc/cpuinfo
- Make sure that your Linux distribution is certified by Oracle Corporation for use with Oracle Database 11g release 2. Note that certifications vary by hardware platform. As of May 2010, the supported Linux distributions are as follows:
Supported Linux Distributions for Oracle Database 11g release 2 Oracle Enterprise Linux 5 update 2, kernel 2.6.18-92 or higher Oracle Enterprise Linux 4 update 7 Red Hat Enterprise Linux AS/ES 5 update 2 or later Red Hat Enterprise Linux AS/ES 4 update 7 or later SUSE Linux Enterprise Server 11.0, kernel 2.6.27.19-5 or higher SUSE Linux Enterprise Server 10.0 with SP2 or later, kernel 2.6.16.21-0.8 or higher Asianux 3.0 Asianux 2.0 (update 7 required for x86) Be sure to check Oracle Support’s Metalink for the latest certification information, because it is quite possible that Oracle Database 11g release 2 has been certified with additional Linux distributions or hardware platforms since this paper was written.
On systems running Red Hat distributions of Linux, you can use the following command to determine exactly which version and update of Red Hat you are using:
$ cat /etc/redhat-release
- Make sure that all of the required operating system packages have been installed on the database server. Which packages and versions are required will vary depending on your Linux distribution and hardware platform. The package version specified is typically a minimum, meaning that newer versions of the package are usually acceptable.
Required Packages for Red Hat Enterprise Linux 4
Oracle Enterprise Linux 4 and Asianux 2.0
(x86 Hardware Platform)binutils-2.15.92.0.2 compat-libstdc++-33.2.3 elfutils-libelf-0.97 elfutils-libelf-devel-0.97 gcc-3.4.6 gcc-c++-3.4.6 glibc-2.3.4-2.41 glibc-common-2.3.4 glibc-devel-2.3.4 glibc-headers-2.3.4 libaio-devel-0.3.105 libaio-0.3.105 libgcc-3.4.6 libstdc++-3.4.6 libstdc++-devel-3.4.6 make-3.80 pdksh-5.2.14 sysstat-5.0.5 unixODBC-2.2.11 unixODBC-devel-2.2.11 Required Packages for Red Hat Enterprise Linux 5
Oracle Enterprise Linux 5 and Asianux 3.0
(x86 Hardware Platform)binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11 Required Packages for Red Hat Enterprise Linux 4
Oracle Enterprise Linux 4 and Asianux 2.0
(x86-64 Hardware Platform)binutils-2.15.92.0.2 compat-libstdc++-33-3.2.3 (both 32 and 64 bit required) elfutils-libelf-0.97 elfutils-libelf-devel-0.97 expat-1.95.7 gcc-3.4.6 gcc-c++-3.4.6 glibc-2.3.4-2.41 (both 32 and 64 bit required) glibc-common-2.3.4 glibc-devel-2.3.4 glibc-headers-2.3.4 libaio-0.3.105 (both 32 and 64 bit required) libaio-devel-0.3.105 (both 32 and 64 bit required) libgcc-3.4.6 (both 32 and 64 bit required) libstdc++-3.4.6 (both 32 and 64 bit required) libstdc++-devel 3.4.6 make-3.80 pdksh-5.2.14 sysstat-5.0.5 unixODBC-2.2.11 (both 32 and 64 bit required) unixODBC-devel-2.2.11 (both 32 and 64 bit required) Required Packages for Red Hat Enterprise Linux 5
Oracle Enterprise Linux 5 and Asianux 3.0
(x86-64 Hardware Platform)binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 (both 32 and 64 bit required) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 (both 32 and 64 bit required) glibc-common-2.5 glibc-devel-2.5 (both 32 and 64 bit required) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 (both 32 and 64 bit required) libaio-devel-0.3.106 (both 32 and 64 bit required) libgcc-4.1.2 (both 32 and 64 bit required) libstdc++-4.1.2 (both 32 and 64 bit required) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 (both 32 and 64 bit required) unixODBC-devel-2.2.11 (both 32 and 64 bit required) Required Packages for SUSE Linux Enterprise Server 10.0
(x86 Hardware Platform)
binutils-2.16.91.0.5 compat-libstdc++-5.0.7 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-devel-2.4 ksh-93r-12.9 libaio-0.3.104 libaio-devel-0.3.104 libelf-0.8.5 libgcc-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.80 sysstat-8.0.4 cvudisk-1.0.2-1 (from the 11gR2 Clusterware disk) unixODBC-2.2.11 (if intending to use ODBC) unixODBC-devel-2.2.11 (if intending to use ODBC) Required Packages for SUSE Linux Enterprise Server 11.0
(x86 Hardware Platform)
binutils-2.19 gcc43-4.3.3_20081022-11.18 gcc43-c++-4.3.3_20081022-11.18 gcc-4.3 gcc-c++-4.3 glibc-2.9 glibc-devel-2.9 ksh-93t libstdc++33-3.3.3 libstdc++43-4.3.3_20081022 libstdc++43-devel-4.3.3_20081022 libaio-0.3.104 libaio-devel-0.3.104 libgcc43-4.3.3_20081022 libstdc++-devel-4.3 linux-kernel-headers-2.6.27-2.22 make-3.81 sysstat-8.1.5 Required Packages for SUSE Linux Enterprise Server 10.0
(x86-64 Hardware Platform)
binutils-2.16.91.0.5 compat-libstdc++-5.0.7 gcc-4.1.0 gcc-c++-4.1.2 glibc-2.5-24 glibc-devel-2.4 glibc-devel-32bit-2.4 ksh-93r-12.9 libaio-0.3.104 libaio-32bit-0.3.104 libaio-devel-0.3.104 libaio-devel-32bit-0.3.104 libelf-0.8.5 libgcc-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.80 sysstat-8.0.4 Required Packages for SUSE Linux Enterprise Server 11.0
(x86-64 Hardware Platform)
binutils-2.19 gcc-4.3 gcc-32bit-4.3 gcc-c++-4.3 glibc-2.9 glibc-32bit-2.9 glibc-devel-2.9 glibc-devel-32bit-2.4 ksh-93t libaio-0.3.104 libaio-32bit-0.3.104 libaio-devel-0.3.104 libaio-devel-32bit-0.3.104 libstdc++33-3.3.3 libstdc++33-32bit-3.3.3 libstdc++43-4.3.3_20081022 libstdc++43-32bit-4.3.3_20081022 libstdc++43-devel-4.3.3_20081022 libstdc++43-devel-32bit-4.3.3_20081022 libgcc43-4.3.3_20081022 libstdc++-devel-4.3 make-3.81 sysstat-8.1.5 Notes: elfutils-libelf-devel has a mutual dependency with elfutils-libelf-devel-static so they must both be installed with a single rpm command e.g. (for x86-64)
rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm elfutils-libelf-devel-0.137-3.el5.x86_64.rpm
Also some of these packages also have pre-reqs e.g. glibc-headers requires glibc-kernheaders, gcc (x86_64) requires libgomp, glibc-headers (x86_84) required kernel-headers (x86_64), etc.You can use the following command to verify that a package has been installed:
$ rpm -q <package name>
The following command will verify all of the packages required on Red Hat Enterprise Linux 5 (x86_86) systems:
$ rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \ gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh \ libaio libaio-devel libgcc libstdc++- libstdc++-devel make \ sysstat unixODBC unixODBC-devel
Note that in the cases where both the 32 bit and 64 bit architecture of an RPM are required you should see the same package twice in the output. You can confirm that both have been installed with a command similar to the following:
$ rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libaio - You will need to perform the Oracle installation from an X window environment—you cannot use a character mode environment such as an SSH or telnet session. There is a facility for performing non-interactive installations (“silent” installs), but we won’t be covering that technique here. Your X environment can be the console on the database server, but it does not need to be. You can also use a Windows X emulator like Cygwin. If the database server is in a remote location, you can use SSH to securely forward X traffic from the database server back to your desktop. You can also use VNC to install remotely. We have run installations from a Windows desktop using both Cygwin and VNC and have had no problems with either. Over slow networks, VNC seems to be faster than X.
- Make sure that your hardware is sufficient. You’ll need at least 1024 Mb RAM, a swap space at least the size of physical memory (or 1.5 times the amount of physical memory if you have 2 Gb or less of RAM), and a bare minimum of 6.5 Gb of disk space. This will let you perform a “typical” Enterprise or Standard Edition software installation from CD or DVD and create a starter database. If you will be downloading the Oracle software from Oracle Technology Network at http://www.oracle.com/technology, you will need about 1.4 Gb of additional disk space to download and unpack the Oracle software. A production implementation typically requires more RAM and more disk space than the minimums listed here. The following commands will allow you to check physical memory and swap space:
$ grep MemTotal /proc/meminfo $ grep SwapTotal /proc/meminfo - The Oracle installer will need access to a directory with at least 1 Gb of free space for writing temporary files during installation. Usually /tmp serves this purpose. If /tmp on your database server has less than 1 Gb of free space, then you will need to locate another directory with sufficient free space for use during the installation. You can point at this other directory by setting the TMP and TMPDIR environment variables in the oracle user8217;s environment
- Make sure that the Linux kernel on the database server has parameters set sufficiently high for Oracle. The Oracle architecture makes extensive use of shared memory segments for sharing data among multiple processes and semaphores for handling locking. Many operating systems, including Linux, do not by default offer sufficient shared memory or semaphores for optimal Oracle performance. Thankfully, you can change kernel parameters in Linux simply by editing the /etc/sysctl.conf file and rebooting the server. The following script will show the current settings of the Linux kernel parameters relevant to Oracle:
K="/tmp/kernelparams$$" /sbin/sysctl -a > $K 2> /dev/null grep aio-max-nr $K grep kernel.shm $K echo "`grep sem $K | tr '\t' ' '` # semmsl semmns semopm semmni" grep file-max $K grep ip_local_port_range $K | tr '\t' ' ' grep rmem_default $K grep rmem_max $K grep wmem_default $K grep wmem_max $K grep aio-max-nr $K rm -f $KThe following table shows the purpose of each of these kernel parameters and a recommended setting to get you started:
Kernel
ParameterSetting To Get
You StartedPurpose aio-max-nr 1048576 The total number of concurrent outstanding I/O requests shmmni 4096 Maximum number of shared memory segments shmall 2097152 Maximum total shared memory (4 Kb pages) shmmax 4294967295 Maximum size of a single shared memory segment. Set to either (4GB -1) or 1/2 the size of physical memory (in bytes) whichever is lower semmsl 250 Maximum number of semaphores per set semmns 32000 Maximum number of semaphores semopm 100 Maximum operations per semop call semmni 128 Maximum number of semaphore sets file-max 6815744 Maximum number of open files ip_local_port_range 9000 8211; 65500 Range of ports to use for client connections rmem_default 262144 Default TCP/IP receive window rmem_max 4194304 Maximum TCP/IP receive window wmem_default 262144 Maximum TCP/IP send window wmem_max 1048576 Maximum TCP/IP send window These settings will be appropriate for most systems. If you decide to configure a very large buffer cache or library cache for your database down the road, or if you choose to run a large number of databases on one server, then you may need to increase the shmall setting and possibly the shmmax setting as well. In addition, if you configure your database to allow a large number of concurrent sessions without using Oracle8217;s shared server architecture, then you may need to increase the semmsl and semmns settings as well.
Note that these recommended settings assume you have no other applications running on the database server that use shared memory segments or semaphores. You can view current shared memory and semaphore usage on your system with the following command:
$ ipcs
In general, if your Linux kernel already has any of these parameters set larger than recommended here, you should not reduce the settings.
We added the following lines to the end of our /etc/sysctl.conf file:
# Kernel parameter settings for Oracle fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
Depending upon your Linux version you can dynamically update the system values via the command
$ /sbin/sysctl -p
or simply reboot the server for these parameters to take effect.If you are using SUSE Linux, then you must run the following command before rebooting the server to ensure that the /etc/sysctl.conf file will be read during reboot:
$ /sbin/chkconfig boot.sysctl on
- Create a Linux group that will be used by the Oracle software owner. You can call it anything you like, but the standard is “oinstall”. This group is often called the “Oracle Inventory” group. If you will be installing Oracle on multiple servers on your network, you might want to keep the groupid the same on all servers. You can create your oinstall group with a command like:
$ /usr/sbin/groupadd -g 501 oinstall
If you are using SUSE Linux, then you must also enter the GID of the oinstall group as the value for the parameter /proc/sys/vm/hugetlb_shm_group and add vm.hugetlb_shm_group to the /etc/sysctl.conf file. Doing this grants members of the oinstall group permission to create shared memory segments. For example, where the oinstall group GID is 501 (as above) enter
$ echo 501 > /proc/sys/vm/hugetbl_shm_group
Add add the line
vm.hugetlb_shm_group=501
- to the /etc/sysctl.conf file.
- Create a Linux group that will be used by Oracle database administrators. You can call it anything you like, but the standard is “dba”. Anybody who logs onto the database server with a Linux login that belongs to this group will be able to log onto all databases that run from this Oracle software installation with DBA privileges. If you will be installing Oracle on multiple servers on your network, you might want to keep the groupid the same on all servers. You can create your dba group with a command like:
$ /usr/sbin/groupadd -g 502 dba
- Create a Linux user that will be the Oracle software owner. You can call it anything you like, but the standard is “oracle”. If you will be installing Oracle on multiple servers on your network, you might want to keep the userid the same on all servers. Note that this user’s home directory will not be the ORACLE_HOME or where the actual Oracle software is installed; this user’s home directory should be in the same place as other users’ home directories.The Oracle software owner should have the oinstall group as the primary group and the dba group as a secondary group. You can create your oracle user with commands like:
$ /usr/sbin/useradd -c 'Oracle software owner' -d /home/oracle \ -g oinstall -G dba -m -u 501 -s /bin/bash oracle $ passwd oracleThe useradd command shown here gives your oracle user the Bash shell. You could just as easily choose Korn or Bourne shell instead.
- It is necessary to increase limits that the shell imposes on the oracle user for maximum number of open file descriptors and processes. Follow these steps to increase the limits:
- Add the following lines in the /etc/security/limits.conf file:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 - Add the following lines to the /etc/pam.d/login file, if they are not already present:
session required /lib/security/pam_limits.so session required pam_limits.so - Add the following lines in the /etc/profile file (or the /etc/profile.local file on SUSE systems) if the oracle user uses the Bash, Korn or Bourne shell:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi - If the oracle user uses the C shell, then add the following lines in the /etc/csh.login file (or the /etc/csh.login.local file on SUSE systems):
if ( $USER == "oracle" ) then limit maxproc 16384 limit descriptors 65536 umask 022 endif
- Add the following lines in the /etc/security/limits.conf file:
- Create mount points for the Oracle software and the Oracle database. Each mount point should correspond to a separate physical device or set of devices. You’ll need at least one mount point. Typically you use one mount point for the Oracle software and one or more mount points for each database. One common convention is to call the mount points /u01, /u02, and so on. Because mount points are typically owned by root and the Oracle installer will run as the oracle user and not as root, you should create some subdirectories now to avoid permission problems later. Create an app/oracle subdirectory below the software mount point, and oradata subdirectories below the mount points to be used for database files. (You can put software and a database on the same mount point if you wish.) Make these subdirectories owned by the oracle user and oinstall group, and give them 775 permissions, except for the datafile directory, give this 750 permissions. You can use commands like:
$ mkdir -p /u01/app /u01/app/oracle /u01/oradata $ chown oracle:oinstall /u01/app /u01/app/oracle /u01/oradata $ chmod 775 /u01/app /u01/app/oracle $ chmod 750 /u01/oradata - If you downloaded the Oracle software Oracle Technology Network, then use unzip to unpack the distribution. If you have the software on CD or DVD, then mount the Oracle Database 11g release 2 media now.
- As an optional step, it is suggested that you validate your configuration using the pre-install tests of Oracle8217;s Remote Diagnostic Agent (rda.sh), you can find details of doing this in Metalink note 250262.1. The procedure is to download the latest version of rda.sh and run its pre-install checklist via the command
cd <directory containing rda.sh> ./rda.sh -T hcve
then choose the appropriate option 8216;Oracle Database 11g R2 (11.2.0) Preinstall (Linux AMD64)8217; option. As of May 2010 the 11gR2 pre-install option does not exist for AMD64 but does exist for Linux-x86, we expect AMD64 support will be added shortly.
Install the Oracle Software and Latest Patch Set
These steps install the Oracle software and latest patch set on your server. As of this writing, Oracle release 11.2.0.1.0 is the only version of Oracle Database 11g release 2 available for download from Oracle Technology Network or available on CD or DVD media. At some point in the future, Oracle will release latest patchsets (e.g. 11.2.0.2, 11.2.0.3, etc.) however the first such patchset has not yet been release. Therefore, we will install Oracle release 11.2.0.1.0. Once Oracle have released a patch set you should apply the patchset on top of the base 11.2.0.1.0 release. Before proceeding with the steps in this section, you should check Oracle Technology Network (http://www.oracle.com/technology) and Oracle Support’s Metalink (http://metalink.oracle.com) to see if any 11g release 2 patch sets are available.
The Oracle Universal Installer will suggest creating a database at the same time that it installs the Oracle software. Although we do not have any latest patchsets to install, we will hold off on the database creation until a later step since that is the preferred sequence of events once a 11g release 2 patch set is eventually released.
In this section, we will prepare the oracle user’s environment, run the Oracle Universal Installer and tidy up a few minor loose ends. All of the steps in this section, except where noted, are run as the oracle user.
- Edit the oracle user’s login file on the database server so that the environment will be configured automatically on login. If you are using Bash shell, then edit .bash_profile. If you are using Bourne or Korn shell, then edit .profile. You can also use C shell and edit .cshrc, but the syntax will be different from the examples you see here. For now, we will hardcode certain things. But after we create a database, we will come back and eliminate all hard codings. Here is what we added to our .bash_profile for the install:
# # Substitute your Oracle software mount point in the line below. export ORACLE_BASE=/u01/app/oracle # # Ensure that ORACLE_HOME and TNS_ADMIN are not set. unset ORACLE_HOME unset TNS_ADMIN # # If your /tmp directory has less than 1 Gb free, then edit # and uncomment the following three lines. # TMP=/mount_point_with_1Gb_free # TMPDIR=/same_mount_point # export TMP TMPDIR # # The documentation does not mention how PATH should be set. # The following PATH setting worked for us: export PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin - Log out and log back in as the oracle user from an X window so that the environment is set correctly. If you will be performing the installation from a PC or other workstation instead of using the database server’s console directly, you may wish to forward X window traffic over an SSH connection. This offers increased security (in the case of a public network) and convenience. If you will be performing the installation from a Windows PC, you can use PuTTY to forward your X window traffic by selecting the “Enable X11 forwarding” checkbox in PuTTY’s SSH Tunnels configuration screen. As an alternative to X, you may wish instead to start a VNC server on your database server by running the following command as the oracle user:
$ /usr/bin/vncserver
With a VNC server running in this way, you can achieve an X environment by running a VNC viewer on your desktop workstation. You can shut down the VNC server by running the following command:
$ /usr/bin/vncserver -kill :1
- Make sure your DISPLAY variable is set. If you are forwarding X window traffic over an SSH connection, using VNC, or working from the server’s console directly, the DISPLAY variable should already be set for you. If your DISPLAY variable has not been set already, then you will need to set it manually to the IP address of your X server plus the X server and screen numbers. You can set your DISPLAY variable with a command like:
$ export DISPLAY=myworkstation:0.0
- If you had to set your DISPLAY variable manually in the previous step, then ensure that the X server on your workstation will allow your database server to open windows on your display. The easiest way to do this is to issue an xhost command from a session on your workstation. (Don’t get confused and issue the command in a window that is logged onto your database server.) You can issue a command like:
$ xhost +mydatabaseserver
- Ensure that the mount point you plan to use for the Oracle software has sufficient free space. For a basic Enterprise Edition and patch set installation, allow 1.6 Gb for the software mount point as a bare minimum.
- Double check that you are logged in as oracle and not root, and that the environment variables have been set by the login script you prepared earlier. Then change to your home directory and start the Oracle Universal Installer with a command like one of the following:
$ <full path to DVD>/database/runInstaller
or
$ <full path to CD>/runInstaller
We’ll walk through the installer prompts one at a time:
- The Configure Security Updates window appears. If you wish to receive security updates via email then enter your email address and your Oracle support password. If not, deselect the checkbox. Click Next. If you deselected the checkbox hit 8216;Yes8217; when the popup warning that you have not provided an email address appears.
- The Select Installation Option windows appears. Choose option 8216;Install database software only8217;. Click Next.
- The Node Selection window appears. Choose Single instance database installation and then click Next.
- When the Select Product Languages window appears move the desired languages into the right hand panel. Click Next.
- The Select Database Edition window appears. We will perform a “typical” install to get a basic set of Oracle software installed. You can rerun the installer again later and choose Custom to install additional products individually. For now, choose Standard Edition or Enterprise Edition. The Enterprise Edition of Oracle Database 11g has some very sophisticated features missing from Standard Edition, and the opportunity to purchase additional options that might be valuable to a large enterprise. However, the Enterprise Edition is much more expensive than Standard Edition. It is very important that you choose the edition that matches your license, as this will be difficult to fix later. The Select Options button display 6 extra cost options that can only be licensed against the Enterprise Edition. Again your specific license agreement needs to be consulted here, it is recommended that you deselect the extra cost options that your have not purchased. Click Next.
- The Specify Installation Location window appears. Oracle provides a suggested Oracle Base Path for the Oracle home (software installation) that is about to be created. You can name this Oracle home anything you like. Beginning in Oracle Database 11g the standard for Oracle home location has changed to /<mount-point>/app/oracle/product/11.2.0/dbhome_<N>. In 10g the dbhome string was shortened to db. The naming convention, such as dbhome_1, dbhome_2 allows you to install multiple copies of the same Oracle version on one server in a standardized way. Note that we will refer back to this path frequently, calling it the Oracle home or simply $ORACLE_HOME. If you are planning to go with the path suggestion provided by Oracle, make sure there isn’t an extra occurrence of the “oracle” component in the path.When you are satisfied with the path of Oracle Base and the name and path for your Oracle home, click Next.
- If you do not have at least 4,397MB of free disk space available in your $ORACLE_HOME you will get an error. Make sure you have enough free space available, otherwise you will not be able to proceed with the install.
- If the Create Inventory window appears, set the inventory directory to the parent of the $ORACLE_BASE directory, remember you set the value of the $ORACLE_BASE environment variable in the login script. In the oraInventory Group Name field, select the oinstall group. Click Next. You won8217;t see this window if you have previously installed Oracle software on this database server. Historically it was common to have the inventory directory located as $ORACLE_BASE/oraInventory but in 11g Oracle are recommending against this configuration.
- The Privileged Operating System Groups screen appears. Set the OSDBA Group to 8216;dba8217; and the OSOPER Group to 8216;oinstall8217;. Click Next.
- The Prerequisite Checks will run, if they all pass then the installer will continue onto the Summary window. Obviously if you have failed any prerequisite checks you should resolve them before proceeding. Assuming you made it to the Summary window Click Finish.
- During the installation an Execute Configuration Scripts window will appear. The installation will be paused at this point, waiting for you to run scripts as root. (The first time you install Oracle software on the database server there will be two scripts to run as root, while additional installations only require one script to be run as root.) You should open another window, log in to the database server as root, review the scripts to be run thoroughly, run the scripts, and click OK in the Execute Configuration Scripts window.
- Once the root scripts have ran the installer will display the Finish window, click Close to end the installation.
- At this point we are ready to patch the Oracle software installation with the latest maintenance release available. Log onto Oracle Oracle Support’s Metalink (http://metalink.oracle.com) and download the latest patch set for Linux x86_64 or whichever processor architecture your database server uses. As of this writing, there are no patch sets available so we will skip this step, once a patch set becomes available we will update this document with the instructions for the patch set.
- In addition to the latest maintenance release you should consider applying the latest 8216;Critical Patch Update (CPU)8217; which contains the latest security patches or the current 8216;Patch Set Update (PSU)8217; which contains Oracle8217;s recommended bug fixes in addition to the latest security patches. These patches are released quarterly. Since the instructions may differ slightly from one patch to the next so we do not cover the specifics here. You can find the latest patch and its install instructions on Oracle Support site.
- In $ORACLE_HOME/bin (the bin directory under your Oracle home) you will find a shell script called oraenv. This script can be called from .bash_profile or .profile to set up a user’s environment automatically whenever they log onto the database server. We will customize the oraenv script because there are a few variables that the script should set but doesn’t. Make a backup copy of the oraenv script and then edit it, adding the following lines to the very end:
# Begin customizations
DBA=$ORACLE_BASE/admin
# Substitute the locale and character set you plan to use for your
# database in the line below. Nowadays the two main common choices are:
# NLS_LANG=american_america.WE8MSWIN1252 (11gR2 Unix default)
# NLS_LANG=american_america.AL32UTF8 (Unicode 5)
NLS_LANG=american_america.WE8MSWIN1252
export DBA NLS_LANG
# End customizations
You should set NLS_LANG to match the character set of the database you will create later. The Database Configuration Assistant (dbca) now offers two primary choices, the default character set for your platform based on the upon the language setting of your operating system (WE8MSWIN1252 in our install) and AL32UTF8 which corresponds to Unicode 5.0 in 11g. Oracle recommend using AL32UTF8 for the database character set e.g. see Metalink note 333489.1. You should carefully choose your character set as it is not easy to change after the database is created.
- In the same directory you’ll also find a shell script called coraenv that can be called from .cshrc. If you use C shell, you will want to back up and edit coraenv with similar changes to the oraenv script.
- The root.sh script copied oraenv and coraenv from $ORACLE_HOME/bin to the /usr/local/bin directory. You just updated these scripts in $ORACLE_HOME/bin. Copy the updated versions to the /usr/local/bin directory.
These steps create an Oracle database. Everybody will have different needs for their database, but the steps here will yield a functional database that you can further tailor to your specific needs. In this section we will use the Database Configuration Assistant to create a database, adjust the database in order to better comply with industry-proven best practices, and configure Oracle Net. All of the steps in this section are run as the oracle user.
- Set up your environment the same way you did when you ran the Oracle Universal Installer: Log in as the oracle user on the database server from an X window or VNC session, set your DISPLAY variable appropriately, and make sure that your ORACLE_BASE variable is set correctly based on your login file.
- Set the ORACLE_HOME environment variable to point to your Oracle home with a command like:
$ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
- Choose a name for your Oracle instance, up to eight characters long. The instance name is easy to change at any time. However, you will want to keep the instance name the same as the database name in order to avoid confusion. Changing the database name later is possible, but not the easiest thing to do. So pick a name for the instance that you like. Set the ORACLE_SID variable accordingly with a command like:
$ export ORACLE_SID=dev11ee
- In the next step we will create a database and configure it using 8216;Database Control8217;. In order to do this we first need a listener configured prior to creating the database, since we have just installed the software we currently have no listener so we need to configure one. Oracle Net is the networking infrastructure that allows applications running on other servers to access the database. The Oracle Net listener is a process that runs on the database server and monitors a TCP port for requests to access the database. The Oracle Net listener is configured by creating a file called listener.ora in the $ORACLE_HOME/network/admin directory. In the $ORACLE_HOME/network/admin/samples directory you will find an example listener.ora file. Unfortunately, many Oracle security exploits involve the Oracle Net listener, and therefore it is important that you configure it properly and securely. A functional listener.ora file that uses operating system authentication for securing the Oracle Net listener is as follows:
# # Filename: listener.ora # LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.99)(PORT = 1521)) ) ) )The permissions on the listener.ora file should be 640.
- Start the Oracle Net listener with the following command:
$ORACLE_HOME/bin/lsnrctl start
Depending upon your configuration of SELinux (Security Enhanced Linux) you may receive the error message
cannot restore segment prot after reloc: Permission denied
- this is due to unpublished bug 6140224 (see Metalink note 454196.1 for details). The recommended workaround, until the bug is resolved, is to change SELinux to Permissive mode which is done by editing the file /etc/selinux/config and changing the SELINUX value to 8220;SELINUX=permissive8221; or 8220;SELINUX=disabled8221; and then rebooting your server. You can confirm the status of SELinux using the command
/usr/sbin/sestatus
- The Oracle client libraries invoked by an application wishing to access the database read configuration files called sqlnet.ora and tnsnames.ora in order to figure out how to find the Oracle Net listener and what connection parameters should be used. In the same directory where the sample listener.ora file is located, you will also find a sample sqlnet.ora and tnsnames.ora. You should create a sqlnet.ora file and a tnsnames.ora file in the same directory where you created your listener.ora file. Set the file permissions to 644. Copy these two files to all application servers or other machines that will access the database. Functional sqlnet.ora and tnsnames.ora files are as follows:
# # Filename: sqlnet.ora # NAMES.DEFAULT_DOMAIN = dbspecialists.com NAMES.DIRECTORY_PATH= (TNSNAMES) # # Filename: tnsnames.ora # DEV11EE.DBSPECIALISTS.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.99)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dev11ee.dbspecialists.com) ) ) - Now we proceed with creating the database, launch the Database Configuration Assistant with the following commands:
$ cd $ORACLE_HOME/bin $ ./dbcaWe’ll walk through the prompts one at a time:
- The dbca Welcome window appears. Click Next
- The Operations windows appears with the 8216;Create a Database8217; operation selected. Click Next.
- The Database Templates window appears. Here you choose a template (a set of default specifications) for the database you wish to create. Oracle provides templates called “General Purpose or Transaction Processing”, “Custom Database” and “Data Warehouse” Oracle has pre-built data files available for these three templates, meaning that database creation will go faster than if Oracle has to build the database from scratch. You can also choose Custom and create your own template. We will choose General Purpose here. Click Next.
- The Database Identification window appears. Here you specify the global name and the instance name (SID) for the database. It would be nice if these fields defaulted from the ORACLE_SID environment variable, but this may or may not happen. In the Global Database Name field, enter the database name you selected, followed by a period and your domain name. For example, “dev11ee.dbspecialists.com”. The SID field will fill in automatically from the global name. Click Next.
- The Management Options window appears. Here you indicate whether or not you wish to have the Enterprise Manager tool configured. Grid Control is Oracle’s enterprise-wide database management tool. This option will be grayed out if Grid Control infrastructure has not already been established. Database Control is a stand-alone management tool specifically configured to manage one database. If Grid Control is not present, the defaults in this window will specify to configure Database Control for this database. This will enable you to perform many database management functions for this database from a web browser. You may optionally configure Database Control to send you alerts via email and to back up the database daily. It does not hurt to choose Database Control configuration at this time—you can always shut it down later. We will not be covering the database backup feature here. Click Next.
- The Database Credentials window appears. Every Oracle 11g database has accounts called SYS, SYSTEM, DBSNMP, and SYSMAN. You must provide passwords for each of these accounts, although you can choose to give all four the same password. It is easy to change passwords later, and members of the dba Linux group can access the database without a password and change passwords for any database account. Enter the initial passwords for these accounts and click Next. Your password should have a minimum of 8 characters in length and contain at least one upper case character, one lower case character and one digit.
- The Database File Locations window appears. The files that make up an Oracle database can be stored on a regular file system or disks managed automatically by Oracle’s Automatic Storage Management facility. We will not be covering ASM here, so keep File System selected. Also on this screen you specify where on the file system the files that make up the database should initially reside. It will be easy to change file locations later, and database files can be spread over multiple directories. The default option on this window is to use the file location specified in the template. This is not a good idea as the location specified by the templates goes against standard conventions. Instead you should select “Use Common Location for All Database Files” and enter a mount point name followed by the oradata subdirectory, such as “/u01/oradata”. The location you enter here should match one of the directories you created in step 12 of the first section above. Click Next.
- The Recovery Configuration window appears. A solid backup and recovery plan is absolutely necessary for any database that will hold data of any importance. However, there are many options available and needs vary greatly from one situation to the next. The flash recovery area is used by the “Flashback database” feature and also by Enterprise Manager if you chose to configure automatic database backups. Archiving, meanwhile, is necessary for databases that will be backed up while they are open. Archiving can be enabled easily at a later time. Since we are not covering backup and recovery strategies here, we will uncheck both options and click Next.
- The Database Content window appears, it appears two tabs. Typically there will be no need for you to specify any custom scripts, and preloading the sample schemas can be helpful in a development database for seeing examples of various techniques. Make your selections and click Next.
- The Initialization Parameters window appears. Tabs in this window let you set various initialization parameters, and a button lets you view and edit all parameters in a tabular form. Click on the Character Sets tab and select the character set for the database that matches the character set name you put into the oraenv script in an earlier step. It is hard to change the character set of a database, so make sure you are happy with your selection before proceeding. Initialization parameters, on the other hand, are easily changed later. In this window, therefore, you should make sure the character set is correct but not worry too much about the other settings. (Setting the character sets is very different from setting initialization parameters, so the fact that the Character Sets tab appears on a window entitled Initialization Parameters may be confusing.) Click Next.
- The Database Storage window appears. Here you can review and edit the details of how the control files, online redo logs, data files, and tablespaces will be created. If you are using one of the templates that was provided, you will not be able to change very many settings. If you want to change the locations of some of the database files, you can do that here or after the database has been created. The default redo log size (50 Mb) is somewhat small, so you might want to change it. Again, you can do that here or after the database has been created. When you are satisfied with the settings, click Next.
- The Creation Options window appears. You may choose to create the database now, generate scripts to create the database later, and/or save the settings as a template. Saving as a template allows you to create the database at a later time or create many similar databases more easily. Make your selection and click Finish.
- A Confirmation window appears. Review all of your selections and click OK.
- A progress window appears and database creation proceeds.
- When database creation is complete, a window will appear which indicates the name of the database, the location of the parameter file, and the URL for accessing Enterprise Manager. Note this URL for future reference. Depending on what options you selected, additional accounts may have been created on the database besides the basic SYS, SYSTEM, DBSNMP, and SYSMAN. All additional accounts are now locked. You may click the Password Management button to unlock these accounts and set passwords if you wish, but you should only unlock an account if you have a specific reason for doing so. When you are finished, click the Exit button to exit the Database Creation Assistant.
- While logged onto the database server as the oracle user, run the following commands to set environment variables so that you will be able to access the database easily (substitute your Oracle instance name):
$ export ORACLE_SID=dev11ee $ export ORAENV_ASK=NO $ . /usr/local/bin/oraenv - Now we have a database you can verify that Oracle Net is configured correctly by attempting to access the database from an application server or other remote server, or by using commands like the following on the database server directly:
$ sqlplus /nolog SQL> CONNECT system@dev11ee Enter password: <Enter SYSTEM password>
If you receive the error ORA-12170: TNS:Connect timeout occurred you should check your Linux firewall settings, if the firewall is active you will need to open up ports 1521 and 1158.
- If you would like to move any of the data files or online redo logs for this database to another directory, use commands like the following:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> SHUTDOWN IMMEDIATE SQL> STARTUP MOUNT SQL> HOST mv -i /u01/oradata/dev11ee/users01.dbf /u02/oradata/dev11ee/users01.dbf SQL> ALTER DATABASE RENAME FILE 2 '/u01/oradata/dev11ee/users01.dbf' TO 3 '/u02/oradata/dev11ee/users01.dbf'; SQL> HOST mv -i /u01/oradata/dev11ee/redo01.log /u02/oradata/dev11ee/redo01.log SQL> ALTER DATABASE RENAME FILE 2 '/u01/oradata/dev11ee/redo01.log' TO 3 '/u02/oradata/dev11ee/redo01.log'; SQL> ALTER DATABASE OPEN; SQL> EXITNote that this procedure does not work for control files. Relocating database control files will be covered in a later step.
- In databases created with supplied templates, all data files have the “auto-extend” feature turned on. This means that when a data file becomes full, it will automatically grow larger as needed. The problem with this is that an application can get out of control and fill up an entire disk partition. It also means that you need to manage your free space at the operating system level. Many DBAs prefer to manage free space at the database level by pre-allocating space to data files and not using the auto-extend feature. You may resize data files and disable auto-extend with commands like:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/system01.dbf' AUTOEXTEND OFF; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/sysaux01.dbf' AUTOEXTEND OFF; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/undotbs01.dbf' AUTOEXTEND OFF; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/users01.dbf' AUTOEXTEND OFF; SQL> ALTER DATABASE TEMPFILE '/u01/oradata/dev11ee/temp01.dbf' AUTOEXTEND OFF; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/system01.dbf' RESIZE 850m; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/sysaux01.dbf' RESIZE 700m; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/undotbs01.dbf' RESIZE 50m; SQL> ALTER DATABASE DATAFILE '/u01/oradata/dev11ee/users01.dbf' RESIZE 20m; SQL> ALTER DATABASE TEMPFILE '/u01/oradata/dev11ee/temp01.dbf' RESIZE 50m; - Oracle uses a server parameter file or “spfile” to store the initialization parameters—settings that affect the instance. The default parameter settings provided by the Database Configuration Assistant are not bad, but you may want to make some changes. Unfortunately, you cannot edit the spfile. Instead, you must export the contents of the spfile to a plain text file called a “pfile”. You can then edit the pfile and convert it back to an spfile for use on your database. (This might sound confusing, but is actually pretty straightforward.)Shut down the database and export the contents of the spfile into a pfile that you can edit with commands like:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> CREATE PFILE='/home/oracle/dev11ee-params.txt' 2 FROM SPFILE; SQL> SHUTDOWN IMMEDIATE - Make a backup copy of the pfile you created in the previous step and edit the pfile to change parameters as you wish, based on your needs and your server’s capabilities. You can always change parameters again in the future, so you are not locking yourself into anything right now. Here is the pfile that we ended up with:
*.audit_file_dest='/u01/app/oracle/admin/dev11ee/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/u01/oradata/dev11ee/control01.ctl','/u01/oradata/dev11ee/control02.ctl' *.db_block_size=8192 *.db_domain='dbspecialists.com' *.db_name='dev11ee' *.diagnostic_dest='/u01/app/oracle' *.memory_target=442499072 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1
- The database is created with two control files. The control file is a pretty small file that contains crucial configuration and synchronization information that Oracle needs in order to locate all the files that make up the database and keep them consistent. All copies of the control file are kept identical; whatever Oracle writes to one control file it also writes to the others. (Think of it like software mirroring.) It is a good idea to move one of the control files to another location. With the database shut down, you can go ahead and move the control files around as you wish. Be sure to change the control_files entry in your pfile accordingly.
- Remove the existing spfile that the Database Configuration Assistant created, and the bogus pfile that it left behind, with the following commands:
$ rm -i $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $ rm -i $ORACLE_HOME/dbs/init.ora - Create a symbolic link from the location where Oracle looks for the spfile to the location where you will actually maintain the spfile:
$ ln -s $ORACLE_BASE/admin/$ORACLE_SID/pfile/spfile$ORACLE_SID.ora \ $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora - Now convert the pfile that you edited back into an spfile that Oracle can use with the following commands:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> CREATE SPFILE='$ORACLE_BASE/admin/$ORACLE_SID/pfile/spfile$ORACLE_SID.ora' 2 FROM PFILE='/home/oracle/dev11ee-params.txt'; - You are now ready to restart your database using your newly created spfile. Use the following commands to start the database and view the parameters that are in effect. These settings should match what you put in your pfile a few steps back:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> STARTUP SQL> SET PAGESIZE 100 SQL> SELECT name, value, isdefault 2 FROM v$parameter 3 ORDER BY isdefault, name; - You can follow the above few steps at any time to make further changes to the parameters. However, if you only have a few changes to make, there is a much easier way than exporting the spfile into a pfile, editing the pfile, and converting back to an spfile. You can simply:
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> ALTER SYSTEM SET parameter = value 2 SCOPE = SPFILE;This will update the setting in your spfile, and the change will take effect the next time you restart the instance. Many parameters are dynamic, meaning that you can change them on the fly without restarting the instance. For dynamic parameters, you can omit the SCOPE = line above and Oracle will change the parameter setting immediately and in the spfile. If you wish to unset a parameter use the following syntax
SQL> ALTER SYSTEM RESET SCOPE=SPFILE SID='*'
- At this point you are ready to create tablespaces—logical groupings of data files—to hold your application data. You can put all of your data into one tablespace, or you can separate data into multiple tablespaces based on object type, object size, permanence, volatility, I/O volume, or any of a number of other criteria. In the past, choosing storage parameters and allocation schemes for database objects was rather tedious. Now it is quite simple because you can have Oracle do the space allocation and management automatically and it will do a pretty good job. Here is a sample tablespace creation statement for an application called “Flex”:
CREATE TABLESPACE flex_data DATAFILE '/u02/oradata/dev11ee/flex_data01.dbf' SIZE 500m SEGMENT SPACE MANAGEMENT AUTO; - Create application roles if desired. Alternatively, you can use the default roles CONNECT, RESOURCE, and DBA.
- Create your application accounts that will own the application schemas. Set the default tablespace to one of your application tablespaces designated to hold tables. Assign quotas on all of the application tablespaces where the account will need to be able to create schema objects. (You can use the keyword UNLIMITED.) You should not set any quota on the SYSTEM, SYSAUX, or TEMP tablespaces. Do not plan to create any application objects in the SYS or SYSTEM schemas, or store any application objects in the SYSTEM, SYSAUX, or TEMP tablespaces. Here is a sample application account creation statement:
CREATE USER bob IDENTIFIED BY bob123 DEFAULT TABLESPACE flex_data QUOTA UNLIMITED ON flex_data; - Grant roles and/or system privileges to the application accounts. Note that if you grant the RESOURCE role to an account, that account will also receive the UNLIMITED TABLESPACE system privilege. This will let the account create objects in any tablespace, regardless of quotas. Think very carefully before granting the DBA role or allowing any accounts that have the UNLIMITED TABLESPACE privilege. Sample statements to grant and revoke privileges are as follows:
GRANT connect, resource TO bob; REVOKE unlimited tablespace FROM bob; - Review the overall security of your database. Oracle Corporation has published a very detailed 25 page listing of recommended security checks. Download it from Oracle Technology Network at http://www.oracle.com/technology/deploy/security/database-security/pdf/twp_security_checklist_database.pdf.
Complete the Server Configuration
These steps complete the configuration of your server for smooth Oracle operation. In this section we will change the oracle user’s login script to eliminate hardcoding, create individual operating system accounts for each database user, and configure the server to start the database and listeners automatically whenever the server is rebooted.
- Edit the login file (.bash_profile or .profile) for the oracle user to eliminate hardcodings and call the oraenv script to set the environment instead. The following will work with Bash, Bourne, or Korn shell:
# Settings for Oracle environment ORACLE_SID=dev11ee # Put your instance name here ORAENV_ASK=NO export ORACLE_SID ORAENV_ASK . oraenv ORAENV_ASK=YESNote that this script assumes that the /usr/local/bin directory is on your path. Also, if you use C shell then you should edit .cshrc and have it source coraenv.
- Create separate Linux accounts for DBAs and database users who will log onto the database server directly. You should only log in as oracle when installing or patching software or stopping/starting the database. The Linux accounts for DBAs should be members of the dba group, and other users should not be members of the dba group. Give each of these accounts a login file like oracle’s so that their environment initializes correctly when they log in.
- Edit the /etc/oratab file to verify that the entry for your database is correct. Lines starting with a pound sign are considered comments and are ignored. Each non-comment line contains the name of one Oracle instance, its Oracle home, and a Y or N. A Y indicates that the database should be started automatically on server reboot, and an N indicates that it should not. The three fields should be separated by colons. A sample /etc/oratab file looks like this:
# # /etc/oratab # =========== # dev11ee:/u01/app/oracle/product/11.2.0/dbhome_1:Y - To make the database and listeners start up automatically when the server reboots and shut down automatically when the server shuts down, you’ll need to create a dbora file in /etc/init.d and either user the chkconfig command or manually link dbora to /etc/rc3.d and /etc/rc0.d. You’ll need to do this as the root user. First create a file called dbora in /etc/init.d as follows:
# # chkconfig: 35 99 10 # description: Start and stop the Oracle database, listener and DB Control # ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases and listeners su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" su - $ORA_OWNER -c "ORACLE_SID=dev11ee; export ORACLE_SID; $ORA_HOME/bin/emctl start dbconsole; unset ORACLE_SID" touch /var/lock/subsys/dbora ;; 'stop') # Stop the Oracle databases and listeners su - $ORA_OWNER -c "ORACLE_SID=dev11ee; export ORACLE_SID; $ORA_HOME/bin/emctl stop dbconsole; unset ORACLE_SID" su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" rm -f /var/lock/subsys/dbora ;; esacSet the permissions on the dbora file to 700:
$ chmod 700 /etc/init.d/dbora
After creating the dbora file, you need to link it to /etc/rc3.d and /etc/rc0.d for startup and shutdown. You may do this manually as follows:
$ ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora $ ln -s /etc/init.d/dbora /etc/rc5.d/S99dbora $ ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora $ ln -s /etc/init.d/dbora /etc/rc1.d/K10dbora $ ln -s /etc/init.d/dbora /etc/rc2.d/K10dbora $ ln -s /etc/init.d/dbora /etc/rc4.d/K10dbora $ ln -s /etc/init.d/dbora /etc/rc6.d/K10dboraAlternatively, you may use the chkconfig command to create the links as follows:
$ cd /etc/init.d $ /sbin/chkconfig --add dbora
Conclusion
This paper walks you through the intricate details of getting Oracle Database 11g release 2 up and running on a database server running Linux. It may look complicated, but that’s only because this paper goes down to a nitty-gritty level of detail.
Please keep in mind, though, that the requirements are different for every Oracle implementation. We are extremely confident that if you follow these steps to install Oracle Database 11g release 2 (Oracle version 11.2.0) on a server with Red Hat Enterprise Linux and an x86_64 hardware platform, the process will go very smoothly for you. Things should go nearly as smoothly if you use another Linux distribution certified by Oracle or another hardware platform such as x86. However, no single document can address every specific hardware configuration and every set of business needs. Please use this paper as a starting point to get Oracle up and running in your shop. To get the best performance and scalability, each system needs to be considered individually.
Oracle 10g Grid Control Installation On Red Hat Enterprise Linux 3 (RHEL3)
In this article I8217;ll describe the installation of Oracle 10g Grid Control on Red Hat Enterprise Linux 3 (RHEL3). The article is based on a server installation with a minimum of 2G swap and the following package groups installed:
- X Window System
- GNOME Desktop Environment
- Editors
- Graphical Internet
- Text-based Internet
- Server Configuration Tools
- Development Tools
- Administration Tools
- System Tools
The Oracle 10g Grid Control allows you to monitor all aspects of your infrastructure including database and application servers. Like the Oracle9i Management Server it replaces, the grid control requires a database repository. Oracle prefer you to consider the grid control as a separate product and as such advise you to install the Oracle 9.0.1 database it comes shipped with. The reason for this unusual server version is that the grid control is built using Oracle Application Server 10g components which still rely on the 9i database for a metadata repository. Version 10.1.0.3.0 of the grid control can use a 10g database as a repository, but for most platforms there is no natural install path directly to 10g so I think it8217;s better to stick with the product as it is shipped.
The grid control uses agents on each server to enable monitoring and interaction. As a result, once the grid control is installed it is necessary to install an agent on each server you wish to monitor. The installation of an agent is described in it8217;s owner section. All other tasks relate only to the grid control.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Grid Control Installation
- Starting and Stopping Grid Control Services
- Agent Installation
- Starting and Stopping Agent Services
- Issues
Download Software
Download the following software:
For convenience you may want to download the agent distribution separately. If you are monitoring servers on different platforms the relevant agents must be downloaded.
Unpack Files
First unzip the grid control installation files:
gunzip linux_grid_control_10_1_0_2_Disk1.cpio.gz gunzip linux_grid_control_10_1_0_2_Disk2.cpio.gz gunzip linux_grid_control_10_1_0_2_Disk3.cpio.gz
Next unpack the contents of the files:
cpio -idmv < linux_grid_control_10_1_0_2_Disk1.cpio cpio -idmv < linux_grid_control_10_1_0_2_Disk2.cpio cpio -idmv < linux_grid_control_10_1_0_2_Disk3.cpio
You should now have four directories (Disk1, Disk2 & Disk3) containing installation files.
Next unzip the grid control patch:
unzip p3731593_10103_LINUX.zip
You should now see a directory called 8220;37315938243; which contains a Disk1 directory.
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Setup
Install the following packages:
# From RedHat AS3 Disk 2
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh setarch-1.3-1.i386.rpm
rpm -Uvh sysstat-4.0.7-4.i386.rpm
# From RedHat AS3 Disk 3
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh openmotif21-2.1.30-8.i386.rpm
rpm -Uvh ORBit-0.5.17-10.4.i386.rpm
rpm -Uvh libpng10-1.0.13-8.i386.rpm
rpm -Uvh gnome-libs-1.4.1.2.90-34.1.i386.rpm
rpm -Uvh compat-glibc-7.x-2.2.4.32.5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links:
mv /usr/bin/gcc /usr/bin/gcc323 mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/gcc296 /usr/bin/gcc ln -s /usr/bin/g++296 /usr/bin/g++
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/10.1.0/oms mkdir -p /u01/app/oracle/product/10.1.0/agent chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/oms; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:/opt/IBMJava2-131/bin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi
PS1="`hostname`> "
set -o emacs
set filec
Grid Control Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:
./runInstaller
During the installation select the appropriate ORACLE_HOME for the grid control (oms) and select the new database option. The installation will automatically install an agent in the agent home.
Once the installation is complete stop the grid control and the agent using the following commands:
/u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl stopall /u01/app/oracle/product/10.1.0/oms/bin/emctl stop agent
Then issue the following command from the 8220;./3731593/Disk18243; directory:
./runInstaller
During the patch installation select the same ORACLE_HOME for the grid control (oms). Once complete make sure the grid control is up using the following commands:
/u01/app/oracle/product/10.1.0/oms/bin/emctl start agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl startall /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent
On completion the grid control will be available via a browser using the following style of URL:
http://<server-name>:<port>/em
The server name and port should be adjusted to the values specified in the $ORACLE_HOME/sysman/setupinfo.txt files.
Starting and Stopping Grid Control Services
To start the grid control you must start the agent and the web components in the oms home along with the agent in the agent home:
# Start everything /u01/app/oracle/product/10.1.0/oms/bin/emctl start agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl startall /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent # Stop everything /u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent /u01/app/oracle/product/10.1.0/oms/opmn/bin/opmnctl stopall /u01/app/oracle/product/10.1.0/oms/bin/emctl stop agent
Agent Installation
This agent installation assumes you are using a doing an installation on a Linux machine which already has a database or application server installed. As such there are no prerequisites as they should match those of the original product installation.
First, unzip the agent installation and patch set:
gunzip linux_grid_control_agentdwn_10_1_0_2.cpio.gz cpio -idmv < linux_grid_control_agentdwn_10_1_0_2.cpio unzip p3731593_10103_LINUX.zip
Make an appropriate directory for the agent software to be loaded into, like:
mkdir -p /u01/app/oracle/product/10.1.0/agent chown oracle.oinstall /u01/app/oracle/product/10.1.0/agent
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the 8220;./linux/agent8221; directory:
./runInstaller
During the installation select the appropriate ORACLE_HOME for the agent (agent) and enter the machine name of the grid control server.
Once the installation is complete stop the agent using the following command:
/u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent
Then issue the following command from the 8220;./3731593/Disk18243; directory:
./runInstaller
During the patch installation select the same ORACLE_HOME for the agent (agent). Once complete make sure the agent is up using the following command:
/u01/app/oracle/product/10.1.0/agent/bin/emctl start agent
With the installation complete the server should now be visible on the grid controls list of targets.
Starting and Stopping Agent Services
The following commands can be used to start and stop the agent:
# Start Agent /u01/app/oracle/product/10.1.0/agent/bin/emctl start agent # Stop Agent /u01/app/oracle/product/10.1.0/agent/bin/emctl stop agent
Issues
At the time of writing I noticed a few issues relating to the grid control:
- As explained earlier, the grid control requires an Oracle9i (9.0.1) database. I think this is really poor since the old OMS was not subject to this restriction. I understand the reasons for this, but it doesn8217;t mean I have to like it.
- The agents can sometimes take up a considerable amount of CPU and memory. The amusing thing is they actually alert the grid control about this. I8217;ve seen this happen with agents running on both Linux and Tru64 which implies to me that there is something dodgy going on somewhere.
- The normal Enterprise Manager products must be running on each server for administration to be done. By this I mean that the iasconsole and dbconsole must be running on application servers and database servers respectively. As a result you have both the agent and the local enterprise manager product using memory on each server. This can be a massive drain on server resources.
Oracle 10g Release 2 Grid Control Installation On Red Hat Enterprise Linux and CentOS
In this article I8217;ll describe the installation of Oracle 10g Release 2 Grid Control on Red Hat Enterprise Linux and CentOS. The article is based on a server installation with a minimum of 2G swap, secure Linux disabled and the following package groups installed:
- X Window System
- GNOME Desktop Environment
- Editors
- Graphical Internet
- Text-based Internet
- Server Configuration Tools
- Development Tools
- Administration Tools
- System Tools
The Oracle 10g Grid Control allows you to monitor all aspects of your infrastructure including database and application servers. Like the Oracle9i Management Server it replaces, the grid control requires a database repository. A complete installation includes a repository in a 10.1.0.4.0 database. It is possible to install the repository in an existing database of a different version, but I try to install the product as it is shipped.
The grid control uses agents on each server to enable monitoring and interaction. As a result, once the grid control is installed it is necessary to install an agent on each server you wish to monitor. The installation of an agent is described in it8217;s owner section. All other tasks relate only to the grid control.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Grid Control Installation
- Starting and Stopping Grid Control Services
- Agent Installation
- Starting and Stopping Agent Services
Download Software
Download the following software:
For convenience you may want to download the agent distribution separately. If you are monitoring servers on different platforms the relevant agents must be downloaded.
Unpack Files
First unzip the grid control installation files:
unzip Linux_Grid_Control_full_102010_disk1.zip unzip Linux_Grid_Control_full_102010_disk2.zip unzip Linux_Grid_Control_full_102010_disk3.zip
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Modify the /etc/sysctl.conf file to include the lines appropriate to your operating system:
# Red Hat Enterprise Linux 3.0 and CentOS 3.x kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmin = 1 kernel.shmseg = 10 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 # Red Hat Enterprise Linux 4.0 and CentOS 4.x kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.shmall = 2097152 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 net.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:
SELINUX=disabled
Alternatively, this alteration can be done using the GUI tool (Applications > System Settings > Security Level). Click on the SELinux tab and disable the feature.
Setup
The documentation states that the following packages are required by the relevant operating systems:
# Red Hat Enterprise Linux 3.0 and CentOS 3.x glibc-2.2.4-31.7 make-3.79 binutils-2.11.90.0.8-12 gcc-2.96 openmotif21-2.1.30-11 # Red Hat Enterprise Linux 4.0 and CentOS 4.x glibc-2.3.4-2.9 make-3.79 binutils-2.15.92.0.2-13 gcc-3.4.3-22.1 libaio-0.3.96 glibc-common-2.3.4-2.9 setarch-1.6-1 pdksh-5.2.14-30 openmotif21-2.1.30-11 sysstat-5.0.5-1 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-22.1 libstdc++devel-3.4.3-22.1 compat-libstdc++-296-2.96-132.7.2 compat-db-4.1.25-9 control-center-2.8.0-12 xscreensaver-4.18-5.rhel4.2
Depending on the update/respin version of Red Hat or CentOS, the exact package versions and locations may vary. The installation of the required packages is shown below, with the versions and locations relevant for CentOS 4.1. The commented packages represent those that are already loaded.
# From CentOS 4.1 Disk 1 cd /media/cdrom/CentOS/RPMS #rpm -Uvh glibc-2.3.4-2.9.i386.rpm #rpm -Uvh glibc-common-2.3.4-2.9.i386.rpm #rpm -Uvh make-3.80-5.i386.rpm #rpm -Uvh binutils-2.15.92.0.2-13.i386.rpm #rpm -Uvh setarch-1.6-1.i386.rpm #rpm -Uvh pdksh-5.2.14-30.i386.rpm #rpm -Uvh libstdc++-3.4.3-22.1.i386.rpm rpm -Uvh compat-libstdc++-33-3.2.3-47.3.i386.rpm # From CentOS 4.1 Disk 2 cd /media/cdrom/CentOS/RPMS #rpm -Uvh gcc-3.4.3-22.1.i386.rpm #rpm -Uvh gnome-libs-1.4.1.2.90-44.1.i386.rpm #rpm -Uvh libstdc++-devel-3.4.3-22.1.i386.rpm #rpm -Uvh compat-db-4.1.25-9.i386.rpm #rpm -Uvh control-center-2.8.0-12.i386.rpm #rpm -Uvh xscreensaver-4.18-5.rhel4.2.i386.rpm # From CentOS 4.1 Disk 3 cd /media/cdrom/CentOS/RPMS rpm -Uvh libaio-0.3.103-3.i386.rpm rpm -Uvh openmotif21-2.1.30-11.RHEL4.4.i386.rpm rpm -Uvh sysstat-5.0.5-1.i386.rpm rpm -Uvh compat-libstdc++-296-2.96-132.7.2.i386.rpm
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/10.2.0/oms10g mkdir -p /u01/app/oracle/product/10.2.0/db10g mkdir -p /u01/app/oracle/product/10.2.0/agent10g chown -R oracle:oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db10g; export ORACLE_HOME ORACLE_SID=emrep; export ORACLE_SID PATH=.:/usr/sbin:#$ORACLE_HOME/bin:$PATH; export PATH PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; export PATH PS1="`hostname`> " set -o emacs set filec
Grid Control Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the installation software directory:
./runInstaller
During the installation select the appropriate ORACLE_HOME for the grid control (oms) and select the new database option. The installation will automatically install an agent in the agent home. For a more detailed look at the installation process, click on the links below to see screen shots of each stage.
On completion the grid control will be available via a browser using the following style of URL:
http://<server-name>:<port>/em
The server name and port (typically 4889) should be adjusted to the values specified in the $ORACLE_HOME/sysman/setupinfo.txt files.
Starting and Stopping Grid Control Services
The following script shows how the whole grid control is started and stopped:
# Start everything /u01/app/oracle/product/10.2.0/db10g/bin/dbstart /u01/app/oracle/product/10.2.0/oms10g/opmn/bin/opmnctl startall /u01/app/oracle/product/10.2.0/agent10g/bin/emctl start agent # Stop everything /u01/app/oracle/product/10.2.0/agent10g/bin/emctl stop agent /u01/app/oracle/product/10.2.0/oms10g/opmn/bin/opmnctl stopall /u01/app/oracle/product/10.2.0/db10g/bin/dbshut
The dbstart and dbshut commands require the 8220;/etc/oratab8221; file to be editied to allow auto startup/shutdown.
By default, the database supporting the repository is in NOARCHIVELOG mode.
Agent Installation
This agent installation assumes you are using a doing an installation on a Linux machine which already has a database or application server installed. As such there are no prerequisites as they should match those of the original product installation.
First, unpack the agent installation:
gunzip Linux_Grid_Control_agent_download_10_2_0_1.cpio.gz cpio -idmv < Linux_Grid_Control_agent_download_10_2_0_1.cpio
If one doesn8217;t already exist, make an appropriate directory for the agent software to be loaded into, like:
mkdir -p /u01/app/oracle/product chown -R oracle:oinstall /u01
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the 8220;./linux/agent8221; directory:
chmod -R u+x * cd linux/agent ./runInstaller
During the installation, select the 8220;Additional Management Agent8221; option, enter the installation base directory of 8220;/u01/app/oracle/product/10.2.08243; and grid control srver when prompted. The agent will be installed in the 8220;/u01/app/oracle/product/10.2.0/agent10g8221; directory. For a more detailed look at the installation process, click on the links below to see screen shots of each stage.
With the installation complete the server should now be visible on the grid controls list of targets.
Starting and Stopping Agent Services
The following commands can be used to start and stop the agent:
# Start Agent /u01/app/oracle/product/10.2.0/agent10g/bin/emctl start agent # Stop Agent /u01/app/oracle/product/10.2.0/agent10g/bin/emctl stop agent
Oracle 10g Release 5 Grid Control Agent Installation On Linux
- Download Software
- Unpack Files
- Prerequisites
- Installation
- Check Agent Status
- Starting and Stopping the Agent
- YaST
Download Software
Download the Mass Agent Deployment from here.
- Linux_x86_64_Grid_Control_agent_download_10_2_0_5_0.zip
Unpack Files
First unzip the grid control installation files.
cd /host/software/oracle/GridControl mkdir 10205_agent cd 10205_agent unzip ../Linux_x86_64_Grid_Control_agent_download_10_2_0_5_0.zip
Prerequisites
The prerequisites for each platform vary, so it is not worth trying to specify them in this article. Instead, refer to the Prerequisites for your platform in the installation guide. For the most part, if you already have an Oracle product installed on the server, the chances are you have already met all the prerequisites.
Installation
Start the installer using the following command.
$ cd /host/software/oracle/GridControl/10205_agent/linux_x64/agent $ ./runInstaller
Accept the 8220;Additional Management Agent8221; option by clicking the 8220;Next8221; button.
Enter a suitable parent directory, then click the 8220;Next8221; button.
Enter the email and My Oracle Support details if desired, then click the 8220;Next8221; button. If you choose not to enter the details, click the 8220;Yes8221; button on the subsequent message.
Wait while the prerequisite checks are performed. If any fail, correct the issue before proceeding by clicking the 8220;Next8221; button.
Pick the required language support, then click the 8220;Next8221; button.
Enter the management server name and port, then click the 8220;Next8221; button.
Enter the agent registration password defined during the grid control installation, then click the 8220;Next8221; button.
If you are happy with the summary information, click the 8220;Install8221; button.
Wait while the installation completes.
When prompted, run the configuration script as the 8220;root8221; user, then click the 8220;OK8221; button.
Wait while the configuration assistants complete.
If the Agent Configuration Assistant fails to start the agent with a timezone error, enter the correct value for the 8220;agentTZRegion8221; parameter in the 8220;$AGENT_HOME/sysman/config/emd.properties8221; file, delete the following files and retry the configuration step.
$ rm -r /u01/app/oracle/product/agent10g/sysman/emd/state/* $ rm -r /u01/app/oracle/product/agent10g/sysman/emd/collection/* $ rm -r /u01/app/oracle/product/agent10g/sysman/emd/upload/* $ rm /u01/app/oracle/product/agent10g/sysman/emd/lastupld.xml $ rm /u01/app/oracle/product/agent10g/sysman/emd/agntstmp.txt
Click the 8220;exit8221; button.
Check Agent Status
The following command checks the status of the agent.
$ cd /u01/app/oracle/product/agent10g/bin $ ./emctl status agent Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0. Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 10.2.0.5.0 OMS Version : 10.2.0.5.0 Protocol Version : 10.2.0.5.0 Agent Home : /u01/app/oracle/product/agent10g Agent binaries : /u01/app/oracle/product/agent10g Agent Process ID : 1556 Parent Process ID : 1540 Agent URL : https://dg1.localdomain:3872/emd/main/ Repository URL : https://grid.localdomain:1159/em/upload Started at : 2010-01-16 13:24:24 Started by user : oracle Last Reload : 2010-01-16 13:24:24 Last successful upload : 2010-01-16 13:32:38 Total Megabytes of XML files uploaded so far : 9.25 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0.00 Available disk space on upload filesystem : 38.09% Last successful heartbeat to OMS : 2010-01-16 13:32:32 --------------------------------------------------------------- Agent is Running and Ready $
The server should now be visible as a target on the Grid Control.
Starting and Stopping the Agent
The following script shows how the agent is started and stopped:
# Start agent /u01/app/oracle/product/agent10g/bin/emctl start agent # Stop agent /u01/app/oracle/product/agent10g/bin/emctl stop agent
YaST
Yet another Setup Tool (YaST) is used by Grid Control to perform some Linux administration tasks. It is recommended that you install this tool on all Linux hosts monitored by Grid Control. The tool is available here.
Oracle 10g Release 5 Grid Control Installation On Oracle Enterprise Linux (OEL 4.8 64-bit)
In this article I8217;ll describe the installation of Oracle 10g Release 5 (10.2.0.5 64-bit) Grid Control on Oracle Enterprise Linux (OEL 4.8 64-bit). The article is based on a server installation with a minimum of 2G RAM, 4G swap, firewall and secure Linux disabled and the following package groups installed:
- X Window System
- GNOME Desktop Environment
- Editors
- Graphical Internet
- Server Configuration Tools
- Development Tools
- Legacy Software Development
- Administration Tools
- System Tools
The Oracle 10g Grid Control allows you to monitor all aspects of your infrastructure including database and application servers. Like the Oracle9i Management Server it replaces, the grid control requires a database repository. A complete installation includes a repository in a 10g database. It is possible to install the repository in an existing database of a different version, but I try to install the product as it is shipped.
The grid control uses agents on each server to enable monitoring and interaction. As a result, once the grid control is installed it is necessary to install an agent on each server you wish to monitor. The installation of an agent is described in it8217;s owner section. All other tasks relate only to the grid control.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Grid Control Installation (10.2.0.3)
- Grid Control Patch (10.2.0.5)
- Configure Grid Control
- Check the Status of the Grid Control
- Starting and Stopping Grid Control Services
Download Software
Download the following software from here.
- Linux_x86_64_Grid_Control_full_102030_disk1.zip
- Linux_x86_64_Grid_Control_full_102030_disk2.zip
- gc_x86_64_10205_part1of2.zip
- gc_x86_64_10205_part2of2.zip
Notice we8217;ve downloaded the base release (10.2.0.3) and the patch (10.2.0.5).
For convenience you may want to download the agent distribution separately. If you are monitoring servers on different platforms the relevant agents must be downloaded.
Unpack Files
First unzip the grid control installation files.
cd /host/software/oracle/GridControl mkdir 10203 cd 10203 unzip ../Linux_x86_64_Grid_Control_full_102030_disk1.zip unzip ../Linux_x86_64_Grid_Control_full_102030_disk2.zip cd .. mkdir 10205 cd 10205 unzip ../gc_x86_64_10205_part1of2.zip unzip ../gc_x86_64_10205_part2of2.zip unzip p3731593_10205_Linux-x86-64.zip
Hosts File
The 8220;/etc/hosts8221; file must contain a fully qualified name for the server.
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Modify the 8220;/etc/sysctl.conf8221; file to include the lines appropriate to your operating system.
kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 # semaphores: semmsl, semmns, semopm, semmni net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144
Run the following command to change the current kernel parameters.
/sbin/sysctl -p
Add the following entries to the 8220;/etc/security/limits.conf8221; file.
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
Append the following entry to the 8220;/etc/pam.d/login8221; file.
session required pam_limits.so
Disable secure linux by editing the 8220;/etc/selinux/config8221; file, making sure the SELINUX flag is set as follows.
SELINUX=disabled
Alternatively, this alteration can be done using the GUI tool (Applications > System Settings > Security Level). Click on the SELinux tab and disable the feature.
Setup
Install the required packages, some of which may already be present.
# From OEL 4.8 X86_64 DVD cd /media/cdrom/Enterprise/RPMS rpm -Uvh glibc-2* rpm -Uvh make-3* rpm -Uvh binutils-2* rpm -Uvh gcc-3* rpm -Uvh libaio-0* rpm -Uvh glibc-common-2* rpm -Uvh setarch-1* rpm -Uvh pdksh-5* rpm -Uvh openmotif21* rpm -Uvh sysstat-5* rpm -Uvh gnome-libs-1* rpm -Uvh compat-db-4* rpm -Uvh compat-db-4.1.25-9.i386.rpm rpm -Uvh control-center-2* rpm -Uvh xscreensaver-4* rpm -Uvh glibc-devel-2* rpm -Uvh glibc-devel-2.3.4-2.43.i386.rpm rpm -Uvh libgcc-3* rpm -Uvh compat-gcc* rpm -Uvh compat-glibc* rpm -Uvh compat-libgcc-296* rpm -Uvh libstdc++-devel-3* rpm -Uvh libgcc-3.4.6-11.0.1.i386.rpm rpm -Uvh compat-libstdc++-296* rpm -Uvh compat-libstdc++-33-3.2.3-47.3.i386.rpm rpm -Uvh libstdc++-3* rpm -Uvh openmotif2* rpm -Uvh freetype-devel* rpm -Uvh fontconfig-devel* rpm -Uvh xorg-x11-devel* rpm -Uvh --force xorg-x11-deprecated-libs*
Create the new groups and users.
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed.
mkdir -p /u01/app/oracle/product chown -R oracle.oinstall /u01
Login as root and issue the following command.
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the 8220;.bash_profile8221; file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/db10g; export ORACLE_HOME
AGENT_HOME=$ORACLE_BASE/product/agent10g; export AGENT_HOME
OMS_HOME=$ORACLE_BASE/product/oms10g; export OMS_HOME
ORACLE_HOSTNAME=grid.localdomain; export ORACLE_HOSTNAME
ORACLE_SID=emrep; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$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
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Grid Control Installation (10.2.0.3)
The quickest way to install a fully patched version of the grid control on a clean system is to perform software-only silent install with no configuration steps. First take a copy of the 8220;em_with_new_db.rsp8221; response file from the 8220;102038243; software directory.
cp /host/software/oracle/GridControl/10203/Disk1/response/em_with_new_db.rsp /tmp
Amend the entries in the 8220;/tmp/em_with_new_db.rsp8221; response file to suit your installation requirements. For this installation I used the following values. All other values in the response file were left unchanged.
UNIX_GROUP_NAME="oinstall" FROM_LOCATION="/host/software/oracle/GridControl/10203/Disk1/rdbms/Disk1/stage/products.xml" BASEDIR="/u01/app/oracle/product" INSTALLATION_NAME="oms10g" s_gdbName="emrep.localdomain" s_mountPoint="/u01/app/oracle/oradata" s_operGroup="dba" s_adminGroup="dba" b_emailSelected=true s_emailAddress="admin@oracledocs.com" s_emailServer="localhost" s_securePassword="oms10gPassword" s_securePasswordConfirm="oms10gPassword" b_lockedSelected=false b_passwordsDifferent=false b_passwordsSame=true s_reposPwd="oms10gPassword" s_reposPwdConfirm="oms10gPassword"
The installation was then started in silent mode using the response file as follows.
$ cd /host/software/oracle/GridControl/10203/Disk1/ $ ./runInstaller -noconfig -ignoreSysPrereqs -silent -responseFile /tmp/em_with_new_db.rsp use_prereq_checker=false
On completion of the installation, the following configuration scripts were run as root.
# /u01/app/oracle/oraInventory/orainstRoot.sh # cd /u01/app/oracle/product/db10g # ./allroot.sh
At this point the software installation is complete, but the database and Oracle Management Server (OMS) have not been configured. Before patching, all OMS processes must be stopped using the following command.
$ $OMS_HOME/opmn/bin/opmnctl stopall
Grid Control Patch (10.2.0.5)
Both the Oracle Management Server (OMS) and the Agent are patched separately using variations on the same 8220;patchset.rsp8221; response file from the 8220;102058243; software. Take a copy of the 8220;patchset.rsp8221; response file.
cp /host/software/oracle/GridControl/10205/3731593/Disk1/response/patchset.rsp /tmp/patchset_oms.rsp
Amend the contents of the 8220;/tmp/patchset_oms.rsp8221; file, changing only the values listed below. Leave all other values unchanged.
UNIX_GROUP_NAME="oinstall"
FROM_LOCATION="/host/software/oracle/GridControl/10205/3731593/Disk1/stage/products.xml"
ORACLE_HOME="/u01/app/oracle/product/oms10g"
b_softwareonly=true
b_startOMS=false
s_sysPassword="oms10gPassword"
sl_pwdInfo={ "oms10gPassword" }
oracle.iappserver.st_midtier:szl_InstanceInformation={ "oms10gPassword" }
Start the silent installation of the patch software for the OMS with the following command.
$ cd /host/software/oracle/GridControl/10205/3731593/Disk1 $ ./runInstaller -noconfig -silent -responseFile /tmp/patchset_oms.rsp
Once the installation is complete, run the configuration script as the root user.
# cd /u01/app/oracle/product/oms10g # ./root.sh
This script does not produce any output.
To patch the Agent, copy the 8220;patchset_oms.rsp8221; file.
cp /tmp/patchset_oms.rsp /tmp/patchset_agent.rsp
Only the following value needs to be changed in the 8220;/tmp/patchset_agent.rsp8221;. All other settings match those for the OMS patch.
ORACLE_HOME="/u01/app/oracle/product/agent10g"
Start the silent installation of the patch software for the Agent with the following command.
$ cd /host/software/oracle/GridControl/10205/3731593/Disk1 $ ./runInstaller -noconfig -silent -responseFile /tmp/patchset_agent.rsp
Once the installation is complete, run the configuration script as the root user.
# cd /u01/app/oracle/product/agent10g # ./root.sh
Configure Grid Control
Assuming all the installations and patches have completed with no errors we can now configure the database and the OMS.
Configure the database using the following command.
$ cd $ORACLE_HOME/oui/bin $ ./runConfig.sh ORACLE_HOME=/u01/app/oracle/product/db10g ACTION=configure MODE=perform
Once the database is configured, issue the following command to configure the OMS.
$ export PERL5LIB=$OMS_HOME/perl/lib/5.6.1 $ $OMS_HOME/perl/bin/perl $OMS_HOME/sysman/install/ConfigureGC.pl /u01/app/oracle/product
Both configuration steps can take quite some time, so be patient.
The OMS configuration includes configuration of the Agent. The last part of this configuration is an attempt to start the Agent. If the agent fails to start with a timezone error, enter the correct value for the 8220;agentTZRegion8221; parameter in the 8220;$AGENT_HOME/sysman/config/emd.properties8221; file, delete the following files and start the agent.
$ rm -r $AGENT_HOME/sysman/emd/state/* $ rm -r $AGENT_HOME/sysman/emd/collection/* $ rm -r $AGENT_HOME/sysman/emd/upload/* $ rm $AGENT_HOME/sysman/emd/lastupld.xml $ rm $AGENT_HOME/sysman/emd/agntstmp.txt $ $ $AGENT_HOME/bin/emctl start agent
The Grid control is now configured.
Check the Status of the Grid Control
The following command checks the status of the OMS.
$ $OMS_HOME/bin/emctl status oms Oracle Enterprise Manager 10g Release 5 Grid Control Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. Oracle Management Server is Up. $
The following command check the status of the agent on the Grid Control server.
$ $AGENT_HOME/bin/emctl status agent Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0. Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 10.2.0.5.0 OMS Version : 10.2.0.5.0 Protocol Version : 10.2.0.5.0 Agent Home : /u01/app/oracle/product/agent10g Agent binaries : /u01/app/oracle/product/agent10g Agent Process ID : 29246 Parent Process ID : 29230 Agent URL : https://grid.localdomain:3872/emd/main/ Repository URL : https://grid.localdomain:1159/em/upload Started at : 2010-01-15 15:59:34 Started by user : oracle Last Reload : 2010-01-15 15:59:34 Last successful upload : 2010-01-15 16:18:53 Total Megabytes of XML files uploaded so far : 14.65 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0.00 Available disk space on upload filesystem : 64.90% Last successful heartbeat to OMS : 2010-01-15 16:18:44 --------------------------------------------------------------- Agent is Running and Ready $
To access the grid control, use the URL specified in the 8220;$OMS_HOME/sysman/setupinfo.txt8221; file. In my case the URL is shown below.
https://grid.localdomain:1159/em
Starting and Stopping Grid Control Services
The following script shows how the whole grid control is started and stopped:
# Start everything $ORACLE_HOME/bin/dbstart $ORACLE_HOME $OMS_HOME/opmn/bin/opmnctl startall $AGENT_HOME/bin/emctl start agent # Stop everything $AGENT_HOME/bin/emctl stop agent $OMS_HOME/opmn/bin/opmnctl stopall $ORACLE_HOME/bin/dbshut $ORACLE_HOME
The dbstart and dbshut commands require the 8220;/etc/oratab8221; file to be editied to allow auto startup/shutdown.
By default, the database supporting the repository is in NOARCHIVELOG mode.
Oracle Application Server 10g (9.0.4) Installation On Fedora Core 1 (FC1)
In this article I8217;ll describe the installation of Oracle Application Server 10g (9.0.4), Oracle8217;s J2EE Application Server, on Fedora Core 1. The article assumes you8217;ve performed the standard server installation including the development tools.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the following software:
Unpack Files
First unzip the files:
gunzip ias904_linux_disk1.cpio.gz gunzip ias904_linux_disk2.cpio.gz gunzip ias904_linux_disk3.cpio.gz gunzip ias904_linux_disk4.cpio.gz
Next unpack the contents of the files:
cpio -idmv < ias904_linux_disk1.cpio cpio -idmv < ias904_linux_disk2.cpio cpio -idmv < ias904_linux_disk3.cpio cpio -idmv < ias904_linux_disk4.cpio
You should now have four directories (Disk1, Disk2, Disk3 & Disk4) containing installation files.
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 142 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Setup
Install the following packages:
# From Fedora Core 1 Disk 1 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh setarch-1.0-1.i386.rpm rpm -Uvh ORBit-0.5.17-10.3.i386.rpm rpm -Uvh libpng10-1.0.13-9.i386.rpm # From Fedora Core 1 Disk 2 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh gnome-libs-1.4.1.2.90-35.i386.rpm # From Fedora Core 1 Disk 3 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh compat-libstdc++-7.3-2.96.118.i386.rpm rpm -Uvh compat-libstdc++-devel-7.3-2.96.118.i386.rpm rpm -Uvh compat-db-4.0.14-2.i386.rpm rpm -Uvh compat-gcc-7.3-2.96.118.i386.rpm rpm -Uvh compat-gcc-c++-7.3-2.96.118.i386.rpm rpm -Uvh sysstat-4.0.7-5.i386.rpm rpm -Uvh openmotif21-2.1.30-8.i386.rpm rpm -Uvh pdksh-5.2.14-23.i386.rpm
Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links:
mv /usr/bin/gcc /usr/bin/gcc323 mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/gcc296 /usr/bin/gcc ln -s /usr/bin/g++296 /usr/bin/g++
Install the 3006854 patch:
unzip p3006854_9204_LINUX.zip cd 3006854 sh rhel3_pre_install.sh
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/904_j2ee chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/904_j2ee; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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
LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi
PS1="`hostname`> "
set -o emacs
set filec
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:
./runInstaller
The AS10g installer checks for required packages. It will produce the following list of missing packeges:
>>> Package gcc-3.2.3-20 is missing >>> Package compat-gcc-7.3-2.96.122 is missing >>> Package compat-gcc-c++-7.3-2.96.122 is missing >>> Package compat-libstdc++-7.3-2.96.122 is missing >>> Package compat-libstdc++-devel-7.3-2.96.122 is missing >>> Package setarch-1.3-1 is missing >>> Package gnome-libs-1.4.1.2.90-34.1 is missing >>> Package libstdc++-3.2.3 is missing >>> Package compat-libstdc++-devel-7.3-2.96.122 is missing >>> Package compat-glibc-7.x-2.2.4.32.5 is missing
You can either quit and install these packages or continue with the installation as we8217;ve installed newer versions of them.
During the installation enter the appropriate ORACLE_HOME and name then continue with the installation.
Post Installation
With the installation complete you can perform any administration tasks using Enterprise Manager:
- Connect to the Enterprise Manager Website (http://<fully-qualified-machine-name>:1810) using the username 8220;ias_admin8221; and the password you assigned during the installation. If EM is not available start it with the 8220;emctl start iasconsole8221; command.
- Stop enterprise manager by issuing the 8220;emctl stop iasconsole8221; command.
Oracle Application Server 10g (9.0.4) Installation On Fedora Core 2 (FC2)
In this article I8217;ll describe the installation of Oracle Application Server 10g (9.0.4), Oracle8217;s J2EE Application Server, on Fedora Core 2. The article assumes you8217;ve performed the standard server installation including the development tools.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the following software:
Unpack Files
First unzip the files:
gunzip ias904_linux_disk1.cpio.gz gunzip ias904_linux_disk2.cpio.gz gunzip ias904_linux_disk3.cpio.gz gunzip ias904_linux_disk4.cpio.gz
Next unpack the contents of the files:
cpio -idmv < ias904_linux_disk1.cpio cpio -idmv < ias904_linux_disk2.cpio cpio -idmv < ias904_linux_disk3.cpio cpio -idmv < ias904_linux_disk4.cpio
You should now have four directories (Disk1, Disk2, Disk3 & Disk4) containing installation files.
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 142 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Setup
Install the following packages:
# From Fedora Core 2 Disk 1 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh setarch-1.4-1.i386.rpm rpm -Uvh tcl-8.4.5-7.i386.rpm rpm -Uvh ORBit2-2.10.0-2.i386.rpm rpm -Uvh libpng-1.2.2-22.i386.rpm # From Fedora Core 2 Disk 2 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh libpng10-1.0.13-13.i386.rpm rpm -Uvh gnome-libs-1.4.1.2.90-40.i386.rpm # From Fedora Core 2 Disk 3 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh compat-libstdc++-7.3-2.96.126.i386.rpm rpm -Uvh compat-libstdc++-devel-7.3-2.96.126.i386.rpm rpm -Uvh compat-db-4.1.25-2.1.i386.rpm rpm -Uvh compat-gcc-7.3-2.96.126.i386.rpm rpm -Uvh compat-gcc-c++-7.3-2.96.126.i386.rpm rpm -Uvh openmotif21-2.1.30-9.i386.rpm rpm -Uvh pdksh-5.2.14-24.i386.rpm # From Fedora Core 2 Disk 4 cd /mnt/cdrom/Fedora/RPMS rpm -Uvh sysstat-5.0.1-2.i386.rpm
Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links:
mv /usr/bin/gcc /usr/bin/gcc323 mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/gcc296 /usr/bin/gcc ln -s /usr/bin/g++296 /usr/bin/g++
Install the 3006854 patch:
unzip p3006854_9204_LINUX.zip cd 3006854 sh rhel3_pre_install.sh
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/904_j2ee chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/904_j2ee; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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
LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi
PS1="`hostname`> "
set -o emacs
set filec
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:
./runInstaller
The AS10g installer checks for required packages. It will produce the following list of missing packeges:
>>> Package gcc-3.2.3-20 is missing >>> Package compat-gcc-7.3-2.96.122 is missing >>> Package compat-gcc-c++-7.3-2.96.122 is missing >>> Package compat-libstdc++-7.3-2.96.122 is missing >>> Package compat-libstdc++-devel-7.3-2.96.122 is missing >>> Package setarch-1.3-1 is missing >>> Package sysstat-4.0.7 is missing >>> Package gnome-libs-1.4.1.2.90-34.1 is missing >>> Package libstdc++-3.2.3 is missing >>> Package compat-libstdc++-devel-7.3-2.96.122 is missing >>> Package compat-glibc-7.x-2.2.4.32.5 is missing
You can either quit and install these packages or continue with the installation as we8217;ve installed newer versions of them.
During the installation enter the appropriate ORACLE_HOME and name then continue with the installation.
Post Installation
With the installation complete you can perform any administration tasks using Enterprise Manager:
- Connect to the Enterprise Manager Website (http://<fully-qualified-machine-name>:1810) using the username 8220;ias_admin8221; and the password you assigned during the installation. If EM is not available start it with the 8220;emctl start iasconsole8221; command.
- Stop enterprise manager by issuing the 8220;emctl stop iasconsole8221; command.
Oracle Application Server 10g (9.0.4) Installation On Red Hat Enterprise Linux 3 (RHEL3)
In this article I8217;ll describe the installation of Oracle Application Server 10g (9.0.4), Oracle8217;s J2EE Application Server, on Red Hat Enterprise Linux 3 (RHEL3). The article assumes you8217;ve performed the standard advanced server installation including the development tools.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the following software:
Unpack Files
First unzip the files:
gunzip ias904_linux_disk1.cpio.gz gunzip ias904_linux_disk2.cpio.gz gunzip ias904_linux_disk3.cpio.gz gunzip ias904_linux_disk4.cpio.gz
Next unpack the contents of the files:
cpio -idmv < ias904_linux_disk1.cpio cpio -idmv < ias904_linux_disk2.cpio cpio -idmv < ias904_linux_disk3.cpio cpio -idmv < ias904_linux_disk4.cpio
You should now have four directories (Disk1, Disk2, Disk3 & Disk4) containing installation files.
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 142 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Setup
Install the following packages:
# From RedHat AS3 Disk 2
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh setarch-1.3-1.i386.rpm
rpm -Uvh sysstat-4.0.7-4.i386.rpm
# From RedHat AS3 Disk 3
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh openmotif21-2.1.30-8.i386.rpm
rpm -Uvh ORBit-0.5.17-10.4.i386.rpm
rpm -Uvh libpng10-1.0.13-8.i386.rpm
rpm -Uvh gnome-libs-1.4.1.2.90-34.1.i386.rpm
rpm -Uvh compat-glibc-7.x-2.2.4.32.5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
Put gcc296 and g++296 first in $PATH variable by creating the following symbolic links:
mv /usr/bin/gcc /usr/bin/gcc323 mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/gcc296 /usr/bin/gcc ln -s /usr/bin/g++296 /usr/bin/g++
Install the 3006854 patch:
unzip p3006854_9204_LINUX.zip cd 3006854 sh rhel3_pre_install.sh
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/904_j2ee chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/904_j2ee; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:/opt/IBMJava2-131/bin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi
PS1="`hostname`> "
set -o emacs
set filec
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:
./runInstaller
During the installation enter the appropriate ORACLE_HOME and name then continue with the installation.
Post Installation
With the installation complete you can perform any administration tasks using Enterprise Manager:
- Connect to the Enterprise Manager Website (http://<fully-qualified-machine-name>:1810) using the username 8220;ias_admin8221; and the password you assigned during the installation. If EM is not available start it with the 8220;emctl start iasconsole8221; command.
- Stop enterprise manager by issuing the 8220;emctl stop iasconsole8221; command.
Oracle Application Server 10g (9.0.4) Installation On RedHat Advanced Server 2.1
In this article I8217;ll describe the installation of Oracle Application Server 10g (9.0.4), Oracle8217;s J2EE Application Server, on RedHat Advanced Server 2.1. The article assumes you8217;ve performed the standard advanced server installation including the development tools. The base release of the kernel does not support Oracle AS 10g so you must run up2date before proceeding.
- Download Software
- Unpack Files
- Hosts File
- Set Kernel Parameters
- Setup
- Installation
- Post Installation
Download Software
Download the following software:
Unpack Files
First unzip the files:
gunzip ias904_linux_disk1.cpio.gz gunzip ias904_linux_disk2.cpio.gz gunzip ias904_linux_disk3.cpio.gz gunzip ias904_linux_disk4.cpio.gz
Next unpack the contents of the files:
cpio -idmv < ias904_linux_disk1.cpio cpio -idmv < ias904_linux_disk2.cpio cpio -idmv < ias904_linux_disk3.cpio cpio -idmv < ias904_linux_disk4.cpio
You should now have four directories (Disk1, Disk2, Disk3 & Disk4) containing installation files.
Hosts File
The /etc/hosts file must contain a fully qualified name for the server:
<IP-address> <fully-qualified-machine-name> <machine-name>
Set Kernel Parameters
Add the following lines to the /etc/sysctl.conf file:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 142 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 256 32000 100 142 fs.file-max = 131072 net.ipv4.ip_local_port_range = 20000 65000 kernel.msgmni = 2878 kernel.msgmax = 8192 kernel.msgmnb = 65535
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
* soft nproc 16384 * hard nproc 16384 * soft nofile 65536 * hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Setup
Install the following packages:
# From RedHat AS2.1 Disk 1 cd /mnt/cdrom/RedHat/RPMS rpm -Uvh openmotif-2.1.30-11.i386.rpm # From RedHat AS2.1 Disk 2 cd /mnt/cdrom/RedHat/RPMS rpm -Uvh pdksh-5.2.14-13.i386.rpm rpm -Uhh compat-glibc-6.2-2.1.3.2.i386.rpm
Create the new groups and users:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba -s /bin/ksh oracle passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/904_j2ee chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +<machine-name>
Login as the oracle user and add the following lines at the end of the .profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/904_j2ee; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:/opt/IBMJava2-131/bin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; 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
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi
PS1="`hostname`> "
set -o emacs
set filec
Installation
Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the Disk1 directory:
./runInstaller
During the installation enter the appropriate ORACLE_HOME and name then continue with the installation.
Post Installation
With the installation complete you can perform any administration tasks using Enterprise Manager:
- Connect to the Enterprise Manager Website (http://<fully-qualified-machine-name>:1810) using the username 8220;ias_admin8221; and the password you assigned during the installation. If EM is not available start it with the 8220;emctl start iasconsole8221; command.
- Stop enterprise manager by issuing the 8220;emctl stop iasconsole8221; command.










































