Installation

Oracle 11g Installation

Diese Anleitung wurde für CentOS 5 geschrieben und getestet. Sie sollte aber auf andere Systeme übertragbar sein.

#!/bin/sh

yum -y install gcc binutils make libaio compat-libstdc++-296 compat-libstdc++-33 libaio-devel sysstat unixODBC unixODBC-devel

groupadd -g 1000 oracle
groupadd -g 1001 oinstall
groupadd -g 1002 dba
useradd  -u 1000 -p oracle -g oinstall -G dba oracle

mkdir /oracle
mkdir /oracle/11g
chown -R oracle.oinstall /oracle
mkdir /osource

cat >> /etc/sysctl.conf << EOF

#Added for Oracle Installation
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
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144
EOF
/sbin/sysctl -p

cat >> /home/oracle/.bash_profile << EOF

#Added for Oracle Installation
umask 022
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/11g
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=/oracle/11g/bin:$PATH:.
LD_LIBRARY_PATH=$ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

# koennte Probleme machen
export NLS_LANG=american;
export NLS_DATE_FORMAT='DD.MM.YYYY HH24:MI:SS';
EOF

passwd oracle
Oracle Init-Script (Datenbank vorher in /etc/oratab aktivieren)
#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
# /etc/init.d/oracle

export ORACLE_HOME=/oracle/11g
export PATH=$PATH:$ORACLE_HOME/bin

case "$1" in
start)
  su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
  touch /var/lock/oracle
  echo "OK"
  ;;
stop)
  echo -n "Shutdown Oracle: "
  su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
  rm -f /var/lock/oracle
  echo "OK"
  ;;
  *)
  echo "Usage: 'basename $0' start|stop"
  exit 1
esac

exit 0

wichtige URLs nach der Installation:

iSQL*Plus URL:
http://<domain.tld>:5560/isqlplus

iSQL*Plus DBA URL:
http://<domain.tld>:5560/isqlplus/dba

Enterprise Manager 11g Database Control URL:
http://<domain.tld>:1158/em

Database Control URL:
http://<domain.tld>:5500/em

Jetzt sollte man die Installation noch absichern (in der mount-Phase):

Oracle 10g2 Installation

Diese Anleitung wurde für CentOS 4.5 geschrieben und getestet. Sie sollte aber auf andere Systeme übertragbar sein. Die Anleitung funktioniert auch mit CentOS 5, dort muss der Installer allerdings mit der Option „-ignoreSysPrereqs“ gestartet werden (thx @ http://www.oliver-schaef.de )

#!/bin/sh

yum -y install gcc binutils make libaio compat-libstdc++-296 compat-libstdc++-33

groupadd -g 1000 oracle
groupadd -g 1001 oinstall
groupadd -g 1002 dba
useradd  -u 1000 -p oracle -g oinstall -G dba oracle

mkdir /oracle
mkdir /oracle/10g
chown -R oracle.oinstall /oracle
mkdir /osource

cat >> /etc/sysctl.conf << EOF

#Added for Oracle Installation
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
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
EOF
/sbin/sysctl -p

cat >> /home/oracle/.bash_profile << EOF

#Added for Oracle Installation
umask 022
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/10g
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=/oracle/10g/bin:$PATH:.
LD_LIBRARY_PATH=$ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH

# koennte Probleme machen
export NLS_LANG=american;
export NLS_DATE_FORMAT='DD.MM.YYYY HH24:MI:SS';
EOF

passwd oracle

Oracle Init-Script (Datenbank vorher in /etc/oratab aktivieren)

#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
# /etc/init.d/oracle

export ORACLE_HOME=/oracle/10g
export PATH=$PATH:$ORACLE_HOME/bin

case "$1" in
start)
  su oracle -c $ORACLE_HOME/bin/dbstart
  touch /var/lock/oracle
  echo "OK"
  ;;
stop)
  echo -n "Shutdown Oracle: "
  su oracle -c $ORACLE_HOME/bin/dbshut
  rm -f /var/lock/oracle
  echo "OK"
  ;;
  *)
  echo "Usage: 'basename $0' start|stop"
  exit 1
esac

exit 0

wichtige URLs nach der Installation:

iSQL*Plus URL:
http://<domain.tld>:5560/isqlplus

iSQL*Plus DBA URL:
http://<domain.tld>:5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:
http://<domain.tld>:1158/em

Database Control URL:
http://<domain.tld>:5500/em

im Script $ORACLE_HOME/bin/dbstart, welches aus dem init-File aufgerufen wird, ist ein Fehler in Zeile 78:

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

der richtige Pfad lautet z.B. (i.d.R. das $ORACLE_HOME):

ORACLE_HOME_LISTNER=/oracle/10g

das Script dbshut sollte auch noch gepatched werden, um den Listener beim Shutdown zu stoppen

cd $ORACLE_HOME/bin

eine Datei dbshut.patch mit folgendem Inhalt erzeugen:

--- dbshut.old  2007-06-20 08:59:29.000000000 +0200
+++ dbshut      2007-06-20 08:58:23.000000000 +0200
@@ -55,6 +55,23 @@
 # Save LD_LIBRARY_PATH
 SAVE_LLP=$LD_LIBRARY_PATH

+# Set this to stop Oracle Net Listener
+ORACLE_HOME_LISTNER=/oracle/10g
+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: Stopping Oracle Net Listener" >> $LOG 2>&1
+    $ORACLE_HOME_LISTNER/bin/lsnrctl stop >> $LOG 2>&1 &
+    #export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`
+  else
+    echo "Failed to stop Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr"
+  fi
+fi
+
 # Set this in accordance with the platform
 ORATAB=/etc/oratab
 if [ ! $ORATAB ] ; then

danach einfach ein:

patch -p0 < dbshut.patch

Jetzt sollte man die Installation noch absichern (in der mount-Phase):