So installieren Sie Oracle 11g unter Ubuntu Linux: Vollständige Anleitung
Oracle-Datenbank ist eine zuverlässige, plattformübergreifende Datenbankverwaltungssoftware, die von der Oracle Corporation entwickelt wurde. Sie bietet eine Reihe von Vorteilen, darunter hohe Leistung, umfangreiche Funktionalität, Cluster-Unterstützung, PL/SQL-Unterstützung usw. Oracle-Datenbank (in diesem Blogbeitrag als „Oracle“ bezeichnet) kann unter Solaris, Windows und Linux installiert werden. Die Installation unter Windows ist am einfachsten, während die Installation von Oracle unter Solaris und Linux eine manuelle Konfiguration vor der Installation erfordert. Was Linux-Distributionen betrifft, empfiehlt Oracle die Installation der Oracle-Datenbanken auf Red Hat, Oracle Linux und SUSE Linux Enterprise Server.
Sie können Oracle jedoch auch unter Ubuntu Linux und OpenSUSE Linux installieren. Ubuntu ist eine beliebte Linux-Distribution, die weltweit weit verbreitet ist. Der heutige Blogbeitrag enthält eine Schritt-für-Schritt-Anleitung zur Installation von Oracle unter Ubuntu. In diesem Tutorial werden wir die Oracle-Datenbank Enterprise Edition (EE) 11g R2 unter Ubuntu installieren.
Vorbereitung auf Ubuntu Linux
In diesem Tutorial wird ein frisch installiertes Ubuntu 16.04.6 verwendet. Das Betriebssystem wurde auf der VMware-VM installiert, ohne die Option „ Updates während der Installation von Ubuntu herunterladen “ und ohne die Option „ Dritthersteller-Software installieren “ während der Bereitstellung des Betriebssystems zu aktivieren.
Wenn Sie noch nie Oracle auf Linux installiert haben, sollten Sie lernen, wie man Oracle unter Ubuntu installieren auf einer Virtuellen Maschine installiert, bevor Sie Oracle auf einem physischen Computer oder Server installieren.
Wenn Sie eine VMware-VM verwenden, vergessen Sie nicht VMware Tools zu installieren. Sie können auch Virtuelle Maschinen von VirtualBox und Hyper-V verwenden.
Stellen Sie sicher, dass Sie während der Installation die richtige Zeitzone ausgewählt haben. In diesem Beispiel ist die Zeitzone GMT 0 (London).
Sie können die Zeitzone mit dem Befehl überprüfen:
timedatectl
Überprüfen Sie die Ubuntu-Version:
lsb_release -a
Die Ausgabe sieht in unserem Beispiel wie folgt aus:
In diesem Tutorial zur Installation von Oracle 11g auf Ubuntu werden die folgenden Hardwareparameter für die VM verwendet:
- CPU: 1 CPU
- RAM: 4 GB
- Festplattenspeicher: 40 GB
Benutzer1 ist ein regulärer Benutzer in diesem Beispiel ( Benutzer1 wird während der Installation von Ubuntu erstellt und wird zum Anmelden bei Ubuntu verwendet).
Die folgenden Pakete sind installiert:
- vim , der Texteditor
- net-tools , Werkzeuge für das Netzwerk-Management
- openssh-server , der SSH-Server, der Ihnen ermöglicht, sich über die Linux-Konsole (Terminal) aus der Ferne zu verbinden
Falls diese Pakete nicht auf Ihrem Ubuntu Linux installiert sind, können Sie sie mit folgendem Befehl installieren:
sudo apt-get install -y vim net-tools openssh-server
Der SSH-Server ist aus Bequemlichkeitsgründen installiert. Sie sollten viele Befehle in der Konsole ausführen, bevor Sie den Oracle-Installer unter Ubuntu verwenden.
Um die Authentifizierung mit Passwörtern zu aktivieren, bearbeiten Sie die Datei sshd_config :
vim /etc/ssh/sshd_config
Kommentieren Sie die Zeile aus (entfernen Sie „#“ am Anfang der Zeile):
PasswordAuthentication yes
Speichern Sie die Änderungen und beenden Sie das Programm, indem Sie die Taste Esc in vim drücken und :wq eingeben
Starten Sie den sshd Dienst (Daemon) neu, indem Sie den Befehl mit Root-Rechten ausführen:
sudo service ssh restart
Swap-Datei konfigurieren
Ubuntu 16 verwendet standardmäßig eine Swap-Partition. Sie können die Größe der Swap-Partition während der Installation von Ubuntu anpassen. Wenn Sie die Standardoptionen für die Partitionierung gewählt oder die falsche Größe für die Swap-Partition ausgewählt haben, können Sie dennoch eine Swap-Datei mit einer benutzerdefinierten Größe erstellen und diese anstelle einer vorhandenen Swap-Partition verwenden. Die Swap-Größe sollte dem Doppelten der RAM-Größe entsprechen. Wenn Sie Oracle auf Ubuntu mit 4 GB RAM installieren möchten, sollten Sie eine Swap-Datei oder -Partition mit einer Größe von 8 GB einrichten. Erstellen wir nun die 8-GB-Swap-Datei.
Deaktivieren Sie vorübergehend die Nutzung des Swap-Bereichs:
sudo swapoff -a
Erstellen Sie mit dem Tool ` ` `dd` ` ` eine neue 8-GB-Datei:
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
Legen Sie fest, dass die erstellte 8-GB-Datei als Swap-Datei verwendet werden soll:
sudo mkswap /swapfile
Aktivieren Sie die Nutzung des Swap-Bereichs wieder:
sudo swapon /swapfile
Überprüfen Sie die Größe Ihres Swap-Bereichs nach dem Erstellen einer neuen Swap-Datei:
grep SwapTotal /proc/meminfo
Konfigurieren der Netzwerkeinstellungen
Standardmäßig bezieht Ubuntu 16 automatisch eine IP-Adresse für eine Netzwerkschnittstelle (sofern ein DHCP-Server im Netzwerk vorhanden ist). Sie müssen eine statische IP-Adresse festlegen und einen Hostnamen konfigurieren, bevor Sie Oracle unter Ubuntu installieren können.
Überprüfen Sie die aktuelle IP-Konfiguration:
ifconfig
In der Ausgabe sehen Sie die Namen Ihrer Netzwerkadapter und die IP-Adressen. In unserem Fall lautet der Name der benötigten Netzwerkschnittstelle ens33 .
Konfigurieren der statischen IP-Adresse
Bearbeiten Sie die Konfigurationsdatei der Netzwerkschnittstellen mit vim :
sudo vim /etc/network interfaces
Die für die Installation der Oracle-Datenbank unter Ubuntu benötigte statische IP-Adresse lautet in diesem Beispiel 192.168.101.11 auf der aktuellen Schnittstelle des Linux-Rechners. Bearbeiten Sie die Konfigurationsdatei wie folgt:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.101.11
netmask 255.255.255.0
gateway 192.168.101.2
dns-nameservers 192.168.101.2 8.8.8.8
Speichern Sie die Änderungen und beenden Sie die Datei.
Anwenden Sie die Änderungen:
sudo /etc/init.d/networking restart
Oder starten Sie den Rechner neu:
init 6
Überprüfen Sie, ob die neuen IP-Einstellungen angewendet wurden:
ifconfig
Oder:
hostname -I
Nach der Überprüfung der IP-Adress-Konfiguration überprüfen Sie den Hostnamen.
Überprüfen des Hostnamens
In unserem Fall lautet der für die Installation von Oracle unter Ubuntu verwendete Hostname ubuntu-oracle11 .
Überprüfen Sie den aktuellen Hostnamen:
hostnamectl
Falls Sie vergessen haben, den Hostnamen während der Installation von Ubuntu zu konfigurieren, oder den Hostnamen aus anderen Gründen ändern möchten, ist dies nachträglich möglich.
Um den Host umzubenennen und einen neuen Hostnamen festzulegen ( ubuntu-oracle11 ), führen Sie folgenden Befehl aus:
sudo hostnamectl set-hostname ubuntu-oracle11
Überprüfen Sie, ob der neue Hostname angewendet wird:
less /etc/hostname
Bearbeiten Sie die Hosts-Datei:
sudo vim /etc/hosts
Der Inhalt der Datei /etc/hosts muss wie folgt aussehen:
127.0.0.1 localhost
127.0.1.1 ubuntu-oracle11
Starten Sie den Rechner neu: init 6
Versuchen Sie, den definierten Hostnamen auf Ihrem Ubuntu-Computer anzupingen:
ping ubuntu-oracle11
Konfiguration der Umgebung für Oracle
Um Oracle auf Ubuntu zu installieren, müssen Sie die Linux-Umgebung konfigurieren: Systembenutzer und -gruppen erstellen, Kernel-Parameter konfigurieren, ein Systemprofil einrichten, Umgebungsvariablen für einen Benutzer festlegen, Shell-Grenzen definieren, Symlinks erstellen und erforderliche Pakete installieren.
Erstellen von Benutzern und Gruppen
Öffnen Sie die lokale Konsole oder verbinden Sie sich über SSH mit der Linux-Konsole als normaler Benutzer und erlangen Sie dann die root -Rechte:
sudo -i
Die folgenden Befehle müssen als root ausgeführt werden.
Fügen Sie die von Oracle benötigten Gruppen hinzu.
Erstellen Sie die Oracle Inventar Gruppe:
groupadd oinstall
Erstellen Sie die Oracle DBA Gruppe:
groupadd dba
Erstellen Sie das Home-Verzeichnis für den Oracle-Benutzer:
mkdir /home/oracle/
Erstellen Sie das Verzeichnis für die Oracle-Installation:
mkdir -p /u01/app/oracle
Erstellen Sie dann das Oracle-Benutzerkonto, das Mitglieder der dba Gruppe ist, über das /home/oracle/ Home-Verzeichnis verfügt und /bin/bash als Standardshell verwendet:
useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
Setzen Sie das Passwort für den Oracle-Benutzer (vergessen Sie dieses Passwort nicht):
passwd oracle
Setzen Sie den oracle Benutzer als Eigentümer des Oracle-Home-Verzeichnisses und des Oracle-Installationsverzeichnisses. Der oracle Benutzer ist Mitglied der oinstall Gruppe.
chown -R oracle:oinstall /home/oracle
chown -R oracle:oinstall /u01/app/oracle
Hinweis : Anders als bei Oracle 10 ist das Erstellen der nobody Gruppe für Oracle 11 nicht erforderlich.
Erstellen Sie das Oracle-Inventarverzeichnis:
mkdir -p /u01/app/oraInventory
Setzen Sie den oracle Benutzer als Eigentümer für das Oracle-Inventarverzeichnis:
chown -R oracle:oinstall /u01/app/oraInventory
Konfigurieren der Kernel-Parameter
Benutzerdefinierte Kernel-Parameter sind erforderlich, um Oracle auf Ubuntu zu installieren, und diese Kernel-Parameter beeinflussen die Leistung von Oracle. Gemeinsame Speicherparameter, einschließlich minimaler und maximaler Größe, der Anzahl gemeinsamer Speichersegmente und Semaphoren, die als Flags für den gemeinsamen Speicher betrachtet werden können, müssen gemäß der Oracle-Dokumentation angepasst werden. Sie müssen auch die maximale Anzahl gleichzeitiger Netzwerkverbindungen, die Größe der Netzwerk-Sende- und Empfangspuffer und die maximale Anzahl von Dateien, die gleichzeitig geöffnet werden können, festlegen. Die betrachteten Kernel-Parameter gehören in drei Kategorien: Kernel-Spezifikationen ( kernel ), Netzwerk-Spezifikationen ( netzwerk ) und Dateihandler ( fs ). Bearbeiten Sie die Datei /etc/sysctl.conf , um die Parameter des Linux-Kernels zu überschreiben:
vim /etc/sysctl.conf
Fügen Sie die unten gezeigten Zeilen am Ende dieser Konfigurationsdatei hinzu.
# ============================
# Oracle 11g
# ============================
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmni = 4096
# Replace kernel.shmmax with the half of your memory size in bytes
# if lower than 4 GB minus 1
# 2147483648 is 2 GigaBytes (4 GB of RAM / 2)
kernel.shmmax=2147483648
#
# Max number of network connections. Use sysctl -a | grep ip_local_port_range to check.
net.ipv4.ip_local_port_range = 9000 65500
#
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
#
# The maximum allowed value, set to avoid overhead and input/output errors
fs.aio-max-nr = 1048576
# 512 * Processes
fs.file-max = 6815744
fs.suid_dumpable = 1
#
# To allow dba to allocate hugetlbfs pages
# 1001 is your oinstall group, you can check this id with the grep oinstall /etc/group command
vm.hugetlb_shm_group = 1001
Wenden Sie die eingestellten Kernel-Parameter an:
sysctl -p
Konfigurieren der Shell-Limits
Sie müssen Shell-Limits setzen, um die Leistung der Oracle-Datenbanksoftware zu verbessern.
Bearbeiten Sie die Datei /etc/security/limits.conf :
vim /etc/security/limits.conf
Fügen Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzu:
# Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
Die erste Spalte gibt den Benutzer an, für den die Limits gesetzt sind.
Die zweite Spalte arbeitet mit zwei Optionen – soft und hard. Soft ist die maximale Zahl, die vom Benutzer gesetzt werden kann, während hard die maximale Zahl ist, die vom definierten Benutzer (oracle) umkonfiguriert werden kann. Wenn der oracle Benutzer den kritischen Niedrigwert von 2047 erreicht, der in der ersten Zeile gesetzt ist, und das Limit erweitern muss, kann der Benutzer das Limit auf 16384 erhöhen. Werte über 16384 können nicht vom oracle Benutzer gesetzt werden, können aber von root gesetzt werden.
Die dritte Spalte definiert, auf welche Ressourcen die gesetzten Limits angewendet werden.
Die vierte Spalte definiert die maximale Anzahl des Ressourcenparameters, der in der dritten Spalte angegeben ist.
PAM-Konfiguration
Stellen Sie sicher, dass die Datei /etc/pam.d/login folgende Zeile enthält:
session required pam_limits.so
Sie können dies mit dem Befehl tun:
cat /etc/pam.d/login | grep pam_limits.so
Wenn die erwähnte Zeile fehlt, fügen Sie diese Zeile manuell hinzu.
Einstellen des Shell-Profils
Systemweit gültige Umgebungsvariablen werden im globalen Bash-Shell-Profil gesetzt, das in der Konfigurationsdatei /etc/profile gesetzt ist.
Bearbeiten Sie /etc/profile und setzen Sie einige notwendige Parameter für oracle global und dauerhaft:
vim /etc/profile
Fügen Sie die folgenden Zeilen hinzu:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Hinweis : Es ist nützlich zu wissen, wann jede Shell-Konfigurationsdatei verwendet werden kann, denn später müssen Sie ein Profil konfigurieren, das Umgebungsvariablen für den oracle Benutzer enthält.
Die Bash-Anmeldeshell lädt ihre Konfiguration aus den folgenden Dateien in der entsprechenden Reihenfolge:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
/etc/profile kann als globales Profil für die Bash-Login-Shell betrachtet werden.
./bash_profile wird für Bash-Login-Shells angewendet, beispielsweise wenn Sie sich direkt über eine an diesen Linux-Rechner angeschlossene Tastatur bei der Befehlszeilenschnittstelle von Linux anmelden oder wenn Sie nach der Anmeldung über das SSH-Terminal eine neue Konsolensitzung öffnen.
.profile – diese Datei wird von bash und anderen Shells wie sh eingelesen.
Die interaktive Nicht-Login-Shell von Bash lädt die Konfiguration aus ~/.bashrc
Das bedeutet: Wenn Sie bereits auf Ihrem Linux-Rechner angemeldet sind (beispielsweise über die grafische Benutzeroberfläche von Ubuntu) und dann ein neues Konsolenfenster (Terminal) öffnen, wird die Shell-Konfiguration einschließlich der Umgebungsvariablen aus der Datei .bashrc geladen, bevor Sie Zugriff auf die Befehlszeile erhalten.
Die nicht-interaktive Bash-Shell ohne Anmeldung ( ) lädt die Konfiguration, die in der Umgebungsvariablen $BASH_ENV festgelegt ist. Die nicht-interaktive Shell ohne Anmeldung wird verwendet, wenn ein Skript ausgeführt wird.
Installation der erforderlichen Pakete
Sie müssen die von Oracle benötigten Pakete installieren. Seien Sie bei der Installation vorsichtig, da ein fehlendes Paket zu Fehlern während der Oracle-Installation oder der Datenbankerstellung führen kann.
Aktualisieren Sie den Repository-Baum:
apt-get update
Installieren Sie Pakete, um Fehler zu vermeiden, die bei der Installation von Oracle unter Ubuntu auftreten können. Die meisten Pakete lassen sich mit dem Standard-Paketmanager von Ubuntu aus Online-Repositorys installieren.
apt-get install alien
apt-get install autoconf
apt-get install automake
apt-get install autotools-dev
apt-get install binutils
apt-get install bzip2
apt-get install doxygen
apt-get install elfutils
apt-get install expat
apt-get install gawk
apt-get install gcc
apt-get install gcc-multilib
apt-get install g++-multilib
apt-get install libelf-dev
apt-get install libltdl-dev
apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
apt-get install libpth-dev
apt-get install libpthread-stubs0-dev
apt-get install libstdc++5
apt-get install make
apt-get install openssh-server
apt-get install rlwrap
apt-get install rpm
apt-get install sysstat
apt-get install unixodbc
apt-get install unixodbc-dev
apt-get install unzip
apt-get install x11-utils
apt-get install zlibc
apt-get install libaio1
apt-get install libaio-dev
Es müssen noch einige Pakete installiert werden, doch dafür benötigen Sie diese Tipps und Tricks.
apt-get install ia32-libs
Wenn Sie den Befehl zur Installation dieses Pakets mit apt-get ausführen, erhalten Sie die Meldung, dass dieses Paket nicht verfügbar ist.
Es gibt ein alternatives Paket, das anstelle von ia32-libs installiert werden kann. Installieren Sie das alternative Paket lib32z1 :
apt-get install lib32z1
Installieren wir nun das weitere Paket:
apt-get install libmotif4
Auch dieses Paket ist nicht verfügbar. Sie sollten dieses Paket manuell herunterladen und installieren. Laden Sie die Datei libmotif4_2.3.4-8ubuntu1_amd64.deb von kostenlose Ressourceherunter. Speichern Sie die heruntergeladene deb-Datei in einem Verzeichnis Ihrer Wahl, beispielsweise /home/user1/Downloads, bevor Sie dieses Paket installieren können.
Der Ablauf zur Installation von deb-Paketen unter Ubuntu ist wie folgt (führen Sie die Befehle mit Root-Rechten aus):
sudo dpkg -i package_name.deb
sudo apt-get -f install
In diesem Fall führen wir die Befehle zur Installation von Paketen als normaler Benutzer aus, zum Beispiel user1 unter Verwendung von sudo . Drücken Sie Strg+D , um die Sitzung des Root-Benutzers zu beenden und zur user1 Sitzung in der Konsole (Terminal) zurückzukehren.
Wechseln Sie in das Verzeichnis, in dem die heruntergeladenen Dateien gespeichert sind:
cd /home/user1/Downloads
Herunterladen Sie die Datei über einen direkten Link:
wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.deb
sudo dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.deb
sudo apt-get -f install
Das weitere Paket kann nicht automatisch installiert werden:
sudo apt-get install libpthread-stubs0
E: Das Paket libpthread-stubs0 kann nicht gefunden werden
Herunterladen und installieren Sie dieses Paket manuell.
wget http://launchpadlibrarian.net/154418307/libpthread-stubs0-dev_0.3-4_amd64.deb
sudo dpkg -i libpthread-stubs0-dev_0.3-4_amd64.deb
sudo apt-get -f install
Installieren Sie das weitere Paket auf ähnliche Weise:
sudo apt-get install lsb-cxx
E: Das Paket lsb-cxx kann nicht gefunden werden
Sie können das lsb-cxx Paket manuell herunterladen.
wget http://packages.linuxmint.com//pool/upstream/l/lsb/lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb
sudo dpkg -i lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb
sudo apt-get -f install
Installieren Sie ein weiteres Paket:
sudo apt-get install pdksh
E: Für das Paket „pdksh“ gibt es keinen Installationskandidaten
Der Ablauf zur Installation des pdksh Pakets ist derselbe. Dieses Paket kann unter hierheruntergeladen werden.
wget http://launchpadlibrarian.net/200019501/pdksh_50e-2ubuntu1_all.deb
sudo dpkg -i pdksh_50e-2ubuntu1_all.deb
sudo apt-get -f install
Oracle 11g erfordert die Installation der 32-Bit-Version des libstdc++5 Pakets, das unter Ubuntu 16 nicht automatisch installiert wird. So können Sie dieses Paket manuell installieren.
Die weiteren Befehle werden als root ausgeführt. Erstellen Sie ein temporäres Verzeichnis, um das Paket herunterzuladen:
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
Herunterladen des Pakets (Links zu den 32-Bit- und 64-Bit-Paketen werden angezeigt):
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_i386.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_amd64.deb
Installieren Sie die heruntergeladenen Pakete mit dpkg :
dpkg --force-architecture -i libstdc++5_3.3.6-30_i386.deb
Hinweis : Falls die Links nicht funktionieren, wurden möglicherweise neuere Versionen der Pakete anstelle der älteren veröffentlicht. Besuchen Sie in diesem Fall eine Webseite im Browser und kopieren Sie die korrekten Links zu den benötigten deb Paketen:
http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/
Anwenden Sie die Änderungen am Linux-Rechner. init 6
Erstellen symbolischer Verknüpfungen
Sie müssen symbolische Verknüpfungen (Symlinks) erstellen, damit die in Ubuntu verwendete Datei- und Verzeichnisstruktur der Dateistruktur in Red Hat ähnelt. Erstellen Sie die Symlinks, damit die Dateisystemstruktur identisch mit der Red-Hat-Dateisystemstruktur erscheint, um Fehler während der Oracle-Installation zu vermeiden.
Befehle als Root ausführen:
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
ln -sf /bin/bash /bin/sh
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/init.d /etc/rc.d/init.d
Die oben genannten Befehle helfen dabei, Fehler zu vermeiden, wie zum Beispiel:
- genclntsh: Das Verknüpfen von libclntsh.so.11.1 im Makefile für rdbms/lib/ins_rdbms.mk ist fehlgeschlagen, da die Bibliothek fehlt: /usr/bin/ld: /usr/lib64/libpthread_nonshared nicht gefunden.a in
- lib//libagtsh.so: undefinierter Verweis auf `nnfyboot‘ in make: rdbms/lib/dg4odbc] Fehler 1
Nun wollen wir einen weiteren Fehler verhindern: /lib64/libgcc_s.so.1: Datei oder Verzeichnis existiert nicht, beim Erstellen von lib/liborasdkbase.so.11.1 in ins_rdbms.mk . Wechseln Sie in das Verzeichnis /lib64 und führen Sie den folgenden Befehl aus:
cd /lib64
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .
Achten Sie darauf, den Punkt am Ende des Befehls nicht zu vergessen.
Legen Sie die Linux-Version als Red Hat Linux Release 5 in der Datei /etc/redhat-release fest. Red Hat Linux-Distributionen speichern ihre Version in dieser Datei.
echo 'Red Hat Linux release 5' > /etc/redhat-release
Konfigurieren des Oracle-Benutzerprofils
Nun müssen Sie die Benutzerumgebung für den oracle Benutzer konfigurieren.
Melden Sie sich als oracle an, falls Sie die Konsole als anderer Benutzer geöffnet haben:
su oracle
Führen Sie die Befehle als oracle aus:
cd
vim ~/.bashrc
Fügen Sie die folgenden Zeilen zur .bashrc Datei hinzu:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
# Enter your hostname
ORACLE_HOSTNAME=ubuntu-oracle11; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=ORADB11G; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
umask 022
Anwenden Sie die Einstellungen:
source ~/.bashrc
Sie sollten Ubuntu nun neu starten. Beachten Sie, dass die Einstellungen auch ohne Ausführung von `source ~/.bashrc` nach dem Neustart angewendet werden.
init 6
Vorbereitung des Oracle-Installationsprogramms
Die Vorbereitungen für die Installation von Oracle sind fast abgeschlossen. Es sind nur noch wenige Schritte erforderlich, bevor Sie das Installationsprogramm starten und Oracle unter Ubuntu installieren können. Melden Sie sich nach dem Neustart des Ubuntu-Rechners in der grafischen Benutzeroberfläche von Ubuntu als oracle an.
Öffnen Sie einen Webbrowser.
In unserem Beispiel wurden zwei heruntergeladene Dateien der Einfachheit halber unter /home/oracle/Downloads gespeichert: linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
Öffne die Konsole in Ubuntu und führe die folgenden Befehle als oracle aus. Gehe zu dem Verzeichnis, in dem die heruntergeladenen Dateien gespeichert sind:
cd /home/oracle/Downloads
oder cd ~/Downloads/
Entzippe die Installationsdateien von den heruntergeladenen zip-Archiven:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
Die extrahierten Dateien werden gespeichert in:
/home/oracle/Downloads/database
Jetzt bist du bereit, den Installer auszuführen und Oracle auf Ubuntu zu installieren.
Installing Oracle
Gehe zu dem Verzeichnis, in das die Installationsdateien heruntergeladen wurden. Führe die Befehle als oracle in der Konsole aus, die in der GUI-Sitzung gestartet wurde.
cd /home/oracle/Downloads/database
Führe den Oracle Installer aus:
./runInstaller
1. Sicherheit-Updates konfigurieren
Entferne das Häkchen im Kästchen „ Ich möchte Sicherheits-Updates über My Oracle Support erhalten ”.
Klicke Weiter , um zum nächsten Schritt des Oracle-Installationsassistenten zu gelangen.
Du wirst die Nachricht sehen: Du hast keine E-Mail-Adresse angegeben. Möchtest du über kritische Sicherheitsprobleme in deiner Konfiguration informiert bleiben? Ignoriere diese Nachricht und drücke Ja .
2. Installationsoption
Wähle Erstellen und konfigurieren einer Datenbank .
3. Systemklasse
Wähle Serverklasse , was eine erweiterte Option ist, um Oracle-Datenbanken auf Ubuntu zu installieren.
4. Grid-Optionen
Wähle Einzelinstanz-Datenbankinstallation als die Art der Datenbankinstallation.
5. Installationsart
Wähle Erweiterte Installation als Installationsart. Diese Option erlaubt dir, Passwörter, Zeichensätze, Sprachen, Speicheroptionen usw. festzulegen.
6. Produktsprache
Wähle die benötigten Sprachen. In diesem Beispiel sind Englisch und Englisch (Vereinigtes Königreich) ausgewählt.
7. Datenbankedition
Wähle Enterprise Edition für die Datenbank, die du installieren wirst.
8. Wähle den Oracle-Basis-Standort
Normalerweise werden das Oracle-Basisverzeichnis und das Oracle-Home-Verzeichnis verwendet.
Oracle-Basis: /u01/app/oracle
Software-Standort: /u01/app/oracle/product/11.2.0/dbhome_1
9. Inventar erstellen
Das Verzeichnis, in dem Oracle-Installationsdateien gespeichert werden, wird als das „Oracle-Inventarverzeichnis“ bezeichnet.
Inventarverzeichnis: /u01/app/oraInventory
oraInventory-Gruppenname: oinstall
10. Konfigurationstyp
Wählen Sie den Typ der Datenbank aus, die Sie erstellen möchten:
Allgemeiner Zweck / Transaktionsverarbeitung
11. Datenbankkennungen
Sie können für den globalen Datenbanknamen und den Oracle Service Identifier denselben Wert festlegen.
Globaler Datenbankname: ORADB11G
Oracle-Service-Identifikator (SID): ORADB11G
12. Konfigurationsoptionen
In diesem Schritt gibt es vier Registerkarten. Auf jeder Registerkarte können Sie die Konfiguration wie folgt festlegen:
Speicher: Automatische Speicherverwaltung aktivieren (Standard).
Zeichensätze: Unicode verwenden (AL32UTF8).
Sicherheit: Alle neuen Einstellungen übernehmen (Standard).
Beispielschemata: Datenbank mit Beispielschemata erstellen (Sie können jedoch den Standardwert beibehalten).
13. Management-Optionen
Sie können die Standardparameter beibehalten.
14. Datenbankspeicher
Lesen Sie die im Fenster angezeigten Empfehlungen und wählen Sie Dateisystem .
Geben Sie den Standort der Datenbankdatei an: /u01/app/oracle/oradata
15. Sicherung und Wiederherstellung
An dieser Stelle können Sie die Option auswählen: Automatische Backups nicht aktivieren (Standard).
Backups sind wichtig, es ist jedoch besser, die Oracle-Datenbank-Backups erst nach der Installation von Oracle unter Ubuntu zu konfigurieren.
16. Schema-Passwörter
Sie können Für alle Konten dasselbe Passwort verwenden auswählen. Geben Sie ein Passwort ein und bestätigen Sie es.
17. Betriebssystemgruppen
Lesen Sie die im Fenster angezeigte Beschreibung und wählen Sie die erforderlichen Gruppen aus.
Gruppe „Datenbankadministrator“ (OSDBA): dba
Gruppe „Datenbankoperator“ (OSOPER): oinstall
18. Überprüfung der Anforderungen
Nun prüft das Oracle-Installationsprogramm, ob die Systemkonfiguration die Anforderungen erfüllt. Bei diesem Schritt werden Warnungen angezeigt. Der OS-Kernel-Parameter semmni wurde oben konfiguriert, dennoch wird für diesen Parameter der Status „fehlgeschlagen“ angezeigt.
OS-Kernel-Parameter: semmni fehlgeschlagen
Sie können diesen Parameterwert überprüfen, um sicherzustellen, dass alles korrekt ist. Überprüfen Sie den semmni Parameter mit dem folgenden Befehl (als Root ausführen): /sbin/sysctl -a | grep sem
kern.semm = 250 32000 100 128
oder
cat /proc/sys/kernel/sem
250 32000 100 128
Wenn der letzte Wert nicht kleiner als 128 ist, dann ist alles in Ordnung und Sie können diese Warnung ignorieren.
Aus irgendeinem Grund kann der Oracle-Voraussetzungsprüfer nicht feststellen, dass der semmni Parameter korrekt ist und die erforderlichen Pakete installiert sind. Wenn der Inhalt Ihres Fensters für Voraussetzungsprüfungen dem oben im Screenshot angezeigten Fenster ähnelt, markieren Sie das Kontrollkästchen Alle ignorieren und klicken Sie auf Weiter , um fortzufahren.
19. Zusammenfassung
Überprüfen Sie die Konfigurationszusammenfassung, um sicherzustellen, dass Sie alle Einstellungen wie erforderlich konfiguriert haben. Sie können die Antwortdatei ( db.rsp ) speichern, da sie nützlich sein kann, wenn Sie Oracle auf mehreren Linux-Maschinen installieren müssen oder wenn Sie Oracle auf einem Ubuntu Server ohne grafische Benutzeroberfläche installieren wollen.
Jetzt können Sie überwachen, wie der Oracle-Installer Dateien kopiert, bis der Installer zum Stadium Binärdateien verlinken übergeht.
Binärdateien für Oracle verlinken—Linking- und Kompilierungsfehler beheben
Dieses Stadium ist eines der schwierigsten bei der Installation der Oracle-Datenbank auf einem Ubuntu Linux. Die Wahrscheinlichkeit, auf diesem Schritt Fehler zu bekommen, ist hoch. Im aktuellen Beispiel tritt folgender Fehler auf, wenn wir Oracle 11g auf einem Ubuntu 16 installieren:
Fehler beim Aufrufen der Ziel ‚install‘ der Makefile ‚/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk‘. Weitere Details finden Sie in ‚/u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log‘ .
Beachten Sie, dass ähnliche Fehler auch auftreten können, wenn Sie Oracle auf Oracle Linux installieren. Der Name Ihrer Log-Datei sollte unterschiedlich sein.
Hinweis : Dateien mit .mk Erweiterung sind Makefiles und werden verwendet, um Programme zu kompilieren. Ein Makefile bestimmt, welche „Teile“ eines Programms kompiliert werden und welche Dateien des Programms kompiliert und miteinander verlinkt werden müssen. Einige Komponenten der Oracle-Software sind in Java geschrieben (zum Beispiel der Oracle Universal Installer, der eine grafische Benutzeroberfläche hat), und einige Komponenten sind in C geschrieben. Die Komponenten, die in Java geschrieben sind, müssen ohne Kompilierung interpretiert werden (Java ist plattformübergreifend), während die in C geschriebenen Komponenten kompiliert werden müssen, und das Verlinken von Binärdateien und Bibliotheken ist der erforderliche Teil dieses Prozesses. Oracle verwendet diesen Ansatz, um mehr Flexibilität zu bieten und die Installation auf verschiedenen Betriebssystemen (Windows, Linux, Solaris) zu ermöglichen. Ein weiterer Vorteil ist die reduzierte Größe des Installationsprogramms. Der Nachteil ist, dass während des Verbindungsprozesses der Binaries bei der Installation von Oracle Fehler auftreten können. In den meisten Fällen sollten Sie die entsprechenden Flags hinzufügen, indem Sie .mk Dateien bearbeiten, um Verbindungsprobleme zu beheben.
Lassen Sie uns herausfinden, wie man Verbindungsfehler von Binärdateien behebt, die bei der Installation der Oracle-Datenbank auf Ubuntu Linux auftreten.
Melden Sie sich als oracle über SSH auf der Ubuntu-Maschine an und überprüfen Sie die Log-Datei:
tail -n 100 /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log
Wenn Sie die Protokollausgabe lesen, achten Sie auf die Zeile, die den Fehler erklärt.
INFO: /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk:11: Rezept für Ziel ‚ctxhx‘ fehlgeschlagen
ins_ctx.mk:11 verweist Sie auf die 11 an ins_ctx.mk Datei.
Öffnen Sie die ins_ctx.mk Datei und überprüfen Sie Zeile 11 jener Datei.
vim /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
Im Navigationsmodus von vim geben Sie :set number ein, um die Zeilennummern anzuzeigen.
Finden wir die Zeile 11.
Wenn Sie den Navigationsmodus in vim verwenden, können Sie den benötigten String mit dem Befehl finden:
/LINK_CTXHX
Bearbeiten Sie den folgenden Abschnitt:
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
Zeile Nummer 11 muss wie folgt bearbeitet werden:
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
Speichern Sie die ins_ctx.mk und beenden Sie vim .
Gehe jetzt zurück zum Oracle-Installationsfehlerfenster und klicke auf Wiederholen .
Der Installationsprozess wird fortgesetzt, aber nach wenigen Sekunden wird ein weiterer Fehler angezeigt, wenn Agenten-Bibliotheken erstellt werden :
Fehler beim Aufrufen des Ziels ‚agent nmhs‘ von Makefile ‚/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk‘.
Führen Sie die folgenden Befehle als oracle aus, um dieses Problem zu beheben:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
sed -i 's/^(s*$(MK_EMAGENT_NMECTL))s*$/1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
Hinweis: sed ist ein Stream-Texteditor, der verwendet wird, um die Zeit für das Bearbeiten der .mk Dateien im Vergleich zur Bearbeitung mit vim oder anderen interaktiven Texteditoren zu sparen.
Nachdem Sie die oben genannten zwei Befehle ausgeführt haben, klicken Sie auf Wiederholen im Oracle-Installationsfehlerfenster. Sie sehen, dass der Fehler behoben ist und die Installation der Oracle-Datenbank auf Ubuntu Linux fortgesetzt wird. Allerdings tritt nach wenigen Sekunden ein weiterer Fehler auf, wenn RDBMS-Executable verlinken : Fehler beim Aufruf des Ziels „all_no_orcl“ der Makefile-Datei „/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk“.
Führen Sie die folgenden Befehle als oracle aus, um diesen Fehler und einige andere ähnliche Fehler zu beheben:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
cd $ORACLE_HOME/lib
ln -s libclient11.a libagtsh.a
$ORACLE_HOME/bin/genagtsh $ORACLE_HOME/lib/libagtsh.so 1.0
sed -i 's/^($LD $LD_RUNTIME) ($LD_OPT)/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/bin/genorasdksh
sed -i 's/^(s*)($(OCRLIBS_DEFAULT))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
Kehren Sie anschließend zum Fehlerfenster zurück und klicken Sie auf „Erneut versuchen“ . Nun sollte der Installationsvorgang fehlerfrei fortgesetzt werden.
Der Oracle Database Configuration Assistant (DBCA) wird geöffnet, nach der Phase „ “ („Binärdateien verknüpfen“) .
„Konfigurationsskripte ausführen“
Wir sind fast am Ziel der Installation der Oracle-Datenbank unter Ubuntu angelangt.
Führen Sie diese beiden Skripte als root aus:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Auf dem folgenden Screenshot sehen Sie, dass die Skripte erfolgreich ausgeführt wurden.
„Die Installation der Oracle-Datenbank war erfolgreich“ .
Wenn diese Meldung angezeigt wird, können Sie das Fenster des Oracle-Installationsprogramms schließen.
Überprüfen Sie, ob Oracle unter Ubuntu läuft
Öffnen Sie einen Webbrowser auf Ihrem Ubuntu-Rechner, auf dem Oracle läuft, und überprüfen Sie, ob Oracle läuft, indem Sie die Weboberfläche des Oracle-Datenbank-Management-Tools öffnen. Hierfür können Sie die folgenden Links verwenden:
https://localhost:1158/em
https://ubuntu-oracle11:1158/em
https://192.168.101.11:1158/em
Sie können auch versuchen, von einem anderen Host in Ihrem Netzwerk aus sich mit dem Ubuntu-Rechner zu verbinden, auf dem Oracle läuft.
Legen Sie die Verbindungsparameter fest.
Benutzername : SYS
Passwort : Ihr Passwort, das Sie bei der Oracle-Installation festgelegt haben
Verbinden als : SYSDBA
Unten sehen Sie einen Screenshot des Oracle Enterprise Managers, der zeigt, dass Oracle ordnungsgemäß läuft.
Konfiguration von Oracle nach der Installation
Oracle ist nun installiert, und wir sollten die Oracle-Datenbank so konfigurieren, dass sie beim Booten von Ubuntu automatisch gestartet wird. Sie sollten die Konfigurationsdatei /etc/oratab bearbeiten, um festzulegen, dass Oracle beim Systemstart gestartet wird.
Führen Sie den Befehl als Root-Benutzer aus.
vim /etc/oratab
Ersetzen Sie N am Ende der Zeile durch Y :
ORADB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Nützliche Befehle
Bevor Sie Oracle so einstellen, dass es automatisch startet, sollten Sie wissen, wie man Oracle-Komponenten manuell startet. Dies hilft auch bei der Fehlerdiagnose. Führen Sie diese Befehle als oracle Benutzer aus.
Starten Sie die Datenbank:
$ORACLE_HOME/bin/dbstart $ORACLE_HOME
Beenden Sie die Datenbank: $ORACLE_HOME/bin/dbshut $ORACLE_HOME
Starten Sie den Database Control Enterprise Manager, der eine Weboberfläche für die Datenbanksteuerung bereitstellt:
emctl start dbconsole
Beenden Sie den Database Control Manager:
emctl stop dbconsole
Überprüfen Sie den Status des Database Control Managers:
emctl status dbconsole
Starten Sie den Listener:
$ORACLE_HOME/bin/lsnrctl start
Beenden Sie den Listener:
$ORACLE_HOME/bin/lsnrctl stop
Überprüfen Sie den Status des Listeners:
$ORACLE_HOME/bin/lsnrctl status
Starten Sie den Database Configuration Assistant (in der GUI-Shell, nicht in der SSH-Konsole):
dbca
Der Oracle-Listener kann durch Bearbeiten der folgenden Datei konfiguriert werden:
vim $ORACLE_HOME/network/admin/listener.ora
Verbinden mit der Datenbank in der Konsole:
sqlplus / as sysdba;
Erstellen eines Startskripts für Oracle unter Ubuntu
Sehen wir uns an, wie Sie Oracle so einrichten, dass es beim Start von Ubuntu automatisch gestartet wird. Nach dem Bearbeiten von /etc/oratab sollten Sie ein Startskript im Verzeichnis /etc/init.d/ erstellen.
Erstellen Sie die neue Datei für das Oracle-Startskript unter Ubuntu (führen Sie den Befehl als root aus):
vim /etc/init.d/oracle
Fügen Sie der Datei folgenden Inhalt hinzu:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
### BEGIN INIT INFO
# Provides: Oracle
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Startup/Shutdown Oracle listener and instance
### END INIT INFO
#ORACLE_UNQNAME="ORADB11G"
#export $ORACLE_UNQNAME
echo "ORACLE_UNQNAME is $ORACLE_UNQNAME"
ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"
ORACLE_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_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: "
echo "dbstart"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "lsnrctl start"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
#Optional : for Enterprise Manager software only
echo "emctl start dbconsole"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/oracle
echo "OK - a script has been executed"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
#Optional : for Enterprise Manager software only
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORAClE_HOME/bin/emctl stop dbconsole"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo "OK - a script has been executed"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
Legen Sie die richtigen Berechtigungen fest:
chown oracle:oinstall /etc/init.d/oracle
chmod 0775 /etc/init.d/oracle
Stellen Sie sicher, dass dieses Skript unmittelbar nach dem Start des Betriebssystems ausgeführt wird (verfügbar für Standard-Runlevels):
update-rc.d oracle defaults
Bei Bedarf können Sie die Startpriorität bearbeiten.
Führen Sie das Skript aus, um Oracle zu beenden (Sie können dieses Skript ausführen als root ):
/etc/init.d/oracle stop
Wenn Sie Oracle starten möchten, führen Sie dieses Skript mit dem folgenden Befehl aus:
/etc/init.d/oracle start
Hinweis: Achten Sie auf die folgende Zeile und ähnliche Zeilen im Oracle-Startskript:
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
Zunächst stellen wir die Shell so ein, dass sie die im .bashrc Systemprofil des oracle Benutzers gespeicherten Einstellungen liest, einschließlich Variablen wie ORACLE_HOSTNAME , ORACLE_BASE , PATH usw., die für den ordnungsgemäßen Betrieb der Oracle-Komponenten erforderlich sind. Nach der Anwendung der Bash-Einstellungen des oracle Benutzers auf die aktuelle Shell-Sitzung wird der weitere Befehl ausgeführt, um die Oracle-Datenbank zu starten. Was ist der Unterschied zwischen su - und su?
user1@hostname:~$ su - username2 – Dieser Befehl startet die Befehlszeilensitzung als ausgewählter Benutzer ( username2 ) mit den Einstellungen des ausgewählten Benutzers ( username2 ), als wären Sie als username2 angemeldet, wenn Sie eine neue Shell-Sitzung direkt erstellen (von Grund auf neu). Die Umgebungsvariablen von username2 werden in dieser Shell-Sitzung verwendet.
user1@hostname:~$ su username2 – Dieser Befehl führt die Befehlszeilen-Shell als ausgewählten Benutzer ( username2 ) mit den Einstellungen des aktuellen Benutzers ( user1 ) aus, und die Umgebungsvariablen des user1 werden von username2 in dieser Shell-Sitzung geerbt.
su -c (–command) bedeutet, dass ein angegebener Befehl als ausgewählter Benutzer ausgeführt werden muss.
Problembehandlung
Lassen Sie uns einige mögliche Probleme überprüfen, die bei der Installation von Oracle auf Ubuntu auftreten können, und ob es Methoden gibt, sie zu beheben.
ORA-12547: TNS: Verbindung verloren
DB-Konfigurationsassistent kann keine Datenbank erstellen und ein Fehler tritt auf.
ORA-12547: TNS: Verbindung verloren .
Protokolldateien für den aktuellen Vorgang befinden sich unter :
/u01/app/oracle/cfgtoollogs/dbca/ORADB11G
Überprüfen Sie die Protokolldatei:
tail -n 100 /u01/app/oracle/cfgtoollogs/dbca/ORADB11G/cloneDBCreation.log
Achten Sie auf folgende Zeichenketten:
oracleORADB11G: Fehler beim Laden freigegebener Bibliotheken: libaio.so.1: Shared Object-Datei kann nicht geöffnet werden: Datei oder Verzeichnis nicht vorhanden
ORA-12547: TNS: Verbindung verloren
Ein Grund für diese Fehlermeldung kann sein, dass die Bibliotheken im Zusammenhang mit den entsprechenden Paketen fehlen— libaio1 , libaio-dev . Überprüfen Sie, ob die genannten Pakete installiert sind, andernfalls installieren Sie sie:
sudo apt-get install libaio1
sudo apt-get install libaio-dev
Oracle startet nicht automatisch, wenn Ubuntu gebootet wird
Es kann passieren, dass Sie das Skript als root ausführen und die Nachricht angezeigt wird:
„Umgebungsvariable ORACLE_UNQNAME nicht definiert. Bitte setzen Sie ORACLE_UNQNAME auf den eindeutigen Datenbank-Namen”.
Oracle startet in dieser Situation nicht automatisch, wenn Ubuntu gebootet wird. Wenn diese Fehlermeldung beim Start des Oracle Enterprise Manager 11g Database Control angezeigt wird, sollten Sie die Umgebungsvariablen überprüfen.
How to check the ORACLE_UNQNAME?
Sie können den ORACLE_UNQNAME überprüfen (Befehle ausführen als oracle ).
sqlplus / as sysdba;
SQL> SELECT name, db_unique_name FROM v$database;
SQL> exit
Bearbeiten /etc/profile (als root): vim /etc/profile
Fügen Sie die folgende Zeile am Ende der Datei „ /etc/profile“ ein:
ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME
Starten Sie den Ubuntu-Rechner, auf dem Oracle installiert ist, neu.
Nun sollte dieser Fehler beim Ausführen des Skripts nicht mehr auftreten, und Oracle sollte nach der manuellen Ausführung des Befehls „ /etc/init.d/oracle start “ starten. Allerdings startet Oracle beim Hochfahren von Ubuntu Linux immer noch nicht automatisch. Der Grund für dieses Problem ist, dass für die Shell, in der das Skript ausgeführt wird, keine Umgebungsvariablen gesetzt sind. Lesen Sie die obige Erläuterung zum Oracle-Startskript und gehen Sie Ihr Skript sorgfältig durch.
Ist es möglich, Oracle 11g unter Ubuntu 18 zu installieren?
Ubuntu 18 verfügt über neuere Versionen der Linux-Systembibliotheken, die weitgehend mit Oracle 11g R2 kompatibel sind. Es besteht eine hohe Wahrscheinlichkeit, dass Sie in der Phase „ “ („Link Binaries“) der Oracle-Installation Fehler erhalten. Beispiel:
Fehler beim Aufruf des Ziels „links proc gen_pcscfg“ des Makefiles „u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk“.
Aus diesem Grund wird in diesem Tutorial Ubuntu 16 verwendet. Natürlich können Sie versuchen, Oracle 11g unter Ubuntu 18 zu installieren, müssen sich jedoch auf einige Schwierigkeiten einstellen. Möglicherweise müssen Sie Pakete und Bibliotheken älterer Versionen installieren und dadurch das Ubuntu-Betriebssystem auf eine ältere Version zurücksetzen.
Der Ablauf der Installation der Oracle-Datenbank unter Ubuntu 18 ähnelt der Installation der Oracle-Datenbank unter Ubuntu 16 (für Oracle 11g R2 EE). In der Phase „ “ („Link Binaries“) , in der Fehler auftreten, sollten Sie die Protokolle analysieren, die Dokumentation durchsehen und die Verknüpfungsfehler beheben.
Der folgende Befehl kann nützlich sein, um Bibliotheken nach der Bearbeitung von Dateien manuell neu zu verknüpfen:
$ORACLE_HOME/bin/relink all
Fazit
Dieser Blogbeitrag hat Sie durch die Installation von Oracle 11g R2 Enterprise Edition geführt, die wesentlich komplexer ist als die Installation von Oracle XE (Express Edition). Die Installation der Oracle-Datenbank unter Ubuntu erfordert die manuelle Konfiguration von Dateien und Systemparametern.
Die Installation von Oracle unter Ubuntu Linux ist keine leichte Aufgabe, aber die Oracle Enterprise Edition bietet viele Vorteile. Die Schritte bei der Oracle-Installation, die Ihre besondere Aufmerksamkeit erfordern, sind die Installation der Ubuntu-Pakete, die Verknüpfung der Binärdateien und die Erstellung eines Startskripts. Wenn Ihre Versionen von Ubuntu und Oracle mit den in diesem Beitrag verwendeten Versionen übereinstimmen, folgen Sie der Schritt-für-Schritt-Anleitung, um eine erfolgreiche Oracle-Installation durchzuführen. Vergessen Sie nach dem Bereitstellen der Oracle-Datenbank nicht, Backups zu erstellen.







































