Total Pageviews

Sunday, November 27, 2011

Steps to Install Oracle10g Developer Suit in Linux(Fedora 10)

1. Download Oracle Developer Suite10g for Linux.

This includes the full distribution of Oracle Developer Suite 10g
- Oracle Forms Developer
- Oracle Reports Developer
- Oracle JDeveloper

File Segments
as_linux_x86_ids_101202_disk1.cpio (620,520,448 bytes) (cksum - 3772729309)
as_linux_x86_ids_101202_disk2.cpio (176,651,776 bytes) (cksum - 1501472911)


2. Create user in which you wish to install Developement suit.

# useradd oradev
# passwd oradev
Changing password for user oradev
New UNIX password:
Retype new UNIX password:
passwd: all authentication
tokens updated successfully


4. Install Location

Suppose you're installing it in /home/oradev directory, copy the cpio files to these location.
Extract each uncompressed downloadable using "cpio" as root user.

# cat as_linux_x86_ids_101202_disk1.cpio | cpio -icd
# cat as_linux_x86_ids_101202_disk2.cpio | cpio -icd


8. runInstaller

1. Log in as oradev and runInstaller

# cd Disk1
# ./runInstaller

If you are asked to run any scripts while installation to change permissions and create directories, please run that script. Another error you might get during installation is relink error. Please run this script if you get any relink error.

/home/oradev/OraHome_1/bin/OracleAS_Relink_Patch.sh


Post Installation.

Set the following environment variables.

export ORACLE_HOME=/home/oradev/OraHome_1

export LD_LIBRARY_PATH=/home/oradev/OraHome_1/lib:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/server:/home/oradev/OraHome_1/jdk/jre/lib/i386/native_threads:/home/oradev/OraHome_1/jdk/jre/lib/i386/client:/home/oradev/OraHome_1/jre/1.4.2/lib/i386/client:/home/oradev/OraHome_1/jre/1.4.2/lib/i386/server

export MALLOC_CHECK_=0


The installation of Developer Suite 10g was successful. You can access it using the following scripts.

Form Builder:
$ORACLE_HOME/bin/frmbld.sh

Report Builder:
$ORACLE_HOME/bin/rwbuilder.sh

Start OC4J:
$ORACLE_HOME/j2ee/DevSuite/startinst.sh

Stop OC4J:
$ORACLE_HOME/j2ee/DevSuite/stopinst.sh

Friday, November 18, 2011

Steps to Install Oracle 10g in Linux(Fedora 13)

1) Create the new groups and users for installation

$ groupadd oinstall
$ groupadd dba
$ useradd -g oinstall -G dba oracle
$ passwd oracle


2) Fedora Core Packages required for Installation

$ yum install setarch-*
$ yum install tcl-*
$ yum installlibXau-devel-* libXp-*
$ yum installcompat-db-*
$ yum install compat-libstdc++-33*
$ yum install compat-libf2c-34-*
$ yum install compat-gcc-34-*
$ yum install libaio-*
$ yum install compat-gcc-34-c++-*
$ yum install compat-libstdc++-296*
$ yum install compat-libgcc-296*


$ rpm -Uvh openmotif21-2.1.30-14.i386.rpm


3) Checking Memory and Swap Space

Oracle recommends at least 512MB of RAM and 1GB of swap space or twice the size of RAM on the
system. For testing purpose, you can work even with 256MB as well.
To check the size of physical memory, run the following command.

$ grep MemTotal /proc/meminfo
To check the size of swap space, run the following command.

$ grep SwapTotal /proc/meminfo

What if you don’t have enough swap space?
You can add temporary swap space to your system by creating a temporary swap file instead of using
a raw device. Below is the procedure.
Login as root (su - root)
$ dd if=/dev/zero of=tmpswap bs=1k count=900000
$ chmod 600 tmpswap
$ mkswap tmpswap
$ swapon tmpswap
You can also disable the temporary swap space using the following commands.
Login as root (su - root)
$ swapoff tmpswap
$ rm tmpswap


4) Checking temporary (/tmp) Space

Oracle recommends that you should have up to 400 MB space.
To check the space in /tmp, run the following command.
$ df /tmp

What if I don’t have enough temporary space?
If you do not have enough space in the /tmp filesystem, you can temporarily create a tmp directory in
another file system. Below is the procedure to create it.
Login as root (su - root)
$ mkdir //tmp # e.g. mkdir /u02/tmp
$ chown root.root //tmp
$ chmod 1777 //tmp
$ export TEMP=/ # This is used by Oracle
$ export TMPDIR=/ # This is used by Linux programs like the linker "ld"
After Oracle installation is done, you can remove the temporary /tmp directory. I would recommend to
shutdown Oracle first.
Login as root (su - root)
$ rmdir //tmp
$ unset TEMP
$ unset TMPDIR


5) Set Kernel Parameters
Perform the following changes in the kernel parameters.
i. Add the following lines to the /etc/sysctl.conf file.
Login as root (su - root)
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# 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

6) Run the following command to change the current kernel parameters.
$ /sbin/sysctl -p

7) Add the following lines to the /etc/security/limits.conf file.

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

8) Add the following line to the /etc/pam.d/login file, if it does not already exist.

session required /lib/security/pam_limits.so

9) Disable secure linux in the /etc/selinux/config file. You can do by setting value of SELINUX as
follows.

SELINUX=disabled

10) Copy the oracle zip file to "/home/oracle/"

Downloading the software and unpacking installation files

"10201_database_linux32.zip" (668,734,007 bytes) (cksum - 2737423041)

11) Uncompress the file using unzip
$ unzip 10201_database_linux32.zip
You should now have a single directory (db/Disk1) containing installation files.

12) Paste the following lines in /home/oracle/.bash_profile
--------------------------
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/oracle/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORCL; 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
--------------------------

13) Change the redhat release information
Edit the /etc/redhat-release file replacing the current release information (Fedora 13) with the following. You can copy the original file somewhere else as it will be required after
installation.

redhat-4

14) Start the Oracle Universal Installer (OUI)

As Oracle user, go to the Disk1 directory and start the Oracle Universal Installer (OUI) by issuing the
following command.

$ ./runInstaller


15)Once successfully installed we can access it using the the following URL.

iSQL*Plus URL:
http://localhost:5560/isqlplus

iSQL*Plus DBA URL:
http://localhost:5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:
http://localhost:1158/em


Post Installation Steps
------------------------

1) Edit the '/etc/oratab' file to as given below.

orcl:/home/oracle/oracle/product/10.2.0/db_1:Y

# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME::

2) Edit "/home/oracle/oracle/product/10.2.0/db_1/bin/dbstart" file.
Please make sure that oracle home is set correctly in this file.

I am pasting few lines of the orginal script.
=====================
#Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
else
LOG=$ORACLE_HOME_LISTNER/listener.log

# Start Oracle Net Listener
if [ -f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then
echo "$0:
=====================

#Correct the ORACLE_HOME_LISTNER path as your ORACLE_HOME, I have given this as

ORACLE_HOME_LISTNER=/home/oracle/oracle/product/10.2.0/db_1

3) Create a start up script to start all oracle related services.

File name : /etc/init.d/dbora
===============================================================
#!/bin/bash
#
# chkconfig: 12345 99 10
# description: Oracle auto start-stop script
# --------------------------------------------------------------------------
# File: oracle
#
# Purpose: Oracle auto start-stop script
#
# Location: /etc/init.d
#
# Certified: Oracle 10.2.0.3 on Enterprise Linux 5
# --------------------------------------------------------------------------
# Variables
ORACLE_OWNER=oracle; export ORACLE_OWNER
ORACLE_BASE=/home/oracle/oracle; export ORACLE_BASE
ORACLE_SCRIPTS_DIR=$ORACLE_BASE/product/10.2.0/db_1/bin; export ORACLE_SCRIPTS_DIR
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
RETVAL=0
prog="oracle"
start() {
echo -n $"Starting $prog: "
if [ ! -f $ORACLE_SCRIPTS_DIR/dbstart ]
then
echo "Oracle not started (no dbstart script)"
else
# Start RDBMS
su - $ORACLE_OWNER -c $ORACLE_SCRIPTS_DIR/dbstart
# Start Enterprise Manager Console
su - $ORACLE_OWNER $ORACLE_HOME/bin/emctl start dbconsole
# Start iSQL*Plus
su - $ORACLE_OWNER $ORACLE_HOME/bin/isqlplusctl start
fi
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/oracle
return $RETVAL
}
stop() {
echo -n $"Shutting down $prog: "
if [ ! -f $ORACLE_SCRIPTS_DIR/dbshut ]
then
echo "Oracle not stopped (no dbshut script)"
else
# Stop iSQL*Plus
su - $ORACLE_OWNER $ORACLE_HOME/bin/isqlplusctl stop
# Stop Enterprise Manager Console
su - $ORACLE_OWNER $ORACLE_HOME/bin/emctl stop dbconsole
# Stop RDBMS
su - $ORACLE_OWNER -c $ORACLE_SCRIPTS_DIR/dbshut
fi
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/oracle
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
exit $RETVAL

===============================================================

4) Then add the script in chkconfig.

su - root
chkconfig --add oracle
chkconfig --list oracle


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

Done! Nothing more to do.

Reboot your machine and check whether enterprise manager is running :)