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 niniejszym 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 oraz SUSE Linux Enterprise Server.
Można jednak zainstalować Oracle również na systemach Ubuntu Linux i OpenSUSE Linux. Ubuntu to popularna dystrybucja systemu Linux, szeroko stosowana na całym świecie, a dzisiejszy wpis na blogu zawiera szczegółową instrukcję krok po kroku dotyczącą instalacji Oracle w systemie Ubuntu. W tym samouczku zainstalujemy bazę danych Oracle Enterprise Edition (EE) 11g R2 w systemie Ubuntu.
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 zainstalować Oracle na systemie Ubuntu na maszynie wirtualnej.
Jeśli korzystasz z maszyny wirtualnej VMware, nie zapomnij zainstalować VMware Tools. Możesz również korzystać z maszyn wirtualnych VirtualBox i maszyny wirtualnej 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 wygląda następująco:
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 został 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ą systemu Linux (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 wykonać wiele poleceń w konsoli.
Aby włączyć uwierzytelnianie za pomocą haseł, edytuj plik sshd_config :
vim /etc/ssh/sshd_config
Usuń znak „#” na początku linii (odkomentuj):
PasswordAuthentication yes
Zapisz zmiany i zamknij plik, naciskając klawisz Esc w edytorze vim oraz wpisując :wq
Uruchom ponownie usługę (demona) sshd , wykonując polecenie z uprawnieniami administratora:
sudo service ssh restart
Konfiguracja pliku wymiany
System Ubuntu 16 domyślnie korzysta z partycji wymiany. Rozmiar partycji wymiany można dostosować podczas instalacji systemu Ubuntu. Jeśli wybrano domyślne opcje partycjonowania lub ustawiono nieprawidłowy rozmiar partycji swap, nadal można utworzyć plik wymiany o niestandardowym rozmiarze i korzystać z niego zamiast istniejącej partycji swap. Rozmiar pliku wymiany powinien być równy dwukrotności rozmiaru pamięci RAM. Jeśli zamierzasz zainstalować Oracle w systemie Ubuntu z 4 GB pamięci RAM, należy przygotować plik wymiany lub partycję swap o rozmiarze 8 GB. Utwórzmy plik wymiany o rozmiarze 8 GB.
Tymczasowe wyłączenie korzystania z 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 korzystanie z 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 pobiera 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ę adresu IP:
ifconfig
W wynikach wyświetlenia można zobaczyć nazwy kart sieciowych oraz 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 adresu 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żyta do instalacji Oracle na Ubuntu to ubuntu-oracle11 .
Sprawdź bieżącą nazwę hosta:
hostnamectl
Jeśli zapomniałeś skonfigurować nazwę hosta podczas instalacji Ubuntu lub chcesz ją zmienić 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 Linuksa: utworzyć użytkowników i grupy systemowe, skonfigurować parametry jądra, skonfigurować profil systemowy, ustawić zmienne środowiskowe dla użytkownika, zdefiniować limity 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 administratora :
sudo -i
Poniższe polecenia należy wykonać jako administrator .
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 użytkownika 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. Rozpatrywane 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 obsługuje dwie opcje — 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ę parametru zasobu wskazanego 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 znajduje się w pliku konfiguracyjnym /etc/profile .
Edytuj /etc/profile i ustaw globalnie oraz na stałe niektóre potrzebne parametry dla oracle :
vim /etc/profile
Dodaj następujące wiersze:
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żywać poszczególnych plików konfiguracyjnych 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:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.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 przez bash oraz inne powłoki, takie 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), to 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 nieinteraktywna ładuje konfigurację określoną w zmiennej środowiskowej $BASH_ENV . Powłoka typu non-login i nieinteraktywna jest używana podczas wykonywania skryptu.
Instalacja 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 je zainstalować, 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 wykonać z uprawnieniami administratora):
sudo dpkg -i nazwa_pakietu.deb
sudo apt-get -f install
W tym przypadku polecenia instalujące pakiety uruchamiamy jako zwykły użytkownik, na przykład user1 używając sudo . Naciśnij Ctrl+D , aby zakończyć sesję 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
Kolejny 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 kolejny 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. Pakiet ten 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 zainstalowania 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.
Poniższe polecenia należy wykonać jako root . Utwórz katalog tymczasowy do pobrania pakietu:
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
Pobierz pakiet (podane 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ą, może to oznaczać, że zamiast starszych wersji opublikowano nowsze wersje pakietów. W takim przypadku należy odwiedzić stronę internetową w przeglądarce i skopiować prawidłowe linki do potrzebnych deb pakietów:
http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/
Aby zmiany zaczęły obowiązywać, należy ponownie uruchomić komputer z systemem Linux. 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ć pliku 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 pliku 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 konsola została uruchomiona pod innym użytkownikiem:
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 systemu, nawet bez uruchamiania polecenia source ~/.bashrc.
init 6
Przygotowanie instalatora Oracle
Przygotowania do instalacji Oracle są już prawie zakończone. 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.
Otwórz przeglądarkę internetową.
W naszym przykładzie dwa pobrane pliki zostały zapisane w katalogu /home/oracle/Downloads dla wygody: linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
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.
Instalacja 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
1. Skonfiguruj aktualizacje zabezpieczeń
Odznacz pole wyboru „ Chcę otrzymywać aktualizacje zabezpieczeń za pośrednictwem serwisu My Oracle Support ”.
Kliknij Dalej , aby przejść do następnego kroku kreatora instalacji Oracle.
Pojawi się komunikat: Nie podałeś adresu e-mail. Czy chcesz pozostać niepoinformowany o krytycznych problemach bezpieczeństwa w Twojej konfiguracji? Zignoruj ten komunikat i kliknij Tak .
2. Opcja instalacji
Wybierz Utwórz i skonfiguruj bazę danych .
3. Klasa systemu
Wybierz Klasa serwera , która jest zaawansowaną opcją instalacji bazy danych Oracle w systemie Ubuntu.
4. Opcje siatki
Wybierz Instalacja bazy danych z pojedynczą instancją jako typ instalacji bazy danych.
5. Typ instalacji
Wybierz Instalacja zaawansowana jako typ instalacji. Ta opcja pozwala ustawić hasła, zestawy znaków, języki, opcje przechowywania itp.
6. Języki produktu
Wybierz potrzebne języki. W tym przykładzie wybrano angielski oraz angielski (Wielka Brytania) .
7. Edycja bazy danych
Wybierz Edycja Enterprise dla bazy danych, którą zamierzasz zainstalować.
8. Wybierz lokalizację bazową Oracle
Zazwyczaj używa się katalogu bazowego Oracle oraz katalogu domowego Oracle.
Baza Oracle: /u01/app/oracle
Lokalizacja oprogramowania: /u01/app/oracle/product/11.2.0/dbhome_1
9. Utwórz katalog inwentaryzacyjny
Katalog służący do przechowywania plików instalacyjnych Oracle nazywany jest „katalogiem inwentaryzacyjnym Oracle”.
Katalog inwentaryzacyjny: /u01/app/oraInventory
Nazwa grupy oraInventory: oinstall
10. Typ konfiguracji
Wybierz typ bazy danych, którą chcesz utworzyć:
Ogólnego przeznaczenia / Przetwarzanie transakcji
11. Identyfikatory bazy danych
Można 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
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ą).
13. Opcje zarządzania
Można pozostawić parametry domyślne.
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
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 na Ubuntu.
16. Hasła schematu
Możesz wybrać Użyj tego samego hasła dla wszystkich kont . Wprowadź hasło i potwierdź je.
17. Grupy systemu operacyjnego
Przeczytaj opis wyświetlony w oknie i wybierz wymagane grupy.
Grupa administratora bazy danych (OSDBA): dba
Grupa operatora bazy danych (OSOPER): oinstall
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
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.
Z jakiegoś powodu narzędzie Oracle do sprawdzania warunków wstępnych nie może ustalić, czy parametr semmni jest poprawny i czy wymagane pakiety są zainstalowane. Jeśli zawartość okna „Prerequisite Checks” (Sprawdzanie warunków wstępnych) jest podobna do okna pokazanego na powyższym zrzucie ekranu, zaznacz pole wyboru Ignore All (Zignoruj wszystko) i kliknij przycisk Next (Dalej), 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 graficznego interfejsu użytkownika.
Teraz możesz przeprowadzać monitorowanie, jak instalator Oracle kopiuje pliki, aż przejdzie do etapu Łączenie plików binarnych .
Łą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” w pliku makefile „/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk”. Szczegółowe informacje można znaleźć w pliku „/u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log” .
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 połączenie plików binarnych i bibliotek stanowi niezbędny etap tego procesu. Firma Oracle stosuje to podejście, aby zapewnić większą elastyczność i umożliwić instalację oprogramowania Oracle na różnych systemach operacyjnych (Windows, Linux, Solaris). Kolejną zaletą jest mniejszy rozmiar instalatora. Wadą jest to, że podczas procesu instalacji oprogramowania 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, edytując pliki .mk .
Dowiedzmy się, jak naprawić błędy linkowania plików binarnych, które pojawiają się podczas instalacji bazy danych Oracle w systemie Ubuntu Linux.
Zaloguj się jako oracle przez SSH do komputera z systemem Ubuntu i sprawdź plik dziennika:
tail -n 100 /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log
Czytając zawartość dziennika, zwróć uwagę na wiersz opisujący błąd.
INFO: /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk:11: nie powiodło się wykonanie receptury 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 programu vim wpisz :set number , aby wyświetlić numery wierszy.
Znajdźmy wiersz nr 11.
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
Zapisz plik 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 kompilacji bibliotek agenta :
Błąd podczas wywoływania celu „agent nmhs” z pliku makefile „/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/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. Zauważysz, że błąd został usunięty, a instalacja bazy danych Oracle w systemie Ubuntu Linux przebiega pomyślnie. 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”.
Aby naprawić ten błąd oraz kilka innych podobnych, należy uruchomić 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 należy powrócić do okna błędu i kliknąć „Retry” . Teraz proces instalacji powinien zostać wznowiony bez błędów.
Asystent konfiguracji bazy danych Oracle (DBCA) otworzy się po przejściu etapu Łączenie plików binarnych .
Wykonywanie skryptów konfiguracyjnych
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
Na poniższym zrzucie ekranu widać, że skrypty zostały pomyślnie wykonane.
Instalacja bazy danych Oracle zakończyła się powodzeniem .
Jeśli pojawi się to powiadomienie, można zamknąć okno instalatora Oracle.
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 poniższych 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
Poniżej znajduje się zrzut ekranu z Oracle Enterprise Manager przedstawiający prawidłowo działający Oracle.
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ć /etc/oratab plik konfiguracyjny, aby ustawić uruchamianie Oracle podczas rozruchu 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 narzędzie Database Control Enterprise Manager, które udostępnia interfejs internetowy do zarządzania bazą danych:
emctl start dbconsole
Zatrzymaj narzędzie Database Control Manager:
emctl stop dbconsole
Sprawdź stan narzędzia 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 narzędzie Database Configuration Assistant (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
Przyjrzyjmy się, 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 skrypt uruchamiał się zaraz po uruchomieniu systemu operacyjnego (dostępne dla domyślnych poziomów uruchomienia):
update-rc.d oracle defaults
W razie potrzeby możesz edytować priorytet uruchamiania.
Uruchom skrypt, aby zatrzymać Oracle (skrypt ten można uruchomić jako root ):
/etc/init.d/oracle stop
Jeśli chcesz uruchomić Oracle, uruchom ten skrypt za pomocą polecenia:
/etc/init.d/oracle start
Uwaga: Zwróć uwagę na poniższy 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 systemowego użytkownika oracle , w tym zmienne takie jak ORACLE_HOSTNAME , ORACLE_BASE , PATH itp., które są niezbędne do prawidłowego działania komponentów Oracle. Po zastosowaniu ustawień bash użytkownika oracle do bieżącej sesji powłoki wykonywane jest kolejne 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 wykorzystywane są zmienne środowiskowe username2 .
user1@hostname:~$ su username2 – polecenie to 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 w systemie Ubuntu, oraz sprawdźmy, czy istnieją sposoby ich rozwiązania.
ORA-12547: TNS: utrata połączenia
Asystent konfiguracji bazy danych nie może utworzyć bazy danych i pojawia się błąd.
ORA-12547: TNS: utrata połączenia .
Pliki dziennika dla bieżącej operacji znajdują się pod adresem :
/u01/app/oracle/cfgtoollogs/dbca/ORADB11G
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, a jeśli nie, 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. Zapoznaj się z powyższym wyjaśnieniem dotyczącym skryptu uruchamiającego Oracle i dokładnie przejrzyj swój skrypt.
Czy można zainstalować Oracle 11g w systemie Ubuntu 18?
Ubuntu 18 zawiera 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 instalacji Oracle związanym z Link Binaries . Na przykład:
Błąd podczas wywoływania celu „links proc gen_pcscfg” w pliku makefile „u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk”.
Dlatego w tym samouczku używamy systemu Ubuntu 16. Oczywiście możesz spróbować zainstalować Oracle 11g na Ubuntu 18, ale przygotuj się na pewne trudności. Może zaistnieć konieczność zainstalowania pakietów i bibliotek ze starszych wersji, co spowoduje przejście na starszą wersję systemu operacyjnego Ubuntu.
Proces instalacji bazy danych Oracle na Ubuntu 18 przebiega podobnie jak w przypadku 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 okazać się przydatne do ręcznego ponownego połą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ą od Ciebie szczególnej uwagi, to instalacja pakietów Ubuntu, linkowanie plików binarnych oraz utworzenie skryptu startowego. Jeśli Twoje wersje Ubuntu i Oracle są takie same jak wersje 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.







































