• VMware

    Learn about VMware virtualization for its products like vsphere ESX and ESXi, vCenter Server, VMware View, VMware P2V and many more

  • Linux

    Step by step configuration tutorials for many of the Linux services like DNS, DHCP, FTP, Samba4 etc including many tips and tricks in Red Hat Linux.

  • Database

    Learn installation and configuration of databases like Oracle, My SQL, Postgresql, etc including many other related tutorials in Linux.

  • Life always offers you a second chance ... Its called tomorrow !!!

    Wednesday, June 05, 2013

    Oracle database 10gR2 installation in RedHat 5.4

    In this post I'll show you the steps required to install Oracle Database 10g Release 2 on Red Hat Enterprise Linux 5.4 (64-bit)

    Assuming you have downloaded Oracle Database 10g R2 from their official website.

    If not you can get it from the below mentioned link

    For my case I have disable Selinux. Please make sure you apply relevant policy for selinux in case you have it enforcing state.

    Prerequisites before installing Oracle 10gR2 


    • GUI Environment
    Make sure you have a running GUI environment with all the packages inside group GNOME or KDE package installed.

    You can do the same using
    # yum groupinstall "GNOME Desktop Environment" "X Window System"
    In case you want to use KDE desktop you can select the KDE group package instead of GNOME

    • Memory and Swap space
    You can follow the below table which is as per the Oracle standards for installing Oracle Database 10g in a 64 bit Linux machine

    RAM
    Swap Space
    Up to 512 MB
    2 times the size of RAM
    Between 1024 MB and 2048 MB
    1.5 times the size of RAM
    Between 2049 MB and 8192 MB
    Equal to the size of RAM
    More than 8192 MB
    0.75 times the size of RAM
    NOTE: In case you donot have enough swap memory space in your machine the follow this page for
    How to increase Swap Memory size in Linux

    You can check the RAM and SWAP space using this command
    # free -m
                 total       used       free     shared    buffers     cached
    Mem:          4392       4352         39          0        149       3828
    -/+ buffers/cache:        374       4018
    Swap:         6399          0       6399

    NOTE: In case you have assigned a different partition size for /tmp directory then make sure it has minimum 400 MB free space.

    • Hosts File
    Your hosts file should be proper as shown below
    # vi /etc/hosts 
    127.0.0.1 localhost.localdomain localhost
    ::1 localhost6.localdomain6 localhost6
    10.10.20.41 test.example test

    Your machine should have a proper hostname. To check use the below command
    # hostname 
    test.example
      • Kernel Parameters
      For Oracle 10g, the following kernel parameters have to be set to values greater than or equal to the recommended values.

      To verify shmmax
      # cat /proc/sys/kernel/shmmax 
      shmmax = 2147483648

      To verify shmmni
      # cat /proc/sys/kernel/shmmni 
      shmmni = 4096

      To verify the shmall parameter
      # cat /proc/sys/kernel/shmall 
      shmall = 2097152

      To verify shmmin
      # ipcs -lm |grep "min seg size"
      shmmin = 1

      Note that shmseg is hardcoded in the kernel, the default is much higher.
      shmseg = 10

      To verify semmsl
      # cat /proc/sys/kernel/sem | awk '{print $1}' 
      semmsl = 250

      To verify semmns
      # cat /proc/sys/kernel/sem | awk '{print $2}' 
      semmns = 32000

      To verify semopm
      # cat /proc/sys/kernel/sem | awk '{print $3}' 
      semopm = 100

      To verify semmni
      # cat /proc/sys/kernel/sem | awk '{print $4}' 
      semmni = 128

      To verify file-max
      # cat /proc/sys/fs/file-max
      file-max = 65536

      To verify ip_local_port_range
      # cat /proc/sys/net/ipv4/ip_local_port_range 
      ip_local_port_range = 1024 65000
      In case your default kernel parameter is less than the above mentioned parameters then you will have to change them. This is how you can add or change these parameters:

      Add the following lines in sysctl.conf
      # vi /etc/sysctl.conf
      kernel.sem = 250 32000 100 128
      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 refresh the kernel parameters just added
      # sysctl -p

      To view all the kernel parameters
      # sysctl -a

      Add the following lines to the "/etc/security/limits.conf" file.
      *    soft    nproc     2047 
      *    hard    nproc     16384
      *    soft    nofile    1024
      *    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
      • RPM pre-requisites
      Make sure the following rpm version is equal or greater installed in your machine
      gcc-3.4.4-2
      gcc-c++-3.4.4-2
      libstdc++-devel-3.4.4-2
      libgcc-4.1.2-50
      cpp-3.4.4-2
      compat-libf2c-34-3.4.6-4.1
      compat-libcom_err-1.0-7
      glibc-2.3.4-2.13
      glibc-common-2.3.4-2.13
      glibc-devel-2.3.4-2.13
      glibc-headers-2.3.4-2.13
      gnome-libs-1.4.1.2.90-44.1
      compat-db-4.1.25-9
      sysstat-5.0.5-1
      libaio-0.3.103-3
      openmotif21-2.1.30-11
      xorg-x11-deprecated-libs-6.8.2-1
      compat-libstdc++-33-3.2.3-47.3
      make-3.80-5libXp-1.0.0
      • User and Group
      You have to create a different user and group who will run the database
      # useradd oracle
      # groupadd dba
      
      # usermod -G dba oracle
      So we have added oracle user to dba group using the above command.

      • Create home directory
      # mkdir -p /u01/oracle/product/10.2.0/db_3/ 
      # mkdir /u01/oraInventory
      
      # chown -R /u01
      # chmod -R oracle:dba /u01
      We will use the standard format for creating the oracle database. Create a directory with the name used above.

      • Specify the Display protocol
      Log in to oracle user
      # su - oracle
      $ export $DISPLAY=localhost:0.0

      NOTE: In case you get DISPLAY related errors at the installation stage follow this page
      How to specify DISPLAY protocol

      • Installation
      Go to the location where you have downloaded and unzipped the database setup file using oracle user
      # su - oracle
      

      $ cd /database10gr2/database/
      $ ./runInstaller

      You will get the below screen. Change the Oracle Home location as the directory row created in "Create Home Directory" section of this blog

      (Click on the images in case you find trouble reading the texts)
      Give database password in the provided section

















      Give the directory path as mentioned below
















      Make sure you get "Succeeded" in all the pre-requisite section. In case you get a failure at any of the parameter, Re-check the failed parameter and it is advised not to move to next step until and unless all the  pre-requisite are "Passed"

















      Click on Next and Finish the installation














      Follow the link for step by step installation guide of Oracle Database 11gR2 in Red Hat Linux

      Follow the below links for more articles:


      0 comments:

      Post a Comment