Differences

This shows you the differences between two versions of the page.

Link to this comparison view

oracle [2013/11/01 18:56] (current)
a created
Line 1: Line 1:
 +====== Oracle ======
 +<note important>​This article need editing and rewriting!</​note>​
 +
 +===== Oracle Install Tips - 10g on RHEL5 =====
 +
 + 
 +Install requisite packages
 +
 +    yum -y install setarch-2*
 +
 +    yum -y install make-3*
 +    yum -y install glibc-2*
 +    yum -y install libaio-0*
 +    yum -y install compat-libstdc++-33-3*
 +    yum -y install compat-gcc-34-3*
 +    yum -y install compat-gcc-34-c++-3*
 +    yum -y install gcc-4*
 +    yum -y install libXp-1*
 +    yum -y install openmotif-2*
 +    yum -y install compat-db-4*
 +
 +Update /etc/hosts with correct servername
 +        10.1.4.200 ​    ​oracle.sysxperts.com oracle
 + 
 +Update /​etc/​security/​limits.conf
 +
 +    oracle soft nproc 15360
 +
 +    oracle hard  nproc  16384
 +    oracle soft  nofile 64512
 +    oracle hard  nofile 65536
 +
 +Create users and groups
 +
 +    groupadd dba
 +    useradd -g dba oracle; echo "​mypass"​ |passwd --stdin oracle
 +
 +Create directories and chown for oracle
 +
 +     mkdir -p /​u01/​app/​oracle/​product/​10.2.0/​db_1
 +
 +     chown -R oracle.dba /u01
 +
 +Make sure SELINUX is disabled in /​etc/​selinux/​config and reboot if it was enabled:
 +            SELINUX=disabled
 + 
 +Update /​etc/​sysctl.conf with:
 +
 +    # Controls the maximum shared segment size, in bytes  - see kernel and hugepages info
 +    kernel.shmmax = 68719476736
 +    # Controls the maximum number of shared memory segments, in pages
 +    kernel.shmall = 4294967296
 +    kernel.sem = 250 32000 100 128
 +    fs.file-max = 104032
 +    net.ipv4.ip_local_port_range = 1024 65000
 +    net.core.rmem_default = 1048576
 +    net.core.rmem_max = 1048576
 +    net.core.wmem_default = 262144
 +    net.core.wmem_max = 262144
 +
 +     
 +    run sysctl -p  #activates new kernel parameters  ​
 +
 +To mount an NFS share for backups:
 +nas.sysxperts.com:/​Archive ​   /​archive_fs ​    ​nfs ​    ​hard,​nolock,​vers=3,​proto=tcp,​bg,​rsize=32768,​wsize=32768,​timeo=600,​intr 0 0
 +nas.sysxperts.com:/​Brchive ​   /​backup_fs ​    ​nfs ​    ​hard,​nolock,​vers=3,​proto=tcp,​bg,​rsize=32768,​wsize=32768,​timeo=600,​intr 0 0
 + 
 + 
 +Edit the oracle users ~/​.bash_profile ​
 +
 +    # 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/​db_1;​ export ORACLE_HOME
 +    ORACLE_SID=TEST;​ 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 
 +
 + 
 +
 +Start vncserver with (install with yum -y install vnc-server if necessary):
 +
 +    vncserver
 +
 +    vncpasswd
 +
 + 
 +
 +Establish vnc session and run xhost + as root
 + 
 +
 +Extract cpio with:
 +
 +cpio -idmv < 10201_database_linux_x86_64.cpio
 +
 + 
 +
 +cd to directory where cpio command was run
 +
 + 
 +
 +./​database/​runInstaller
 +
 + 
 +
 +download latest patch and unzip
 +
 +./​Disk1/​runInstaller
 +
 + 
 +To uninstall run the deinstaller from the latest patch Disk1/​runInstaller
 +
 + 
 +Edit /etc/oratab and set restart flag for TEST instance
 +    TEST:/​u01/​app/​oracle/​product/​10.2.0/​db_1:​Y
 +
 +sar and dstat is useful for stats on server - yum -y install sysstat dstat
 +ls -lattr /​var/​log/​sa ​ and choose the filename with the date you want to see stats for then
 +    sar -A /​var/​log/​sa/​saXX
 +
 +man sar and dstat are your friends
 + 
 +See oracle automated startup for init setup (http://​docs.google.com/​View?​docid=dfxjbxcc_155dbzfvtg8)
 +
 +++++++++++++++++++++++++++
 +
 +Oracle 10g/​11g ​ Automated Startup and Shutdown on RedHat ​
 +Create file /​etc/​init.d/​oracle with following code and change file to be executable
 + 
 +#!/bin/sh
 +# chkconfig: 345 99 01
 +# description:​ Oracle
 +#
 +#
 +ORACLE=oracle
 +case $1 in
 +'​start'​)
 +        cat <<​-"​EOF"​|su - ${ORACLE}
 +        # Start Oracle Net
 +        if [ -f ${ORACLE_HOME}/​bin/​tnslsnr ] ;
 +        then
 +                echo "​starting Oracle Net Listener"​
 +                ${ORACLE_HOME}/​bin/​lsnrctl start
 +        fi
 +        echo "​Starting Oracle databases"​
 +        ${ORACLE_HOME}/​bin/​dbstart
 +        ${ORACLE_HOME}/​bin/​emctl start dbconsole
 +EOF
 +        ;;
 +'​stop'​)
 +        cat <<​-"​EOF"​|su - ${ORACLE}
 +        echo "​shutting down dbconsole"​
 +        ${ORACLE_HOME}/​bin/​emctl stop dbconsole
 +        # Stop Oracle Net
 +        if [ -f ${ORACLE_HOME}/​bin/​tnslsnr ] ;
 +        then
 +                echo "​stopping Oracle Net Listener"​
 +                ${ORACLE_HOME}/​bin/​lsnrctl stop
 +        fi
 +        echo "​stopping Oracle databases"​
 +        ${ORACLE_HOME}/​bin/​dbshut
 +EOF
 +        ;;
 +*)
 +        echo "​usage:​ $0 {start|stop}"​
 +        exit
 +        ;;
 +esac
 +#
 +exit
 + 
 +Run:
 +chkconfig oracle on
 + 
 +Update the oracle user .bash_profile as follows:
 +export ORACLE=oracle
 +export ORACLE_SID=`cat /etc/oratab |sed -e '​s/:​.*'​ -e '​s/#​.*'​ -e '/​^$/​d'​|head -1`
 +export PATH=$PATH:/​usr/​local/​bin
 +export ORAENV_ASK="​NO"​
 +. /​usr/​local/​bin/​oraenv
 + 
 +Update /etc/oratab with your instances
 +orcl:/​u01/​oracle/​product/​11.1.0/​db_1:​Y
 +orcltest:/​u01/​oracle/​product/​11.1.0/​db_1:​Y
 +
 +Alternatively if you want to use your own start scripts you could do the following (BUT WHY?):
 + 
 +Create an /​etc/​init.d/​oracle script with:
 +#!/bin/sh
 +#
 +#oracle agent init script
 +#chkconfig: 2345 97 05
 +#​description:​ oracle
 +# Source function library.
 +if [ -f /​etc/​init.d/​functions ] ; then
 +        . /​etc/​init.d/​functions
 +elif [ -f /​etc/​rc.d/​init.d/​functions ] ; then
 +        . /​etc/​rc.d/​init.d/​functions
 +else
 +        exit 0
 +fi
 +prog=oracle
 +ORAHOME=/​oracle/​home/​scripts
 +AGENT_USER=oracle
 +email=pvalentino@sysxperts.com
 +start () {
 +        echo -n $"​Starting $prog: "
 +        # start daemon
 +        if [ -e "/​tmp/​orastat"​ ]
 +        then
 +        su - ${AGENT_USER} -c "cd ${ORAHOME}; ./​orastart"​
 +        rm -rf /​tmp/​orastat
 +        else
 +        mail -s "​`hostname` orastart failed"​ $email < /tmp/stat
 +        fi
 +        RETVAL=$?
 +        echo
 +        [ $RETVAL = 0 ] && touch /​var/​lock/​subsys/​oracle
 +        return $RETVAL
 +}
 +stop () {
 +        # stop daemon
 +        echo -n $"​Stopping $prog: "
 +        su - ${AGENT_USER} -c "cd ${ORAHOME};​./​orastop"​
 +        RETVAL=$?
 +        if  "​$RETVAL"​ = 0  ;then touch /​tmp/​orastat;​else mail -s "​`hostname` orastop failed"​ $email < /​tmp/​stat;​fi
 +        echo
 +        [ $RETVAL = 0 ] && touch /​var/​lock/​subsys/​oracle
 +        return $RETVAL
 +}
 +restart() {
 +        stop
 +        start
 +}
 +case $1 in
 +        start)
 +                start
 +        ;;
 +        stop)
 +                stop
 +        ;;
 +        restart|reload)
 +                restart
 +        ;;
 +        condrestart)
 +                [ -f /​var/​lock/​subsys/​ora ] && restart || :
 +        ;;
 +        *)
 +        echo $"​Usage:​ $prog {start|stop|restart|condrestart|reload }"
 +        exit 1
 +esac
 +exit $RETVAL
 +
 +And your orastart and orastop scripts would have all of the startup procedures you would like to run in a custom fashion i.e.
 + 
 +orastart:
 +. /​home/​oracle/​scripts/​orastart_TEST
 +lsnrctl start
 +#
 +mail -s "**** TEST databases started ***" _DBA@sysxperts.com < /​home/​oracle/​scripts/​orastart
 + 
 + 
 +orastart_TEST:​
 +. /​home/​oracle/​ora10.env
 +#############​ This will start Oracle in TEST ######################​
 +export ORACLE_SID=TEST
 +sqlplus '/ as sysdba'​ <<EOF
 +startup
 +EOF
 +#
 +
  
oracle.txt ยท Last modified: 2013/11/01 18:56 by a
CC Attribution-Noncommercial-Share Alike 4.0 International
Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 ipv6 ready