Bitte geben Sie mir die Anleitung zur Installation von Oracle 11gr2 unter Ubuntu 14.04.
Bitte geben Sie mir die Anleitung zur Installation von Oracle 11gr2 unter Ubuntu 14.04.
Antworten:
Kopieren Sie die heruntergeladene Datei und fügen Sie sie in das Basisverzeichnis ein.
Mit folgendem Befehl entpacken:
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Installieren Sie die erforderlichen Pakete mit dem folgenden Befehl:
sudo apt-get install alien libaio1 unixodbc
Geben Sie den folgenden Befehl in den Ordner "Disk1" ein:
cd Disk1/
Konvertieren Sie das RPM-Paketformat in das DEB-Paketformat (das von Ubuntu verwendet wird) mit dem folgenden Befehl:
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
Erstellen Sie das erforderliche chkconfig-Skript mit dem folgenden Befehl:
sudo pico /sbin/chkconfig
Der Pico-Texteditor wird gestartet und die Befehle werden am unteren Bildschirmrand angezeigt. Kopieren Sie nun folgendes und fügen Sie es in die Datei ein und speichern Sie:
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01
Ändern Sie die Berechtigung der Datei chkconfig mit dem folgenden Befehl:
sudo chmod 755 /sbin/chkconfig
Stellen Sie die Kernel-Parameter ein. Oracle 11gR2 XE erfordert zusätzliche Kernel-Parameter, die Sie mit dem folgenden Befehl festlegen müssen:
sudo pico /etc/sysctl.d/60-oracle.conf
Kopieren Sie folgendes in die Datei und speichern Sie:
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912
Überprüfen Sie die Änderung mit dem Befehl:
sudo cat /etc/sysctl.d/60-oracle.conf
Sie sollten sehen, was Sie zuvor eingegeben haben. Laden Sie nun die Kernel-Parameter:
sudo service procps start
Überprüfen Sie, ob die neuen Parameter geladen wurden, indem Sie Folgendes verwenden:
sudo sysctl -q fs.file-max
Sie sollten den File-Max-Wert sehen, den Sie zuvor eingegeben haben.
Richten Sie den Mount-Punkt / dev / shm für Oracle ein. Erstellen Sie die folgende Datei mit dem Befehl:
sudo pico /etc/rc2.d/S01shm_load
Kopieren Sie folgendes in die Datei und speichern Sie.
#!/bin/sh
case "$1" in
start)
mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
*)
echo error
exit 1
;;
esac
Ändern Sie die Berechtigungen der Datei mit dem Befehl:
sudo chmod 755 /etc/rc2.d/S01shm_load
Führen Sie nun folgende Befehle aus:
sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener
Starten Sie jetzt Ihr System neu
Installieren Sie das Oracle-DBMS mit dem folgenden Befehl:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
Konfigurieren Sie Oracle mit dem folgenden Befehl:
sudo /etc/init.d/oracle-xe configure
Richten Sie Umgebungsvariablen ein, indem Sie Ihre .bashrc-Datei bearbeiten:
pico ~/.bashrc
Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
Laden Sie die Änderungen, indem Sie Ihr Profil ausführen:
. ~/.bashrc
Starten Sie das Oracle 11gR2 XE:
sudo service oracle-xe start
Fügen Sie den Benutzer YOURUSERNAME mit dem folgenden Befehl zur Gruppe dba hinzu:
sudo usermod -a -G dba YOURUSERNAME
Starten Sie den Oracle XE 11gR2-Server mit dem folgenden Befehl:
sudo service oracle-xe start
Starten Sie die Befehlszeilen-Shell als Systemadministrator mit dem folgenden Befehl:
sqlplus sys as sysdba
Geben Sie das Kennwort ein, das Sie bei der Konfiguration von Oracle angegeben haben. Sie werden nun in eine SQL-Umgebung versetzt, die nur SQL-Befehle versteht.
Erstellen Sie mit dem SQL-Befehl ein reguläres Benutzerkonto in Oracle:
create user USERNAME identified by PASSWORD;
Ersetzen Sie USERNAME und PASSWORD durch den Benutzernamen und das Passwort Ihrer Wahl. Bitte merken Sie sich diesen Benutzernamen und das Passwort. Wenn bei der Ausführung des obigen Befehls ein Fehler aufgetreten ist, führen Sie den folgenden SQL-Befehl aus und versuchen Sie es erneut:
alter database open resetlogs;
Gewähren Sie dem Benutzerkonto Berechtigungen mit dem SQL-Befehl:
grant connect, resource to USERNAME;
Ersetzen Sie USERNAME und PASSWORD durch den Benutzernamen und das Passwort Ihrer Wahl. Bitte merken Sie sich diesen Benutzernamen und das Passwort.
Beenden Sie die Sys-Admin-Shell mit dem SQL-Befehl:
exit;
Starten Sie die Kommandozeilen-Shell als normaler Benutzer mit dem folgenden Befehl:
sqlplus
Jetzt können Sie SQL-Befehle ausführen ...
Starting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
/etc/rc2.d/S01shm_load
scheint zu fehlen und ;;
zeigt das Ende einer Alternative in Zeile 7 an.
sudo service procps restart
anstelle vonsudo service procps start
Vielen Dank für das ausführliche Tutorial, aber ich habe eine Fehlermeldung erhalten
touch: cannot touch '/var/lock/subsys/listener' ..
im schritt sudo /etc/init.d/oracle-xe configure
. Wie auf http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html vorgeschlagen, habe ich die folgenden Zeilen hinzugefügt/etc/init.d/oracle-xe
if [ -L /dev/shm ]; then
rm -rf /dev/shm
mkdir /dev/shm
mount -t tmpfs shmfs -o size=2048m /dev/shm
fi
if [ ! -d /var/lock/subsys ]; then
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
fi
... und es funktioniert gut für mich
/etc/rc2.d/S01shm_load
in Saikats Antwort einen Fehler enthält. Dies zu beheben wäre eine sauberere Lösung. Ich bearbeite die Antwort mit dem richtigen Skript.
Dies hat gut funktioniert, aber ich habe den folgenden Fehler bekommen:
sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
failed!
Etwas nachgehen:
systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'
Ich habe es gelöst, indem ich einfach einen Benutzer hinzugefügt habe:
sudo adduser oracle
Hoffe das hilft jemandem.