Get a Free iPhone 4 from Xpango - click here
Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Friday, October 8, 2010

Oracle 11g Release 2 Installation on Linux


Installation of Oracle 11g Release 2 on Linux.

Supported Operating Systems

on 32-bit Linux:

Asianux 2 Update 7 (Kernel 2.6.9 or later)
Asianux 3 (Kernel 2.6.18 or later)
Oracle Enterprise Linux 4 Update 7 (Kernel 2.6.9 or later)
Oracle Enterprise Linux 5 Update 2 (Kernel 2.6.18 or later)
Red Hat Enterprise Linux 4 Update 7 (Kernel 2.6.9 or later)
Red Hat Enterprise Linux 5 Update 2 (Kernel 2.6.18 or later)
SUSE Linux Enterprise Server 10 SP2 (Kernel 2.6.16.21 or later)
SUSE Linux Enterprise Server 11 (2.6.27.19 or later)

Oracle Database 11g Release 2 is not certified on fedora 13.I will show you the workaround to install on Fedora 13.

Set Kernel Parameters.
Edit /etc/sysctl.conf file to add these kernel parameters.The file should reflect this value

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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=104858

Execute the following command to update the parameters

# /sbin/sysctl -p

Add the following lines to 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 line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so

Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:

SELINUX=disabled

For Fedora 13
Edit /etc/redhat-release file as follows:

redhat release 5


Some additional packages are required for succesful installation of Oracle software. To check whether required packages are installed on your operating system use following command:

rpm -q binutils elfutils elfutils-libelf gcc gcc-c++ glibc glibc-common glibc-devel compat-libstdc++-33 cpp make compat-db sysstat libaio libaio-devel unixODBC unixODBC-devel| ksh sysstat make
Create new groups and users:

groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin

useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle

Create Directories in which Oracle software will be installed:

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 755 /u01


Login as oracle user and add the following lines at the end of .bash_profile file

# Oracle Settings
ORACLE_HOSTNAME=localhost; export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.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


Login as root and enter the following command:
xhost +

Download Oracle Database 11g R2 from Oracle and place the two file into the same directory:
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
You should now have a single directory called database.

Run the Oracle Universal Installer
cd database
./runInstaller


In Fedora 13 ,you will get link error:
Error invoking target 'agent nmhs' of make file

To fix it:
Edit $ORACLE_HOME/sysman/lib/ins_emagent.mk,
Search for the line $(MK_EMAGENT_NMECTL) and replace the line with $(MK_EMAGENT_NMECTL) -lnnz11
Make sure Installer is open.Once file is saved click retry.





Friday, August 13, 2010

How to install Oracle 11g on Linux


In this article i'm going to explain step by step installation of Oracle 11g Release 1 on RHEL 4 and 5,Enterprise Linux 4 and 5 by Oracle.This version is certified by Oracle.Article also covers guide for Centos Linux 4 and 5.

Guide includes:

1.Pre-Installation Steps
2.Installation
3.Post-Installation Steps.



Pre-Installation Steps:


1. Create oracle users and groups.
groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba,oper oracle
passwd oracle


2. Set Kernel Parameters

Edit /etc/sysctl.conf and add following lines.
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

execute sysctl command
# sysctl -p

or
reboot to apply above changes.

For RedHat (OEL, Centos, WBL) 4 version: Edit the /etc/pam.d/login file and add following line:
session required /lib/security/pam_limits.so

For RedHat (OEL, Centos) 5 version: Edit the /etc/pam.d/login file and add following line:
session required pam_limits.so


Edit the /etc/security/limits.conf file and add following lines:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


3. Creating oracle directories
mkdir -p /u01/app/oracle/product/11.1.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

4. Setting Oracle Enviroment
Edit the /home/oracle/.bash_profile file and add following lines:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
ORACLE_SID=ORCL
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

Save the .bash_profile and execute following commands to load new user enviroment:
cd /home/oracle
. .bash_profile
Login as root and issue the following command:
xhost +


Some additional packages are required for succesful installation of Oracle software. To check whether required packages are installed on your operating system use following command:

rpm -q binutils elfutils elfutils-libelf gcc gcc-c++ glibc glibc-common glibc-devel compat-libstdc++-33 cpp make compat-db sysstat libaio libaio-devel unixODBC unixODBC-devel|sort


Installation:

Download the Oracle 11g release 1 (11.1.0.6.0) software from Oracle website.
Extract the files using following command:
unzip linux_11gR1_database.zip


Now the system is prepared for Oracle software installation. To start the installation process go to database directory and execute the following commands:
cd database
./runInstaller


Click here for screenshot

Post-Instalation:
Auto Startup and Shutdown of Database and Listener
Login as root and modify /etc/oratab file and change last character to Y for apropriate database.
ORCL:/u01/app/oracle/product/11.1.0/db_1:Y
As root user create new file "oracle" (init script for startup and shutdown the database) in /etc/init.d/ directory with following content:
#!/bin/bash
#
# oracle Init file for starting and stopping
# Oracle Database. Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Oracle Database startup script

# Source function library.

. /etc/rc.d/init.d/functions

ORACLE_OWNER="oracle"
ORACLE_HOME="/u01/app/oracle/product/11.1.0/db_1"

case "$1" in
start)
echo -n $"Starting Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
Execute (as root) following commands (First script change the permissions, second script is configuring execution for specific runlevels):
chmod 750 /etc/init.d/oracle
chkconfig --add oracle --level 0356
Auto Startup and Shutdown of Enterprise Manager Database Control
As root user create new file "oraemctl" (init script for startup and shutdown EM DB Console) in /etc/init.d/ directory with following content:
#!/bin/bash
#
# oraemctl Starting and stopping Oracle Enterprise Manager Database Control.
# Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Enterprise Manager DB Control startup script

# Source function library.

. /etc/rc.d/init.d/functions

ORACLE_OWNER="oracle"
ORACLE_HOME="/u01/app/oracle/product/11.1.0"

case "$1" in
start)
echo -n $"Starting Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
Execute (as root) following commands (First script change the permissions, second script is configuring execution for specific runlevels):
chmod 750 /etc/init.d/oraemctl
chkconfig --add oraemctl --level 0356
You may consider to use rlwrap for comfortable work with sqlplus and adrci utility. RPM package for RedHat compatible (x86) distribution you can download here.
su -
# rpm -ivh rlwrap-0.24-rh.i386.rpm
# exit
echo "alias sqlplus='rlwrap sqlplus'" >> /home/oracle/.bash_profile
echo "alias adrci='rlwrap adrci'" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile