User:Mrjazzman: Difference between revisions

From FAIWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Current Works ==
== Current Works ==


 
[[ User:Mrjazzman/OracleBase ]]
== Oracle ==
=== Package Configs ===
Firstly you need a copy of '''libaio'''. You can google for the deb package. I installed this on my private debian mirror
 
package_config/ORACLE
<pre>
PACKAGES install
binutils
libdb2
libdb3
libdb4.1
libdb1-compat
cpp-3.3
gcc-3.3
libstdc++5-3.3-dev
libstdc++2.10-glibc2.2
base-files
netbase
libc6
libc6-dev
make
vncserver
libaio
gcc
</pre>
 
=== Scripting ===
The following is used to setup the various parts of the system so that the oracle installer will work without problems.
 
scripts/ORACLE/10-setup
<pre>
#!/bin/bash
 
#
#
#
# Configure a server to run Oracle
# Create Users
echo "dba:x:900:oracle" >> ${target}/etc/group
echo "dba:x:900:oracle" >> ${target}/etc/group-
echo "oinstall:x:901:"  >> ${target}/etc/group
echo "oinstall:x:901:"  >> ${target}/etc/group-
echo "oinstall:!::" >> ${target}/etc/gshadow
echo "oinstall:!::" >> ${target}/etc/gshadow-
echo "dba:!::oracle" >> ${target}/etc/gshadow
echo "dba:!::oracle" >> ${target}/etc/gshadow-
echo "oracle:x:1000:901::/home/oracle:/bin/bash" >> ${target}/etc/passwd
echo "oracle:$1$LgAZMIrX$63LaKC66qMXeLS/xj/PFv1:13230:0:99999:7:::" >> ${target}/etc/shadow
echo "nobody:x:1800:" >> ${target}/etc/group
echo "nobody:!::" >> ${target}/etc/gshadow
 
#
# Create Directories
 
mkdir -p ${target}/u01/app/oracle
mkdir -p ${target}/u01/oradata 
mkdir    ${target}/home/oracle
chown -R 1000:901 ${target}/home/oracle
chown -R 1000:901 ${target}/u01 
chmod -R 775 ${target}/u01
 
#
# Fix System Details
cat >> ${target}/etc/sysctl.conf << EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF
 
 
cat >> ${target}/etc/security/limits.conf << EOF
*              soft    nproc  2047
*              hard    nproc  16384
*              soft    nofile  1024
*              hard    nofile  65536
EOF
 
cat >> ${target}/etc/profile << EOF
# For Oracle
if [ \$USER = "oracle" ]; then
  if [ \$SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
  else
      ulimit -u 16384 -n 65536
  fi
fi
EOF
 
#
# Fake Being Redhat
echo "Red Hat Enterprise Linux AS release 3 (Taroon)" > ${target}/etc/redhat-release
 
 
#
# Setup defaults for the oracle user.
cat >> ${target}/home/oracle/.bash_profile << EOF
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=\${HOSTNAME}
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1/
export ORACLE_BASE ORACLE_SID ORACLE_HOME
export LD_LIBRARY_PATH=/usr/lib:\$ORACLE_HOME/lib
unset TNS_ADMIN
EOF
 
#
# Setup the init scripts
fcopy /etc/init.d/oracle
</pre>
 
 
=== Init Script ===
The init script is copy'd using '''fcopy''' during the script phase of the installation. Below is the init script used to start oracle
 
files/etc/init.d/oracle/ORACLE
<pre>
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
 
ORA_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORA_OWNR="oracle"
 
# if the executables do not exist -- display error
 
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi
 
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
 
case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0
</pre>

Revision as of 12:11, 18 April 2006