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 )
-
Anforderungen: mind. 1GB MEM, Swap mind. 1,5*MEM, mind. 2GB HDD rein für die Grundinstallation, kein DHCP.
- System für die Installation vorbereiten (als root ausführen)
#!/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):
-
Archivelog einschalten (alter database archivelog;)
-
Flashback einschalten (alter database flashback on;)
-
Flashback Zeitraum einstellen (alter system set db_flashback_retention_target = 4320;)
-
Flashback Filegröße einstellen (alter system set db_recovery_file_dest_size=20G;)
-
Redologs in verschiedene Verzeichnisse spiegeln
-
Controlfiles an verschiedene Orte legen
-
RMAN-Backup einrichten