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.

NAKIVO für das Backup von Linux-Rechnern

NAKIVO für das Backup von Linux-Rechnern

Schnelle und effiziente Datensicherung für Linux-Server und -Arbeitsstationen. Anti-Ransomware-Schutz, mehrere Ziele für Backups, flexible Optionen für die Wiederherstellung und vieles mehr!

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:

Installing Oracle database on Ubuntu 16 – checking the version of Ubuntu

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:

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.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.

Log in as oracle before you can run the installer and install Oracle on Ubuntu

Ö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

Installing Oracle database on Ubuntu 16 – two Oracle installation archives are downloaded

Ö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

Installing Oracle database on Ubuntu – running the Oracle installer

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.

How to install Oracle on Ubuntu – Oracle Universal installer is launched

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 .

Installing Oracle database on Ubuntu – an email address is not necessary

2. Installationsoption

Wähle Erstellen und konfigurieren einer Datenbank .

How to install Oracle on Ubuntu – create and configure a database

3. Systemklasse

Wähle Serverklasse , was eine erweiterte Option ist, um Oracle-Datenbanken auf Ubuntu zu installieren.

Select a server class when you install Oracle on Ubuntu

4. Grid-Optionen

Wähle Einzelinstanz-Datenbankinstallation als die Art der Datenbankinstallation.

Installing Oracle database on Ubuntu – single instance database installation

5. Installationsart

Wähle Erweiterte Installation als Installationsart. Diese Option erlaubt dir, Passwörter, Zeichensätze, Sprachen, Speicheroptionen usw. festzulegen.

Select Advanced install when you install Oracle on Ubuntu Linux

6. Produktsprache

Wähle die benötigten Sprachen. In diesem Beispiel sind Englisch und Englisch (Vereinigtes Königreich) ausgewählt.

You can select needed languages when you install Oracle 11g on Ubuntu

7. Datenbankedition

Wähle Enterprise Edition für die Datenbank, die du installieren wirst.

How to install Oracle 11g on Ubuntu – installing Oracle Enterprise edition

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

Select the installation location to install Oracle on Ubuntu

9. Inventar erstellen

Das Verzeichnis, in dem Oracle-Installationsdateien gespeichert werden, wird als das „Oracle-Inventarverzeichnis“ bezeichnet.

Inventarverzeichnis: /u01/app/oraInventory

oraInventory-Gruppenname: oinstall

Installing Oracle database on Ubuntu – selecting the Oracle Inventory directory

10. Konfigurationstyp

Wählen Sie den Typ der Datenbank aus, die Sie erstellen möchten:

Allgemeiner Zweck / Transaktionsverarbeitung

Selecting the database type for general purpose use

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

Setting a global database name and Oracle Service Identifier

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).

Configuration options that are used to install Oracle 11g on Ubuntu

13. Management-Optionen

Sie können die Standardparameter beibehalten.

Configuring Management options to install Oracle 11g on Ubuntu

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

Selecting a database file location on a file system to install Oracle 11g on Ubuntu

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.

Oracle backup can be configured after installing Oracle database on Ubuntu

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.

Select schema passwords to install Oracle on Ubuntu

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

Selecting operating system groups to install Oracle on Ubuntu

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

Running prerequisite checks before installing Oracle database on Ubuntu

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.

How to install Oracle on Ubuntu – checking the semmni kernel parameter

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.

Checking Oracle configuration summary

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.

Error in invoking target install of makefile ins_ctx.mk can occur when you install Oracle on Ubuntu

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

Checking the log file to fix the error in invoking target install of makefile ins_ctx.mk

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.

Viewing the ins_ctx.mk file in vim to fix the Oracle installation error

Finden wir die Zeile 11.

Finding the needed line in the ins_ctx.mk file to fix the Oracle installation error in Ubuntu

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

Fixing the error in invoking target install of makefile ins_ctx.mk when installing Oracle database on Ubuntu

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‘.

Error in invoking target agent nmhs of makefile 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“.

Error in invoking target all_no_orcl of makefile 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“) .

Installing Oracle database on Ubuntu – Oracle Database Configuration Assistant is running

„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

How to install Oracle on Ubuntu – two scripts must be executed to finish Oracle installation

Auf dem folgenden Screenshot sehen Sie, dass die Skripte erfolgreich ausgeführt wurden.Running scripts to finish installing Oracle database on Ubuntu

„Die Installation der Oracle-Datenbank war erfolgreich“ .

Wenn diese Meldung angezeigt wird, können Sie das Fenster des Oracle-Installationsprogramms schließen.

The installation of Oracle Database was successful on Ubuntu Linux

Ü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

Database Control Manager for Oracle 11g Enterprise Edition – entering credentials

Unten sehen Sie einen Screenshot des Oracle Enterprise Managers, der zeigt, dass Oracle ordnungsgemäß läuft.

How to install Oracle on Ubuntu - Oracle Enterprise Manager is running

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

How to install Oracle on Ubuntu – running a startup script for Oracle

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

How to install Oracle on Ubuntu – ORA-12547 TNS lost contact

Ü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“.

How to install Oracle 11g on Ubuntu 18 – Error in invoking target links proc gen_pcscfg of makefile 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.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Nutzen Sie die kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen hinsichtlich Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel