Jak zainstalować Oracle 11g w systemie Ubuntu Linux: kompletny przewodnik

Oracle Database to niezawodne, wieloplatformowe oprogramowanie do zarządzania bazami danych opracowane przez Oracle Corporation. Oferuje szereg zalet, takich jak wysoka wydajność, szeroki zakres funkcji, obsługa klastrów, obsługa języka PL/SQL itp. Oracle Database (w tym wpisie na blogu nazywana dalej „Oracle”) można zainstalować w systemach Solaris, Windows i Linux. Instalacja w systemie Windows jest najłatwiejsza, natomiast instalacja Oracle w systemach Solaris i Linux wymaga ręcznej konfiguracji przedinstalacyjnej. Jeśli chodzi o dystrybucje systemu Linux, firma Oracle zaleca instalację bazy danych Oracle na systemach Red-Hat, Oracle Linux i SUSE Linux Enterprise Server.

Można jednak zainstalować Oracle również na systemach Ubuntu Linux i Open SUSE Linux. Ubuntu to popularna dystrybucja Linuksa, szeroko stosowana na całym świecie, a dzisiejszy wpis na blogu zawiera szczegółowe instrukcje dotyczące instalacji Oracle na Ubuntu. W tym samouczku zainstalujemy bazę danych Oracle Enterprise Edition (EE) 11g R2 na Ubuntu.

NAKIVO do wykonania kopii zapasowej komputerów z systemem Linux

NAKIVO do wykonania kopii zapasowej komputerów z systemem Linux

Szybkie i wydajne tworzenie kopii zapasowych dla serwerów i stacji roboczych z systemem Linux. Ochrona przed oprogramowaniem wymuszającym okup, wiele lokalizacji kopii zapasowych, elastyczne opcje odzyskiwania danych i wiele więcej!

Przygotowanie systemu Ubuntu Linux

W tym samouczku wykorzystano świeżo zainstalowany system Ubuntu 16.04.6 . System operacyjny został zainstalowany na maszynie wirtualnej VMware bez włączania opcji „ Pobierz aktualizacje podczas instalacji Ubuntu ” oraz bez korzystania z opcji „ Zainstaluj oprogramowanie innych producentów ” podczas wdrażania systemu operacyjnego.

Jeśli nigdy wcześniej nie instalowałeś Oracle na systemie Linux, przed instalacją Oracle na komputerze fizycznym lub serwerze powinieneś nauczyć się, jak Zainstaluj Oracle w systemie Ubuntu na maszynie wirtualnej.

Jeśli korzystasz z maszyny wirtualnej VMware, nie zapomnij zainstalować Narzędzia VMware. Możesz również używać maszyn wirtualnych VirtualBox i maszyn wirtualnych Hyper-V.

Upewnij się, że podczas instalacji wybrałeś właściwą strefę czasową. W tym przykładzie strefą czasową jest GMT 0 (Londyn).

Strefę czasową można sprawdzić za pomocą polecenia:

timedatectl

Sprawdź wersję Ubuntu:

lsb_release -a

W naszym przykładzie wynik jest następujący:

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

W tym samouczku dotyczącym instalacji Oracle 11g w systemie Ubuntu wykorzystano następujące parametry sprzętowe maszyny wirtualnej:

  • Procesor: 1 procesor
  • Pamięć RAM: 4 GB
  • Dysk twardy: 40 GB

user1 jest w tym przykładzie zwykłym użytkownikiem ( user1 zostaje utworzony podczas instalacji Ubuntu i służy do logowania się do systemu).

Zainstalowane są następujące pakiety:

  • vim , edytor tekstu
  • net-tools , narzędzia do zarządzania siecią
  • openssh-server , serwer SSH umożliwiający zdalne połączenie z konsolą Linuksa (terminalem)

Jeśli nie masz tych pakietów zainstalowanych w systemie Ubuntu Linux, możesz je zainstalować za pomocą polecenia:

sudo apt-get install -y vim net-tools openssh-server

Serwer SSH jest zainstalowany dla wygody. Przed użyciem instalatora Oracle w systemie Ubuntu należy uruchomić wiele poleceń w konsoli.

Aby włączyć uwierzytelnianie za pomocą haseł, edytuj plik sshd_config :

vim /etc/ssh/sshd_config

Usuń komentarz z linii (usuń znak „#” na początku linii):

PasswordAuthentication yes

Zapisz zmiany i zamknij plik, naciskając klawisz Esc w edytorze vim i wpisując :wq

Uruchom ponownie usługę (demona) sshd , wykonując polecenie z uprawnieniami administratora:

sudo service ssh restart

Konfiguracja plików wymiany

Ubuntu 16 domyślnie korzysta z partycji wymiany. Rozmiar partycji wymiany można dostosować podczas instalacji Ubuntu. Jeśli wybrałeś domyślne opcje partycjonowania lub ustawiłeś niewłaściwy rozmiar partycji swap, nadal możesz utworzyć plik wymiany o niestandardowym rozmiarze i używać go zamiast istniejącej partycji swap. Rozmiar pliku wymiany powinien być równy dwukrotności rozmiaru pamięci RAM. Jeśli zamierzasz zainstalować Oracle na systemie Ubuntu z 4 GB pamięci RAM, powinieneś przygotować plik wymiany lub partycję swap o rozmiarze 8 GB. Utwórzmy plik wymiany o rozmiarze 8 GB.

Tymczasowo wyłącz obsługę obszaru wymiany:

sudo swapoff -a

Utwórz nowy plik o rozmiarze 8 GB za pomocą narzędzia dd :

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

Ustaw utworzony plik o rozmiarze 8 GB jako plik wymiany:

sudo mkswap /swapfile

Ponownie włącz obsługę obszaru wymiany:

sudo swapon /swapfile

Sprawdź rozmiar obszaru wymiany po utworzeniu nowego pliku wymiany:

grep SwapTotal /proc/meminfo

Konfiguracja ustawień sieciowych

Domyślnie system Ubuntu 16 automatycznie uzyskuje adres IP dla interfejsu sieciowego (jeśli w sieci znajduje się serwer DHCP). Przed zainstalowaniem Oracle w systemie Ubuntu należy ustawić statyczny adres IP i skonfigurować nazwę hosta.

Sprawdź bieżącą konfigurację IP:

ifconfig

W wynikach możesz zobaczyć nazwy kart sieciowych i adresy IP. W naszym przypadku nazwa potrzebnego interfejsu sieciowego to ens33 .

Konfiguracja statycznego adresu IP

Edytuj plik konfiguracyjny interfejsów sieciowych za pomocą vim :

sudo vim /etc/network interfaces

Statyczny adres IP potrzebny do zainstalowania bazy danych Oracle w systemie Ubuntu to 192.168.101.11 na bieżącym interfejsie komputera z systemem Linux w tym przykładzie. Edytuj plik konfiguracyjny w następujący sposób:

# 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

Zapisz zmiany i zamknij plik.

Zastosuj zmiany:

sudo /etc/init.d/networking restart

Lub uruchom ponownie komputer:

init 6

Sprawdź, czy nowe ustawienia IP zostały zastosowane:

ifconfig

Lub:

hostname -I

Po sprawdzeniu konfiguracji adresu IP sprawdź nazwę hosta.

Sprawdzanie nazwy hosta

W naszym przypadku nazwa hosta używana do instalacji Oracle na Ubuntu to ubuntu-oracle11 .

Sprawdź aktualną nazwę hosta:

hostnamectl

Jeśli zapomniałeś skonfigurować nazwę hosta podczas instalacji Ubuntu lub chcesz zmienić nazwę hosta z innych powodów, nadal możesz to zrobić.

Aby zmienić nazwę hosta i ustawić nową nazwę hosta ( ubuntu-oracle11 ), uruchom polecenie:

sudo hostnamectl set-hostname ubuntu-oracle11

Sprawdź, czy nowa nazwa hosta została zastosowana:

less /etc/hostname

Edytuj plik hosts:

sudo vim /etc/hosts

Zawartość pliku /etc/hosts musi wyglądać następująco:

127.0.0.1 localhost

127.0.1.1 ubuntu-oracle11

Uruchom ponownie komputer: init 6

Spróbuj wykonać polecenie ping dla podanej nazwy hosta na komputerze z systemem Ubuntu:

ping ubuntu-oracle11

Konfiguracja środowiska dla Oracle

Aby zainstalować Oracle w systemie Ubuntu, należy skonfigurować środowisko Linux: utworzyć użytkowników i grupy systemowe, skonfigurować parametry jądra, ustawić profil systemowy, ustawić zmienne środowiskowe dla użytkownika, zdefiniować ograniczenia powłoki, utworzyć dowiązania symboliczne oraz zainstalować wymagane pakiety.

Tworzenie użytkowników i grup

Otwórz konsolę lokalną lub połącz się z konsolą systemu Linux przez SSH jako zwykły użytkownik, a następnie uzyskaj uprawnienia root :

sudo -i

Poniższe polecenia należy wykonać jako root .

Dodaj grupy wymagane przez Oracle.

Utwórz grupę Oracle Inventory :

groupadd oinstall

Utwórz grupę Oracle DBA :

groupadd dba

Utwórz katalog domowy dla użytkownika Oracle:

mkdir /home/oracle/

Utwórz katalog do instalacji Oracle:

mkdir -p /u01/app/oracle

Następnie utwórz konto użytkownika Oracle, które jest członkiem grupy dba , ma katalog domowy /home/oracle/ i używa /bin/bash jako domyślnej powłoki:

useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle

Ustaw hasło dla użytkownika oracle (nie zapomnij tego hasła):

passwd oracle

Ustaw oracle jako właściciela katalogu domowego Oracle oraz katalogu instalacyjnego Oracle. Użytkownik oracle jest członkiem grupy oinstall .

chown -R oracle:oinstall /home/oracle

chown -R oracle:oinstall /u01/app/oracle

Uwaga : W przeciwieństwie do Oracle 10, w Oracle 11 nie ma potrzeby tworzenia grupy nobody .

Utwórz katalog dla Oracle Inventory:

mkdir -p /u01/app/oraInventory

Ustaw oracle jako właściciela katalogu Oracle Inventory:

chown -R oracle:oinstall /u01/app/oraInventory

Konfiguracja parametrów jądra

Do zainstalowania Oracle w systemie Ubuntu wymagane są niestandardowe parametry jądra, które mają wpływ na wydajność Oracle. Parametry pamięci współdzielonej, w tym minimalny i maksymalny rozmiar, liczba segmentów pamięci współdzielonej oraz semafory, które można traktować jako flagi dla pamięci współdzielonej, muszą zostać dostosowane zgodnie z dokumentacją Oracle. Należy również ustawić maksymalną dozwoloną liczbę plików, które mogą być otwarte jednocześnie, maksymalną liczbę jednoczesnych połączeń sieciowych oraz rozmiar bufora wysyłania i odbierania danych w sieci. Rozważane parametry jądra można podzielić na trzy grupy: specyfikacje jądra ( kernel ), specyfikacje sieciowe ( network ) oraz moduły obsługi plików ( fs ). Edytuj plik /etc/sysctl.conf , aby nadpisać parametry jądra systemu Linux:

vim /etc/sysctl.conf

Dodaj poniższe wiersze na końcu tego pliku konfiguracyjnego.

# ============================

# 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

Zastosuj ustawione parametry jądra:

sysctl -p

Konfiguracja limitów powłoki

Aby poprawić wydajność oprogramowania bazy danych Oracle, należy ustawić limity powłoki.

Edytuj plik /etc/security/limits.conf :

vim /etc/security/limits.conf

Dodaj następujące wiersze na końcu pliku konfiguracyjnego:

# Oracle

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

oracle           soft    stack   10240

Pierwsza kolumna określa użytkownika, dla którego ustawiono limity.

Druga kolumna działa z dwiema opcjami — soft i hard. Soft to maksymalna liczba, jaką może ustawić użytkownik, natomiast hard to maksymalna liczba, jaką może zmienić zdefiniowany użytkownik (oracle). Jeśli użytkownik oracle osiągnie krytycznie niską wartość 2047 ustawioną w pierwszym wierszu i będzie musiał zwiększyć limit, może podwyższyć go do 16384. Wartości wyższe niż 16384 nie mogą być ustawione przez użytkownika oracle , ale mogą być ustawione przez użytkownika głównego.

Trzecia kolumna określa, do których zasobów mają zastosowanie ustawione limity.

Czwarta kolumna określa maksymalną liczbę parametrów zasobów określonych w trzeciej kolumnie.

Konfiguracja PAM

Upewnij się, że plik konfiguracyjny /etc/pam.d/login zawiera następujący wiersz:

session    required   pam_limits.so

Można to zrobić za pomocą polecenia:

cat /etc/pam.d/login | grep pam_limits.so

Jeśli wspomniany wiersz nie występuje, dodaj go ręcznie.

Ustawianie profilu powłoki

Zmienne środowiskowe dla całego systemu są ustawiane w globalnym profilu powłoki bash, który jest określony w pliku konfiguracyjnym /etc/profile .

Edytuj /etc/profile i ustaw kilka potrzebnych parametrów dla oracle globalnie i na stałe:

vim /etc/profile

Dodaj następujące linie:

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

Uwaga : Warto wiedzieć, kiedy można użyć każdego pliku konfiguracyjnego powłoki, ponieważ później będziesz musiał skonfigurować profil zawierający zmienne środowiskowe dla oracle użytkownika.

Powłoka logowania Bash ładuje swoją konfigurację z następujących plików w odpowiedniej kolejności:

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

/etc/profile można uznać za profil globalny dla powłoki logowania bash.

./bash_profile jest stosowany w powłokach logowania bash, na przykład podczas logowania się bezpośrednio do interfejsu wiersza poleceń systemu Linux za pomocą klawiatury podłączonej do tego komputera z systemem Linux lub podczas otwierania nowej sesji konsoli po zalogowaniu się za pomocą terminala SSH.

.profile – ten plik jest odczytywany dla bash i innych powłok, takich jak sh .

Interaktywna powłoka Bash bez logowania ładuje konfigurację z ~/.bashrc

Oznacza to, że jeśli jesteś już zalogowany na swoim komputerze z systemem Linux (na przykład zalogowałeś się do Ubuntu za pomocą GUI), a następnie otworzyłeś nowe okno konsoli (terminala), wówczas konfiguracja powłoki, w tym zmienne środowiskowe, jest ładowana z pliku .bashrc zanim uzyskasz dostęp do wiersza poleceń.

Powłoka Bash typu non-login i non-interactive ładuje konfigurację określoną w zmiennej środowiskowej $BASH_ENV . Powłoka typu non-login i non-interactive jest używana podczas uruchamiania skryptu.

Instalowanie wymaganych pakietów

Należy zainstalować pakiety wymagane przez Oracle. Należy zachować ostrożność podczas ich instalacji, ponieważ brakujący pakiet może spowodować błędy podczas instalacji Oracle lub tworzenia bazy danych.

Zaktualizuj drzewo repozytorium:

apt-get update

Zainstaluj pakiety, aby uniknąć błędów, które mogą wystąpić podczas instalacji Oracle w systemie Ubuntu. Większość pakietów można zainstalować za pomocą standardowego menedżera pakietów Ubuntu z repozytoriów internetowych.

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

Pozostało jeszcze kilka pakietów do zainstalowania, ale aby to zrobić, potrzebne będą poniższe wskazówki i triki.

apt-get install ia32-libs

Po uruchomieniu polecenia instalującego ten pakiet za pomocą apt-get , pojawi się komunikat informujący, że pakiet ten jest niedostępny.

Istnieje alternatywny pakiet, który można zainstalować zamiast ia32-libs . Zainstaluj alternatywny pakiet lib32z1 :

apt-get install lib32z1

Zainstalujmy następny pakiet:

apt-get install libmotif4

Ten pakiet również nie jest dostępny. Należy ręcznie pobrać i zainstalować ten pakiet. Pobierz plik libmotif4_2.3.4-8ubuntu1_amd64.deb ze strony bezpłatny zasób. Przed instalacją pakietu zapisz pobrany plik deb w wybranym katalogu, na przykład /home/user1/Downloads.

Procedura instalacji pakietów deb w systemie Ubuntu wygląda następująco (polecenia należy wykonywać z uprawnieniami administratora):

sudo dpkg -i nazwa_pakietu.deb

sudo apt-get -f install

W tym przypadku uruchamiamy polecenia instalujące pakiety jako zwykły użytkownik, na przykład user1 używając sudo . Naciśnij Ctrl+D aby wyjść z sesji użytkownika głównego i powrócić do sesji user1 w konsoli (terminalu).

Przejdź do katalogu, w którym przechowywane są pobrane pliki:

cd /home/user1/Downloads

Pobierz plik, korzystając z bezpośredniego linku:

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

Następujący pakiet nie może zostać zainstalowany automatycznie:

sudo apt-get install libpthread-stubs0

E: Nie można zlokalizować pakietu libpthread-stubs0

Pobierz i zainstaluj ten pakiet ręcznie.

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

W podobny sposób zainstaluj następujący pakiet:

sudo apt-get install lsb-cxx

E: Nie można zlokalizować pakietu lsb-cxx

Możesz ręcznie pobrać pakiet lsb-cxx .

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

Zainstaluj jeszcze jeden pakiet:

sudo apt-get install pdksh

E: Pakiet „pdksh” nie ma kandydata do instalacji

Procedura instalacji pakietu pdksh jest taka sama. Ten pakiet można pobrać tutaj.

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 wymaga instalacji 32-bitowej wersji pakietu libstdc++5 , który nie jest instalowany automatycznie w systemie Ubuntu 16. Oto jak można ręcznie zainstalować ten pakiet.

Następujące polecenia są wykonywane jako root . Utwórz katalog tymczasowy, aby pobrać pakiet:

mkdir /tmp/libstdc++5

cd /tmp/libstdc++5

Pobierz pakiet (wyświetlane są linki do pakietów 32-bitowych i 64-bitowych):

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

Zainstaluj pobrane pakiety za pomocą dpkg :

dpkg --force-architecture -i libstdc++5_3.3.6-30_i386.deb

Uwaga : Jeśli linki nie działają, zamiast starszych wersji pakietów mogą być opublikowane nowsze wersje. W takim przypadku należy odwiedzić stronę internetową w przeglądarce i skopiować poprawne linki do potrzebnych deb pakietów:

http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/

Uruchom ponownie komputer z systemem Linux, aby zastosować zmiany. init 6

Tworzenie dowiązań symbolicznych

Aby struktura plików i katalogów w systemie Ubuntu była podobna do struktury plików w systemie Red Hat, należy utworzyć dowiązania symboliczne (symlinks). Utwórz dowiązania symboliczne, aby struktura systemu plików wyglądała identycznie jak w systemie Red Hat, co pozwoli uniknąć błędów podczas instalacji Oracle.

Uruchom polecenia jako root:

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

Powyższe polecenia pomagają zapobiegać błędom, takim jak:

  • genclntsh: Nie udało się połączyć libclntsh.so.11.1 w pliku make dla rdbms/lib/ins_rdbms.mk z powodu brakującej biblioteki: /usr/bin/ld: nie można znaleźć /usr/lib64/libpthread_nonshared.a wewnątrz
  • lib//libagtsh.so: niezdefiniowane odwołanie do `nnfyboot’ w make: rdbms/lib/dg4odbc] Błąd 1

Teraz zapobiegnijmy jeszcze jednemu błędowi: /lib64/libgcc_s.so.1: Plik lub katalog nie istnieje podczas tworzenia lib/liborasdkbase.so.11.1 w ins_rdbms.mk . Przejdź do katalogu /lib64 i wykonaj polecenie:

cd /lib64

ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .

Nie zapomnij o kropce na końcu polecenia.

Ustaw wersję systemu Linux jako Red Hat Linux wydanie 5 w pliku /etc/redhat-release . Dystrybucje Red Hat Linux przechowują informacje o wersji w tym pliku.

echo 'Red Hat Linux release 5' > /etc/redhat-release

Konfiguracja profilu użytkownika oracle

Teraz należy skonfigurować środowisko użytkownika dla oracle .

Zaloguj się jako oracle , jeśli otworzyłeś konsolę jako inny użytkownik:

su oracle

Uruchom polecenia jako oracle :

cd

vim ~/.bashrc

Dodaj następujące wiersze do pliku .bashrc :

# 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

Zastosuj ustawienia:

source ~/.bashrc

Teraz należy ponownie uruchomić system Ubuntu. Należy pamiętać, że ustawienia zostaną zastosowane po ponownym uruchomieniu, nawet bez uruchamiania polecenia source ~/.bashrc.

init 6

Przygotowanie instalatora Oracle

Jesteśmy już prawie gotowi do instalacji Oracle. Pozostało jeszcze kilka kroków, zanim będzie można uruchomić instalator i zainstalować Oracle w systemie Ubuntu. Po ponownym uruchomieniu komputera z systemem Ubuntu zaloguj się jako oracle w graficznym interfejsie użytkownika Ubuntu.

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

Otwórz przeglądarkę internetową.

W naszym przykładzie dwa pobrane pliki zostały zapisane w /home/oracle/Downloads dla wygody: linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

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

Otwórz konsolę w systemie Ubuntu i uruchom następujące polecenia jako lub oracle. Przejdź do katalogu, w którym znajdują się pobrane pliki:

cd /home/oracle/Downloads

lub cd ~/Downloads/

Rozpakuj pliki instalacyjne z pobranych archiwów ZIP:

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

Rozpakowane pliki znajdują się w:

/home/oracle/Downloads/database

Teraz możesz uruchomić instalator i zainstalować Oracle w systemie Ubuntu.

Instalowanie Oracle

Przejdź do katalogu, do którego zostały pobrane pliki instalacyjne. Uruchom polecenia jako oracle w konsoli uruchomionej w sesji GUI.

cd /home/oracle/Downloads/database

Uruchom instalator Oracle:

./runInstaller

Installing Oracle database on Ubuntu – running the Oracle installer

1. Konfiguracja aktualizacji zabezpieczeń

Odznacz pole wyboru „ Chcę otrzymywać aktualizacje zabezpieczeń za pośrednictwem My Oracle Support ”.

Kliknij Dalej , aby przejść do następnego kroku kreatora instalacji Oracle.

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

Pojawi się komunikat: Nie podałeś adresu e-mail. Czy chcesz pozostać niepoinformowany o krytycznych kwestiach bezpieczeństwa w Twojej konfiguracji? Zignoruj ten komunikat i kliknij Tak .

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

2. Opcja instalacji

Wybierz Utwórz i skonfiguruj bazę danych .

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

3. Klasa systemu

Wybierz Klasa serwera , która jest zaawansowaną opcją instalacji bazy danych Oracle w systemie Ubuntu.

Select a server class when you install Oracle on Ubuntu

4. Opcje siatki

Wybierz Instalacja bazy danych z pojedynczą instancją jako typ instalacji bazy danych.

Installing Oracle database on Ubuntu – single instance database installation

5. Typ instalacji

Wybierz Instalacja zaawansowana jako typ instalacji. Ta opcja pozwala ustawić hasła, zestawy znaków, języki, opcje przechowywania itp.

Select Advanced install when you install Oracle on Ubuntu Linux

6. Języki produktu

Wybierz potrzebne języki. W tym przykładzie wybrano angielski oraz angielski (Wielka Brytania) .

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

7. Edycja bazy danych

Wybierz Edycja Enterprise dla bazy danych, którą zamierzasz zainstalować.

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

8. Wybierz lokalizację bazową Oracle

Zazwyczaj używa się katalogu bazowego Oracle i katalogu domowego Oracle.

Baza Oracle: /u01/app/oracle

Lokalizacja oprogramowania: /u01/app/oracle/product/11.2.0/dbhome_1

Select the installation location to install Oracle on Ubuntu

9. Utwórz katalog inwentaryzacyjny

Katalog używany do przechowywania plików instalacyjnych Oracle nazywa się „katalogiem inwentaryzacyjnym Oracle”.

Katalog inwentaryzacyjny: /u01/app/oraInventory

Nazwa grupy oraInventory: oinstall

Installing Oracle database on Ubuntu – selecting the Oracle Inventory directory

10. Typ konfiguracji

Wybierz typ bazy danych, którą chcesz utworzyć:

Ogólnego przeznaczenia / Przetwarzanie transakcji

Selecting the database type for general purpose use

11. Identyfikatory bazy danych

Możesz zdefiniować tę samą wartość dla globalnej nazwy bazy danych i identyfikatora usługi Oracle.

Globalna nazwa bazy danych: ORADB11G

Identyfikator usługi Oracle (SID): ORADB11G

Setting a global database name and Oracle Service Identifier

12. Opcje konfiguracyjne

W tym kroku dostępne są cztery zakładki. W każdej z nich można ustawić konfigurację w następujący sposób:

Pamięć: Włącz automatyczne zarządzanie pamięcią (ustawienie domyślne).

Zestawy znaków: Użyj Unicode (AL32UTF8).

Zabezpieczenia: Zastosuj wszystkie nowe ustawienia zabezpieczeń (domyślnie).

Przykładowe schematy: Utwórz bazę danych z przykładowymi schematami (można jednak pozostawić wartość domyślną).

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

13. Opcje zarządzania

Można pozostawić parametry domyślne.

Configuring Management options to install Oracle 11g on Ubuntu

14. Przechowywanie bazy danych

Zapoznaj się z zaleceniami wyświetlonymi w oknie i wybierz System plików .

Określ lokalizację pliku bazy danych: /u01/app/oracle/oradata

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

15. Kopia zapasowa i odzyskiwanie

W tym momencie możesz wybrać opcję: Nie włączaj automatycznych kopii zapasowych (domyślnie).

Kopie zapasowe są ważne, ale lepiej skonfigurować kopie zapasowe bazy danych Oracle po zainstalowaniu Oracle w systemie Ubuntu.

Oracle backup can be configured after installing Oracle database on Ubuntu

16. Hasła schematu

Możesz wybrać Użyj tego samego hasła dla wszystkich kont . Wprowadź hasło i potwierdź je.

Select schema passwords to install Oracle on Ubuntu

17. Grupy systemu operacyjnego

Przeczytaj opis wyświetlony w oknie i wybierz wymagane grupy.

Grupa administratorów baz danych (OSDBA): dba

Grupa operatorów baz danych (OSOPER): oinstall

Selecting operating system groups to install Oracle on Ubuntu

18. Sprawdzanie wymagań wstępnych

Teraz instalator Oracle sprawdza, czy konfiguracja systemu spełnia wymagania wstępne. W tym kroku pojawią się ostrzeżenia. Parametr jądra systemu semmni został skonfigurowany powyżej, ale dla tego parametru wyświetlany jest status niepowodzenia.

Parametr jądra systemu: semmni Niepowodzenie

Running prerequisite checks before installing Oracle database on Ubuntu

Można sprawdzić wartość tego parametru, aby upewnić się, że wszystko jest w porządku. Sprawdź parametr semmni za pomocą polecenia (uruchom jako root): /sbin/sysctl -a | grep sem

kernel.sem = 250 32000 100 128

lub

cat /proc/sys/kernel/sem

250 32000 100 128

Jeśli ostatnia wartość wynosi co najmniej 128, wszystko jest w porządku i można zignorować to ostrzeżenie.

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

Z jakiegoś powodu narzędzie Oracle do sprawdzania wymagań wstępnych nie może ustalić, czy parametr semmni jest poprawny i czy wymagane pakiety są zainstalowane. Jeśli zawartość okna Prerequisite Checks jest podobna do okna wyświetlonego na powyższym zrzucie ekranu, zaznacz pole wyboru Ignore All i kliknij Next , aby kontynuować.

19. Podsumowanie

Sprawdź podsumowanie konfiguracji, aby upewnić się, że skonfigurowałeś wszystkie ustawienia zgodnie z wymaganiami. Możesz zapisać plik odpowiedzi ( db.rsp ), ponieważ może się on przydać, gdy będziesz musiał zainstalować Oracle na wielu maszynach z systemem Linux lub jeśli zamierzasz zainstalować Oracle na serwerze Ubuntu bez GUI.

Checking Oracle configuration summary

Teraz możesz monitorować, jak instalator Oracle kopiuje pliki, aż instalator przejdzie do etapu Link binaries .

Łączenie plików binarnych dla Oracle — naprawianie błędów łączenia i kompilacji

Ten etap jest jednym z najtrudniejszych etapów instalacji bazy danych Oracle w systemie Ubuntu Linux. Prawdopodobieństwo wystąpienia błędów na tym etapie jest wysokie. W obecnym przykładzie podczas instalacji Oracle 11g w systemie Ubuntu 16 pojawia się następujący błąd:

Błąd podczas wywoływania celu „install” pliku makefile „/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk”. Zobacz plik „/u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log”, aby uzyskać szczegółowe informacje .

Należy pamiętać, że podobne błędy mogą wystąpić nawet podczas instalacji Oracle na systemie Oracle Linux. Nazwa pliku dziennika powinna być inna.

Uwaga : Pliki z .mk rozszerzeniem są plikami makefile i służą do kompilacji programów. Plik makefile określa, które „części” programu należy skompilować oraz które pliki programu muszą zostać skompilowane i połączone ze sobą. Niektóre komponenty oprogramowania Oracle są napisane w języku Java (na przykład Oracle Universal Installer, który posiada graficzny interfejs użytkownika), a inne w języku C. Komponenty napisane w języku Java muszą być interpretowane bez kompilacji (Java jest wieloplatformowa), natomiast komponenty napisane w języku C muszą zostać skompilowane, a łączenie plików binarnych i bibliotek jest wymaganym etapem tego procesu. Firma Oracle stosuje to podejście, aby zapewnić większą elastyczność i umożliwić instalację Oracle na różnych systemach operacyjnych (Windows, Linux, Solaris). Kolejną zaletą jest mniejszy rozmiar instalatora. Wadą jest to, że podczas procesu instalacji Oracle mogą wystąpić błędy na etapie łączenia plików binarnych . W większości przypadków, aby rozwiązać problemy z łączeniem, należy dodać odpowiednie flagi poprzez edycję plików .mk .

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

Dowiedzmy się, jak naprawić błędy linkowania plików binarnych, które występują podczas instalacji bazy danych Oracle w systemie Ubuntu Linux.

Zaloguj się jako oracle przez SSH do maszyny z systemem Ubuntu i sprawdź plik dziennika:

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

Czytając wynik dziennika, zwróć uwagę na wiersz wyjaśniający błąd.

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk:11: nie powiodła się receptura dla celu „ctxhx”

ins_ctx.mk:11 odsyła do wiersza 11 pliku ins_ctx.mk .

Otwórzmy plik ins_ctx.mk i sprawdźmy w nim wiersz 11.

vim /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk

W trybie nawigacji vim wpisz :set number , aby wyświetlić numery wierszy.

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

Znajdźmy wiersz nr 11.

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

Korzystając z trybu nawigacji w vim , można znaleźć potrzebny ciąg znaków za pomocą polecenia:

/LINK_CTXHX

Edytuj następującą sekcję:

ctxhx: $(CTXHXOBJ)

$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

Wiersz nr 11 należy edytować w następujący sposób:

-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

Zapisz ins_ctx.mk i zamknij vim .

Teraz wróć do okna błędu instalacji Oracle i kliknij Retry .

Proces instalacji jest kontynuowany, ale po kilku sekundach pojawia się kolejny błąd podczas Budowania bibliotek agenta :

Błąd podczas wywoływania celu „agent nmhs” pliku 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

Aby rozwiązać ten problem, uruchom następujące polecenia jako oracle :

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

Uwaga: sed to edytor tekstu strumieniowego, który pozwala zaoszczędzić czas podczas edycji plików .mk w porównaniu z edycją za pomocą vim lub innych interaktywnych edytorów tekstu.

Po uruchomieniu powyższych dwóch poleceń kliknij Retry w oknie błędu instalacji Oracle. Zobaczysz, że błąd został naprawiony i trwa instalacja bazy danych Oracle w systemie Ubuntu Linux. Jednak po kilku sekundach pojawia się kolejny błąd podczas Linking RDBMS Executables : Wystąpił błąd podczas wywoływania celu „all_no_orcl” w pliku makefile „/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

Aby naprawić ten błąd oraz kilka innych podobnych, uruchom następujące polecenia jako oracle :

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

Następnie wróć do okna błędu i kliknij Ponów próbę . Teraz proces instalacji powinien zostać wznowiony bez błędów.

Asystent konfiguracji bazy danych Oracle (DBCA) otworzy się po przejściu etapu Link binaries .

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

Executing configuration scripts

Jesteśmy już prawie na mecie instalacji bazy danych Oracle w systemie Ubuntu.

Uruchom te dwa skrypty jako root :

/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

Na poniższym zrzucie ekranu widać, że skrypty zostały pomyślnie wykonane.Running scripts to finish installing Oracle database on Ubuntu

Instalacja bazy danych Oracle zakończyła się powodzeniem .

Jeśli zobaczysz to powiadomienie, możesz zamknąć okno instalatora Oracle.

The installation of Oracle Database was successful on Ubuntu Linux

Sprawdź, czy Oracle działa w systemie Ubuntu

Otwórz przeglądarkę internetową na komputerze z systemem Ubuntu, na którym działa Oracle, i sprawdź, czy Oracle działa, otwierając interfejs internetowy Oracle Database Control Manager. Można to zrobić, korzystając z następujących linków:

https://localhost:1158/em

https://ubuntu-oracle11:1158/em

https://192.168.101.11:1158/em

Można również spróbować połączyć się z komputerem z systemem Ubuntu, na którym działa Oracle, z innego hosta w sieci.

Zdefiniuj parametry połączenia.

Nazwa użytkownika : SYS

Hasło : Twoje hasło ustawione podczas instalacji Oracle

Połącz jako : SYSDBA

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

Poniżej znajduje się zrzut ekranu z Oracle Enterprise Manager pokazujący, że Oracle działa poprawnie.

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

Konfiguracja Oracle po instalacji

Oracle jest już zainstalowany, a teraz powinniśmy skonfigurować bazę danych tak, aby uruchamiała się automatycznie po uruchomieniu systemu Ubuntu. Należy edytować plik konfiguracyjny /etc/oratab w celu ustawienia uruchamiania Oracle podczas startu systemu.

Uruchom polecenie jako root.

vim /etc/oratab

Zastąp N na Y na końcu linii:

ORADB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y

Przydatne polecenia

Przed ustawieniem automatycznego uruchamiania Oracle należy zrozumieć, jak ręcznie uruchamiać komponenty Oracle. Pomoże to również w diagnostyce. Uruchom te polecenia jako oracle użytkownik.

Uruchom bazę danych:

$ORACLE_HOME/bin/dbstart $ORACLE_HOME

Zatrzymaj bazę danych: $ORACLE_HOME/bin/dbshut $ORACLE_HOME

Uruchom menedżera Database Control Enterprise Manager, który udostępnia interfejs internetowy do zarządzania bazą danych:

emctl start dbconsole

Zatrzymaj menedżera Database Control Manager:

emctl stop dbconsole

Sprawdź stan menedżera Database Control Manager:

emctl status dbconsole

Uruchom moduł nasłuchujący:

$ORACLE_HOME/bin/lsnrctl start

Zatrzymaj moduł nasłuchujący:

$ORACLE_HOME/bin/lsnrctl stop

Sprawdź stan modułu nasłuchującego:

$ORACLE_HOME/bin/lsnrctl status

Uruchom Asystenta konfiguracji bazy danych (w powłoce GUI, a nie w konsoli SSH):

dbca

Moduł nasłuchujący Oracle można skonfigurować, edytując plik:

vim $ORACLE_HOME/network/admin/listener.ora

Łączenie się z bazą danych w konsoli:

sqlplus / as sysdba;

Tworzenie skryptu startowego dla Oracle w systemie Ubuntu

Zobaczmy, jak skonfigurować Oracle tak, aby uruchamiał się automatycznie podczas startu systemu Ubuntu. Po edycji /etc/oratab należy utworzyć skrypt startowy w katalogu /etc/init.d/ .

Utwórz nowy plik skryptu startowego Oracle w systemie Ubuntu (uruchom polecenie jako root ):

vim /etc/init.d/oracle

Dodaj do tego pliku następującą treść:

#!/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

Ustaw odpowiednie uprawnienia:

chown oracle:oinstall /etc/init.d/oracle

chmod 0775 /etc/init.d/oracle

Spraw, aby ten skrypt uruchamiał się zaraz po uruchomieniu systemu operacyjnego (dostępne dla domyślnych poziomów uruchamiania):

update-rc.d oracle defaults

W razie potrzeby możesz edytować priorytet uruchamiania.

Uruchom skrypt, aby zatrzymać Oracle (możesz uruchomić ten skrypt jako root ):

/etc/init.d/oracle stop

Jeśli chcesz uruchomić Oracle, uruchom ten skrypt za pomocą polecenia:

/etc/init.d/oracle start

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

Uwaga: Zwróć uwagę na następujący wiersz i podobne wiersze w skrypcie uruchamiającym Oracle:

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

Najpierw ustawiamy powłokę tak, aby odczytywała ustawienia zapisane w .bashrc profilu systemowym użytkownika oracle , w tym zmienne takie jak ORACLE_HOSTNAME , ORACLE_BASE , PATH itp., które są potrzebne do prawidłowego działania komponentów Oracle. Po zastosowaniu ustawień bash użytkownika oracle do bieżącej sesji powłoki, wykonywane jest następne polecenie w celu uruchomienia bazy danych Oracle. Jaka jest różnica między su - a su?

user1@hostname:~$ su - username2 – polecenie to uruchamia sesję powłoki wiersza poleceń jako wybrany użytkownik ( username2 ) z ustawieniami wybranego użytkownika ( username2 ), tak jakbyś był zalogowany jako username2 podczas tworzenia nowej sesji powłoki bezpośrednio (od zera). W tej sesji powłoki używane są zmienne środowiskowe username2 .

user1@hostname:~$ su username2 – to polecenie uruchamia powłokę wiersza poleceń jako wybrany użytkownik ( username2 ) z ustawieniami bieżącego użytkownika ( user1 ), a zmienne środowiskowe user1 są dziedziczone przez username2 w tej sesji powłoki.

su -c (–command) oznacza, że określone polecenie musi zostać uruchomione jako wybrany użytkownik.

Rozwiązywanie problemów

Przyjrzyjmy się niektórym potencjalnym problemom, które mogą wystąpić podczas instalacji Oracle na Ubuntu, oraz metodom ich rozwiązywania.

ORA-12547: TNS: utrata połączenia

Asystent konfiguracji bazy danych nie może utworzyć bazy danych i występuje błąd.

ORA-12547: TNS: utrata połączenia .

Pliki dziennika dla bieżącej operacji znajdują się pod adresem :

/u01/app/oracle/cfgtoollogs/dbca/ORADB11G

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

Sprawdź plik dziennika:

tail -n 100 /u01/app/oracle/cfgtoollogs/dbca/ORADB11G/cloneDBCreation.log

Zwróć uwagę na następujące ciągi znaków:

oracleORADB11G: błąd podczas ładowania bibliotek współdzielonych: libaio.so.1: nie można otworzyć pliku obiektu współdzielonego: Nie ma takiego pliku lub katalogu

ORA-12547: TNS: utracono połączenie

Jedną z przyczyn wyświetlania tego komunikatu o błędzie jest brak bibliotek związanych z odpowiednimi pakietami — libaio1 , libaio-dev . Sprawdź, czy wymienione pakiety są zainstalowane, w przeciwnym razie zainstaluj je:

sudo apt-get install libaio1

sudo apt-get install libaio-dev

Oracle nie uruchamia się automatycznie podczas startu systemu Ubuntu

Może się zdarzyć, że uruchamiasz skrypt jako root i widzisz komunikat:

„Zmienna środowiskowa ORACLE_UNQNAME nie została zdefiniowana. Ustaw ORACLE_UNQNAME na unikalną nazwę bazy danych”.

W tej sytuacji Oracle nie uruchamia się automatycznie podczas startu systemu Ubuntu. Jeśli ten komunikat o błędzie pojawia się podczas uruchamiania Oracle Enterprise Manager 11g Database Control, należy sprawdzić zmienne środowiskowe.

How to check the ORACLE_UNQNAME?

Można sprawdzić ORACLE_UNQNAME (uruchom polecenia jako oracle ).

sqlplus / as sysdba;

SQL> SELECT name, db_unique_name FROM v$database;

SQL> exit

Edytuj /etc/profile (jako root): vim /etc/profile

Dodaj następujący wiersz na końcu pliku /etc/profile

ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME

Uruchom ponownie komputer z systemem Ubuntu, na którym zainstalowano Oracle.

Teraz ten błąd nie powinien już pojawiać się podczas uruchamiania skryptu, a Oracle powinno uruchomić się po ręcznym wykonaniu polecenia /etc/init.d/oracle start . Jednak Oracle nadal nie uruchamia się automatycznie podczas startu systemu Ubuntu Linux. Przyczyną tego problemu jest brak ustawień zmiennych środowiskowych dla powłoki, w której uruchamiany jest skrypt. Zobacz wyjaśnienie dotyczące skryptu uruchamiającego Oracle powyżej i dokładnie przejrzyj swój skrypt.

Czy można zainstalować Oracle 11g na Ubuntu 18?

Ubuntu 18 posiada nowsze wersje bibliotek systemowych Linuksa, które są w dużym stopniu kompatybilne z Oracle 11g R2. Istnieje duże prawdopodobieństwo, że pojawią się błędy na etapie Link Binaries instalacji Oracle. Na przykład:

Błąd podczas wywoływania celu „links proc gen_pcscfg” pliku makefile „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

Dlatego w tym samouczku używamy Ubuntu 16. Oczywiście możesz spróbować zainstalować Oracle 11g na Ubuntu 18, ale przygotuj się na pewne trudności. Konieczne może być zainstalowanie pakietów i bibliotek starszych wersji, co spowoduje obniżenie wersji systemu operacyjnego Ubuntu.

Przebieg instalacji bazy danych Oracle na Ubuntu 18 jest podobny do instalacji bazy danych Oracle na Ubuntu 16 (dla Oracle 11g R2 EE). Na etapie Link Binaries , gdy pojawią się błędy, należy przeanalizować logi, zapoznać się z dokumentacją i naprawić błędy linkowania.

Poniższe polecenie może być przydatne do ręcznego ponownego łączenia bibliotek po edycji plików:

$ORACLE_HOME/bin/relink all

Wnioski

Ten wpis na blogu przeprowadził Cię przez proces instalacji Oracle 11g R2 Enterprise Edition, który jest znacznie bardziej złożony niż instalacja Oracle XE (Express Edition). Instalacja bazy danych Oracle w systemie Ubuntu wymaga ręcznej konfiguracji plików i parametrów systemowych.

Instalacja Oracle w systemie Ubuntu Linux nie jest łatwym zadaniem, ale Oracle Enterprise Edition oferuje wiele zalet. Etapy instalacji Oracle, które wymagają szczególnej uwagi, to instalacja pakietów Ubuntu, łączenie plików binarnych oraz tworzenie skryptu startowego. Jeśli wersje Ubuntu i Oracle są takie same jak te użyte w tym wpisie, postępuj zgodnie z instrukcją krok po kroku, aby pomyślnie zainstalować Oracle. Po wdrażaniu bazy danych Oracle nie zapomnij wykonać kopii zapasowej.

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Wdrażanie w 2 minuty i ochrona danych w środowiskach wirtualnych, chmurowych, fizycznych oraz SaaS. Opcje tworzenia kopii zapasowych, replikacji i natychmiastowego odzyskiwania danych.

People also read