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 Ubuntu Linux
W tym samouczku używana jest świeżo zainstalowana Ubuntu 16.04.6. System operacyjny został zainstalowany na Maszynie wirtualnej VMware bez zaznaczania opcji „ Pobierz aktualizacje podczas instalowania Ubuntu ” i bez użycia opcji „ Zainstaluj oprogramowanie firm trzecich ” podczas wdrażania systemu.
Jeśli nigdy wcześniej nie instalowałeś Oracle na Linuksie, powinieneś nauczyć się zainstalować Oracle na systemie Ubuntu na maszynie wirtualnej przed instalacją Oracle na komputerze fizycznym lub serwerze.
Jeśli używasz maszyny wirtualnej VMware, nie zapomnij zainstalować VMware Tools. Możesz również użyć maszyn wirtualnych VirtualBox i Hyper-V.
Upewnij się, że wybrałeś poprawną strefę czasową podczas instalacji. Strefa czasowa w tym przykładzie to GMT 0 (Londyn).
Możesz sprawdzić strefę czasową za pomocą polecenia:
timedatectl
Sprawdź wersję Ubuntu:
lsb_release -a
W naszym przykładzie wynik jest następujący:
W tym samouczku dotyczącym instalowania Oracle 11g na Ubuntu używamy następujących parametrów sprzętowych maszyny wirtualnej:
- Procesor: 1 procesor
- RAM: 4 GB
- Dysk twardy: 40 GB
user1 jest zwykłym użytkownikiem w tym przykładzie ( użytkownik user1 został utworzony podczas instalacji Ubuntu i jest używany do logowania się do Ubuntu).
Zainstalowano następujące pakiety:
- vim , edytor tekstu
- net-tools , narzędzia do zarządzania siecią
- openssh-server , serwer SSH umożliwiający zdalne łączenie się z konsolą (terminal) Linux
Jeśli nie masz tych pakietów zainstalowanych w swoim Ubuntu Linux, możesz je zainstalować, używając polecenia:
sudo apt-get install -y vim net-tools openssh-server
Serwer SSH jest zainstalowany dla wygody. Powinieneś uruchomić wiele poleceń w konsoli przed użyciem instalatora Oracle na Ubuntu.
Aby umożliwić uwierzytelnianie przy użyciu haseł, edytuj plik sshd_config :
vim /etc/ssh/sshd_config
Usuń komentarz z wiersza (usuń „#” na początku wiersza):
PasswordAuthentication yes
Zapisz zmiany i zakończ, naciskając klawisz Esc w vim i wpisując :wq
Uruchom ponownie usługę (daemona) sshd , wykonując polecenie z uprawnieniami administratora:
sudo service ssh restart
Konfigurowanie pliku wymiany
Ubuntu 16 domyślnie używa partycji swap. Możesz dostosować rozmiar partycji swap podczas instalacji Ubuntu. Jeśli wybrano domyślne opcje partycjonowania lub wybrano nieprawidłowy rozmiar partycji wymiany, można nadal utworzyć plik wymiany o niestandardowym rozmiarze i użyć tego pliku zamiast istniejącej partycji wymiany. Rozmiar wymiany powinien być równy dwukrotności rozmiaru pamięci RAM. Jeśli zamierzasz zainstalować Bazę danych Oracle na Ubuntu z pamięcią RAM 4 GB, powinieneś przygotować plik lub partycję wymiany o rozmiarze 8 GB. Utwórzmy plik wymiany 8 GB.
Tymczasowe wyłączenie używania 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 8 GB jako plik wymiany:
sudo mkswap /swapfile
Ponownie włącz używanie wymiany:
sudo swapon /swapfile
Sprawdź rozmiar swojego obszaru wymiany po utworzeniu nowego pliku wymiany:
grep SwapTotal /proc/meminfo
Konfigurowanie ustawień sieci
Domyślnie Ubuntu 16 automatycznie uzyskuje adres IP dla interfejsu sieciowego (jeśli w sieci istnieje serwer DHCP). Musisz ustawić statyczny adres IP i skonfigurować nazwę hosta przed zainstalowaniem Bazy danych Oracle na Ubuntu.
Sprawdź bieżącą konfigurację adresu IP:
ifconfig
W wynikach możesz zobaczyć nazwy swoich adapterów sieciowych i adresy IP. W naszym przypadku nazwa potrzebnego interfejsu sieciowego to ens33 .
Konfigurowanie 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 na Ubuntu to 192.168.101.11 na obecnym interfejsie maszyny z systemem Linux w tym przykładzie. Zedytuj plik konfiguracyjny zgodnie z poniższymi instrukcjami:
# 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 zakończ.
Zastosuj zmiany:
sudo /etc/init.d/networking restart
Albo uruchom maszynę ponownie:
init 6
Zweryfikuj, czy nowe ustawienia IP zostały zastosowane:
ifconfig
Albo:
hostname -I
Po sprawdzeniu konfiguracji adresu IP, sprawdź nazwę hosta.
Sprawdzanie nazwy hosta
W naszym przypadku nazwa hosta używana do instalacji Bazy danych 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, możesz to zrobić.
Aby zmienić nazwę hosta i ustawić nową nazwę ( ubuntu-oracle11 ), uruchom polecenie:
sudo hostnamectl set-hostname ubuntu-oracle11
Zweryfikuj, czy nowa nazwa hosta została zastosowana:
less /etc/hostname
Edytuj plik hostów:
sudo vim /etc/hosts
Zawartość pliku /etc/hosts powinna wyglądać tak:
127.0.0.1 localhost
127.0.1.1 ubuntu-oracle11
Uruchom ponownie maszynę: init 6
Spróbuj pingować zdefiniowaną nazwę hosta na komputerze Ubuntu:
ping ubuntu-oracle11
Konfigurowanie środowiska dla Oracle
Aby zainstalować Oracle na Ubuntu, musisz skonfigurować środowisko Linux: utwórz konta użytkowników systemowych, skonfiguruj parametry jądra, ustaw systemowy profil, skonfiguruj zmienne środowiskowe dla użytkownika, zdefiniuj limity powłoki, utwórz symlinki i zainstaluj wymagane pakiety.
Tworzenie użytkowników i grup
Otwórz lokalną konsolę lub połącz się z konsolą Linux poprzez SSH jako zwykły użytkownik, a następnie uzyskaj przywileje root :
sudo -i
Poniższe polecenia muszą być wykonane jako root .
Dodaj grupy wymagane przez Oracle.
Utwórz Grupę Inwentarza Oracle:
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 jako domyślną powłokę używa /bin/bash :
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 użytkownika Oracle jako właściciela katalogu domowego Oracle i katalogu instalacji 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, tworzenie grupy nobody nie jest wymagane dla Oracle 11.
Utwórz katalog dla Inwentarza Oracle:
mkdir -p /u01/app/oraInventory
Ustaw użytkownika oracle jako właściciela katalogu Inwentarza Oracle:
chown -R oracle:oinstall /u01/app/oraInventory
Konfigurowanie parametrów jądra
Specjalne parametry jądra są wymagane do zainstalowania Oracle na Ubuntu i wpływają na wydajność Oracle. Parametry pamięci współdzielonej, w tym minimalna i maksymalna wielkość, liczba segmentów pamięci współdzielonej i semafory, które mogą być traktowane jako flagi pamięci współdzielonej, muszą być dostosowane zgodnie z dokumentacją Oracle. Musisz również ustawić maksymalną dozwoloną liczbę plików, które mogą być otwarte jednocześnie, maksymalną liczbę równoczesnych połączeń sieciowych, wielkość bufora wysyłania i odbioru sieciowego. Rozważane parametry jądra mogą być kategoryzowane w trzech grupach: specyfikacje jądra ( kernel ), specyfikacje sieci ( network ) i obsługa plików ( fs ). Edytuj plik /etc/sysctl.conf , aby nadpisać parametry jądra Linuksa:
vim /etc/sysctl.conf
Dołącz poniższe linie 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
Konfigurowanie limitów powłoki
Musisz ustawić limity powłoki, aby poprawić wydajność oprogramowania bazy danych Oracle.
Edytuj plik /etc/security/limits.conf :
vim /etc/security/limits.conf
Dodaj poniższe linie 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 limity są ustawione.
Druga kolumna operuje dwoma opcjami — soft i hard. Soft to maksymalna liczba, która może być ustawiona przez użytkownika, podczas gdy hard to maksymalna liczba, którą może skonfigurować zdefiniowany użytkownik (oracle). Jeśli użytkownik oracle osiągnie krytyczną niską wartość 2047 ustawioną w pierwszej linii i potrzebuje zwiększyć limit, użytkownik może zwiększyć limit do 16384. Wartości wyższe niż 16384 nie mogą być ustawione przez użytkownika oracle , ale mogą być ustawione przez root.
Trzecia kolumna definiuje, na jakich zasobach określone limity są stosowane.
Czwarta kolumna definiuje maksymalną liczbę parametru zasobu określonego w trzeciej kolumnie.
Konfiguracja PAM
Upewnij się, że plik konfiguracyjny /etc/pam.d/login zawiera następującą linię:
session required pam_limits.so
Możesz to zrobić poleceniem:
cat /etc/pam.d/login | grep pam_limits.so
Jeśli wspomniana linia jest nieobecna, dodaj tę linię ręcznie.
Ustawianie profilu powłoki
Zmienne środowiskowe systemowe są ustawione w globalnym profilu powłoki bash, który jest ustawiony w pliku konfiguracyjnym /etc/profile .
Edytuj /etc/profile i ustaw niektóre potrzebne parametry dla oracle globalnie i trwale:
vim /etc/profile
Dodaj poniższe 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 każdy plik konfiguracyjny powłoki może być używany, ponieważ później trzeba będzie skonfigurować profil zawierający zmienne środowiskowe dla użytkownika oracle .
Bash login shell ł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 globalny profil dla powłoki logowania bash.
./bash_profile jest stosowany dla powłok logowania bash, na przykład, gdy logujesz się bezpośrednio do interfejsu wiersza poleceń Linux za pomocą klawiatury podłączonej do tego komputera z systemem Linux lub otwierając nową sesję konsolową po zalogowaniu się za pomocą terminala SSH.
.profile – ten plik jest odczytywany dla bash oraz innych powłok jak sh .
Nieloginowa interaktywna powłoka bash ładuje konfigurację z ~/.bashrc
To znaczy, że jeśli już zalogowałeś się na swoim komputerze z systemem Linux (na przykład zalogowałeś się do Ubuntu z GUI) i potem otworzyłeś nową konsolę (okno terminalu), to konfiguracja powłoki, w tym zmienne środowiskowe, jest ładowana z pliku .bashrc zanim uzyskasz dostęp do wiersza poleceń.
Nieloginowa i nieinteraktywna powłoka bash ładuje konfigurację ustawioną w zmiennej środowiskowej $BASH_ENV . Nieloginowa i nieinteraktywna powłoka jest używana, gdy skrypt jest uruchamiany.
Instalowanie wymaganych pakietów
Musisz zainstalować pakiety wymagane przez Oracle. Zachowaj ostrożność podczas ich instalacji, ponieważ brakujący pakiet może powodować błędy podczas instalacji Oracle lub tworzenia bazy danych.
Aktualizuj drzewo repozytorium:
apt-get update
Zainstaluj pakiety, aby uniknąć błędów, które mogą wystąpić podczas instalacji Oracle na Ubuntu. Większość pakietów można zainstalować za pomocą standardowego menedżera pakietów Ubuntu z repozytoriów online.
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 kilka pakietów do zainstalowania, ale aby je zainstalować, będziesz potrzebował tych wskazówek i trików.
apt-get install ia32-libs
Podczas uruchamiania polecenia instalacyjnego z apt-get , zobaczysz komunikat o tym, że ten pakiet nie jest dostępny.
Istnieje alternatywny pakiet, który można zainstalować zamiast ia32-libs . Zainstaluj alternatywny pakiet lib32z1 :
apt-get install lib32z1
Zainstaluj kolejny pakiet:
apt-get install libmotif4
Ten pakiet również nie jest dostępny. Powinieneś pobrać i zainstalować ten pakiet ręcznie. Pobierz plik libmotif4_2.3.4-8ubuntu1_amd64.deb z bezpłatny zasób. Zapisz pobrany plik deb do niestandardowego katalogu, na przykład /home/user1/Downloads, zanim zainstalujesz ten pakiet.
Przebieg instalacji pakietów deb w Ubuntu jest następujący (wykonaj polecenia z uprawnieniami root):
sudo dpkg -i package_name.deb
sudo apt-get -f install
W tym przypadku uruchamiamy polecenia dotyczące instalacji pakietów jako zwykły użytkownik, na przykład user1 , używając sudo . Naciśnij Ctrl+D , aby zakończyć sesję root i powrócić do sesji user1 w konsoli (terminalu).
Przejdź do katalogu, w którym zapisane są pobrane pliki:
cd /home/user1/Downloads
Pobierz plik za pomocą 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ępny pakiet nie może zostać zainstalowany automatycznie:
sudo apt-get install libpthread-stubs0
E: Nie można znaleźć 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ępny pakiet:
sudo apt-get install lsb-cxx
E: Nie można znaleźć pakietu lsb-cxx
Możesz pobrać pakiet lsb-cxx ręcznie.
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 żadnego kandydata do zainstalowania
Przebieg instalacji pakietu pdksh jest taki sam. 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 Ubuntu 16. Oto jak można ręcznie zainstalować ten pakiet.
Następne polecenia są wykonywane jako root . Utwórz tymczasowy katalog do pobrania pakietu:
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
Pobierz pakiet (pokazano linki do 32-bitowych i 64-bitowych pakietów):
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ą, mogą być opublikowane nowszych wersji pakietów w miejsce starszych. W tym przypadku odwiedź stronę internetową w przeglądarce i skopiuj właściwe linki do potrzebnych pakietów deb :
http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/
Zrestartuj komputer z Linuxem, aby zastosować zmiany. init 6
Tworzenie dowiązań symbolicznych
Musisz utworzyć dowiązania symboliczne (symlinki), aby sprawić, że struktura plików i katalogów używana w Ubuntu będzie podobna do struktury plików w Red Hat. Utwórz symlinki, aby struktura systemu plików wyglądała jak identyczna do struktury systemu plików Red Hat, aby zapobiec błędom 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 można 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 zapobiegniemy 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 przegap kropki na końcu polecenia.
Ustaw wersję Linux jako Red Hat Linux wydanie 5 w /etc/redhat-release . Systemy Linux Red Hat przechowują swoje wersje w tym pliku.
echo 'Red Hat Linux release 5' > /etc/redhat-release
Konfigurowanie profilu użytkownika Oracle
Teraz musisz skonfigurować środowisko użytkownika dla użytkownika 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 linie 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
Powinieneś teraz uruchomić ponownie Ubuntu. Pamiętaj, że ustawienia będą stosowane po ponownym uruchomieniu nawet bez uruchamiania source ~/.bashrc.
init 6
Przygotowywanie instalatora Oracle
Prawie ukończyliśmy przygotowania do instalacji Oracle. Pozostało jeszcze kilka kroków, zanim będziesz mógł rozpocząć instalator i zainstalować Oracle na Ubuntu. Po ponownym uruchomieniu maszyny 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 /home/oracle/Downloads dla wygody. linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
Otwórz konsolę w Ubuntu i uruchom następujące polecenia jako oracle. Przejdź do katalogu, w którym przechowywane są 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
Wyodrębnione pliki są przechowywane w:
/home/oracle/Downloads/database
Teraz jesteś gotowy, aby uruchomić instalator i zainstalować Oracle na Ubuntu.
Instalacja Oracle
Przejdź do katalogu, do którego pobrano pliki instalacyjne. Uruchom polecenia jako oracle w konsoli uruchomionej w sesji GUI.
cd /home/oracle/Downloads/database
Uruchom instalator Oracle:
./runInstaller
1. Konfiguracja Aktualizacji Bezpieczeństwa
Odznacz pole wyboru „ Chcę otrzymywać aktualizacje zabezpieczeń za pośrednictwem My Oracle Support ”.
Kliknij Dalej , aby przejść do następnego kroku kreatora instalacji Oracle.
Zobaczysz komunikat: Nie podano adresu e-mail. Czy chcesz pozostać bez informacji o krytycznych problemach bezpieczeństwa w twojej konfiguracji? Zignoruj ten komunikat i wybierz 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 na Ubuntu.
4. Opcje Sieci
Wybierz Instalacja pojedynczej instancji bazy danych jako typ instalacji bazy danych.
5. Typ Instalacji
Wybierz Instalacja zaawansowana jako typ instalacji. Ta opcja pozwala na ustawienie haseł, zestawów znaków, języków, opcji magazynowych itp.
6. Języki Produktu
Wybierz potrzebne języki. W tym przykładzie, angielski i angielski (Wielka Brytania) są wybrane.
7. Edycja Bazy Danych
Wybierz Edycja Enterprise dla bazy danych, którą zamierzasz zainstalować.
8. Wybierz Lokalizację Bazy Oracle
Zwykle używany jest katalog podstawowy Oracle oraz katalog domowy Oracle.
Podstawa Oracle: /u01/app/oracle
Lokalizacja oprogramowania: /u01/app/oracle/product/11.2.0/dbhome_1
9. Utwórz Inwentarz
Katalog wykorzystywany do przechowywania plików instalacyjnych Oracle jest nazywany „katalogiem inwentarza Oracle”.
Katalog inwentarza: /u01/app/oraInventory
Nazwa Grupy oraInventory: oinstall
10. Typ konfiguracji
Wybierz typ bazy danych, którą chcesz utworzyć:
Ogólne Przeznaczenie / Przetwarzanie Transakcji
11. Identyfikatory Bazy Danych
Można zdefiniować tę samą wartość dla globalnej nazwy bazy danych oraz Identyfikatora Usługi Oracle.
Globalna nazwa bazy danych: ORADB11G
Identyfikator Usługi Oracle (SID): ORADB11G
12. Opcje konfiguracji
W tym kroku są cztery zakładki. Można ustawić konfigurację na każdej zakładce w następujący sposób:
Pamięć: Włącz Automatyczne Zarządzanie Pamięcią (domyślnie).
Zestawy znaków: Użyj Unicode (AL32UTF8).
Bezpieczeństwo: Potwierdź wszystkie nowe ustawienia bezpieczeństwa (domyślnie).
Przykładowe schematy: Utwórz bazę danych z przykładowymi schematami (jednak możesz zostawić wartość domyślną).
13. Opcje zarządzania
Możesz zostawić domyślne parametry.
14. Magazyn bazy danych
Przeczytaj zalecenia wyświetlane 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ź hasło.
17. Grupy Systemu Operacyjnego
Przeczytaj opis wyświetlany w oknie i wybierz wymagane grupy.
Grupa Administratorów Bazy Danych (OSDBA): dba
Grupa Operatorów Bazy Danych (OSOPER): oinstall
18. Kontrole warunków koniecznych
Teraz instalator Oracle sprawdza, czy konfiguracja systemu spełnia wymagania wstępne. W tym kroku pojawią się ostrzeżenia. Parametr jądra OS semmni został skonfigurowany powyżej, ale status błędu jest wyświetlany dla tego parametru.
Parametr jądra OS: semmni Niepowodzenie
Możesz sprawdzić wartość tego parametru, aby upewnić się, że wszystko jest poprawne. Sprawdź parametr semmni za pomocą polecenia (wykonaj 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ść jest nie mniejsza niż 128, to wszystko jest OK i możesz zignorować to ostrzeżenie.
Z jakiegoś powodu kontroler warunków wstępnych Oracle nie może ustalić, że parametr semmni jest poprawny i wymagane pakiety są zainstalowane. Jeśli zawartość okna „Warunki wstępne” jest podobna do okna pokazanego na powyższym zrzucie ekranu, zaznacz pole „ Ignoruj Wszystko ” i kliknij „ Dalej ” aby kontynuować.
19. Podsumowanie
Sprawdź podsumowanie konfiguracji, aby upewnić się, że skonfigurowałeś wszystkie ustawienia zgodnie z potrzebami. Możesz zapisać plik odpowiedzi ( db.rsp ) jako przydatny przy instalacji Oracle na wielu maszynach Linux lub przy instalacji Oracle na Serwerze Ubuntu bez GUI.
Teraz możesz monitorować jak instalator Oracle kopiuje pliki, aż do momentu przejścia do etapu Łączenie binariów .
Łączenie binariów dla Oracle—poprawianie błędów łączenia i kompilacji
Ten etap jest jednym z najtrudniejszych etapów instalacji bazy danych Oracle na systemie Ubuntu Linux. Prawdopodobieństwo wystąpienia błędów na tym kroku jest wysokie. W obecnym przykładzie wystąpił następujący błąd podczas instalacji Oracle 11g na Ubuntu 16:
Błąd podczas wywoływania elementu docelowego 'install’ z makefile 'u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. Zobacz '/u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log’ dla szczegółów .
Zauważ, że podobne błędy mogą wystąpić nawet przy instalacji Oracle na Oracle Linux. Nazwa Twojego pliku dziennika może być inna.
Uwaga : Pliki z rozszerzeniem .mk to makefiles i są używane do kompilacji programów. Makefile określa, które 'kawałki’ programu skompilować i które pliki programu muszą być skompilowane oraz połączone. Niektóre komponenty oprogramowania Oracle są napisane w języku Java (na przykład Oracle Universal Installer z GUI), a inne komponenty są napisane w C. Komponenty napisane w Javie muszą być interpretowane bez kompilacji (Java jest wieloplatformowa), podczas gdy komponenty napisane w C muszą być kompilowane i łączenie binariów oraz bibliotek jest wymaganym etapem tego procesu. Oracle używa tego podejścia, aby zwiększyć elastyczność i umożliwić instalację Oracle na różnych systemach operacyjnych (Windows, Linux, Solaris). Kolejną zaletą jest zmniejszenie rozmiaru instalatora. Wadą jest możliwość wystąpienia błędów na etapie łączenia plików binarnych w trakcie procesu instalacji Oracle. W większości przypadków należy dodać odpowiednie flagi, edytując pliki .mk , aby naprawić problemy z łączeniem.
Dowiedzmy się, jak naprawić błędy łączenia plików binarnych, które pojawiają się podczas instalacji bazy danych Oracle na Ubuntu Linux.
Zaloguj się jako oracle za pomocą SSH do maszyny z Ubuntu i sprawdź plik logu:
tail -n 100 /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log
Podczas przeglądania danych wyjściowych logu, zwróć uwagę na linię wyjaśniającą błąd.
INFORMACJE: /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk:11: recepta dla docelowego elementu 'ctxhx’ zakończone niepowodzeniem
ins_ctx.mk:11 odnosi się do linii 11 w pliku ins_ctx.mk .
Otwórzmy plik ins_ctx.mk i sprawdźmy linię 11 tego pliku.
vim /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
W trybie nawigacji edytora vim wpisz :set number , aby zobaczyć numery linii.
Znajdźmy numer linii 11.
Podczas korzystania z trybu nawigacji w vim , możesz znaleźć potrzebny ciąg poleceniem:
/LINK_CTXHX
Edytuj następującą sekcję:
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
Linia 11 musi zostać zmodyfikowana w następujący sposób:
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
Zapisz ins_ctx.mk i wyjdź z vim .
Teraz wróć do okna błędu instalacji Oracle i kliknij Ponów próbę .
Proces instalacji jest kontynuowany, ale po kilku sekundach wyświetlany jest kolejny błąd podczas Budowy Bibliotek Agenta :
Błąd przy wywoływaniu docelowego elementu 'agent nmhs’ z pliku makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’.
Uruchom następujące polecenia jako oracle , aby rozwiązać ten problem:
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 jest edytorem tekstu strumieniowego, który jest wykorzystywany do oszczędzania czasu edycji plików .mk w porównaniu do ich edycji za pomocą vim lub innych interaktywnych edytorów tekstu.
Po uruchomieniu powyższych dwóch poleceń kliknij Ponów próbę w oknie błędu instalacji Oracle. Widzisz, że błąd został naprawiony i kontynuowana jest instalacja bazy danych Oracle na Ubuntu Linux. Jednak po kilku sekundach występuje kolejny błąd podczas Łączenia Wykonywalnych Plików RDBMS : Błąd przy wywoływaniu celu „all_no_orcl” w pliku makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk’.
Uruchom następujące polecenia jako oracle , aby naprawić ten błąd i kilka innych podobnych błędów:
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 Łączenie binariów .
Wykonywanie skryptów konfiguracyjnych
Jesteśmy prawie na mecie instalacji bazy danych Oracle na 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 możesz zobaczyć, że skrypty zostały wykonane pomyślnie.
Instalacja Bazy Danych Oracle zakończyła się sukcesem .
Jeśli widzisz to powiadomienie, możesz zamknąć okno instalatora Oracle.
Sprawdź, czy Oracle działa na Ubuntu
Otwórz przeglądarkę internetową na swoim komputerze Ubuntu z uruchomionym Oracle i sprawdź, czy Oracle działa, otwierając interfejs sieciowy Menedżera Kontroli Bazy Danych Oracle. Następujące linki mogą być użyte do tego celu:
https://localhost:1158/em
https://ubuntu-oracle11:1158/em
https://192.168.101.11:1158/em
Możesz również spróbować połączyć się z maszyną Ubuntu z uruchomionym Oracle z innego hosta w swojej sieci.
Zdefiniuj parametry połączenia.
Nazwa użytkownika : SYS
Hasło : Twoje hasło ustawione podczas instalacji Oracle
Połącz jako : SYSDBA
Poniżej możesz zobaczyć zrzut ekranu Menedżera Przedsiębiorstwa Oracle, gdy Oracle działa prawidłowo.
Konfiguracja po instalacji Oracle
Oracle jest teraz zainstalowana, a my powinniśmy skonfigurować bazę danych, aby uruchamiała się automatycznie po uruchomieniu Ubuntu. Powinieneś edytować plik konfiguracyjny /etc/oratab , aby ustawić Oracle do uruchomienia podczas rozruchu systemu.
Uruchom polecenie jako root.
vim /etc/oratab
Zamień N na Y na końcu wiersza:
ORADB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Przydatne polecenia
Zanim ustawisz Oracle do startu automatycznego, powinieneś zrozumieć, jak ręcznie uruchamiać komponenty Oracle. To także pomoże w diagnostyce. Uruchom te polecenia jako użytkownik oracle .
Uruchom bazę danych:
$ORACLE_HOME/bin/dbstart $ORACLE_HOME
Zatrzymaj bazę danych: $ORACLE_HOME/bin/dbshut $ORACLE_HOME
Rozpocznij Enterprise Manager Database Control, który zapewnia interfejs WWW do kontroli bazy danych:
emctl start dbconsole
Zatrzymaj Managera Kontroli Bazy Danych:
emctl stop dbconsole
Sprawdź status Managera Kontroli Bazy Danych:
emctl status dbconsole
Rozpocznij listenera:
$ORACLE_HOME/bin/lsnrctl start
Zatrzymaj listenera:
$ORACLE_HOME/bin/lsnrctl stop
Sprawdź status listenera:
$ORACLE_HOME/bin/lsnrctl status
Rozpocznij Asystenta Konfiguracji Bazy Danych (w powłoce GUI, nie w konsoli SSH):
dbca
Listener Oracle może być konfigurowany przez edycję pliku:
vim $ORACLE_HOME/network/admin/listener.ora
Łączenie z bazą danych w konsoli:
sqlplus / as sysdba;
Tworzenie skryptu startowego dla Oracle w Ubuntu
Zbadamy, jak ustawić Oracle do automatycznego uruchamiania podczas rozruchu Ubuntu. Po edytowaniu /etc/oratab , należy utworzyć skrypt startowy w katalogu /etc/init.d/.
Utwórz nowy plik skryptu startowego Oracle w Ubuntu (uruchom polecenie jako root ):
vim /etc/init.d/oracle
Dodaj następującą treść do tego pliku:
#!/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 prawidłowe uprawnienia:
chown oracle:oinstall /etc/init.d/oracle
chmod 0775 /etc/init.d/oracle
Upewnij się, że skrypt uruchamia się zaraz po starcie systemu operacyjnego (dostępny dla domyślnych poziomów uruchamiania):
update-rc.d oracle defaults
Możesz edytować priorytet uruchamiania, jeśli to konieczne.
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
Uwaga: Zwróć uwagę na następującą linię i podobne linie w skrypcie startowym Oracle:
source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
Najpierw ustawiamy powłokę na odczyt ustawień zapisanych w profilu systemowym .bashrc użytkownika oracle , w tym zmiennych takich jak ORACLE_HOSTNAME , ORACLE_BASE , PATH itd., 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, następujące polecenie jest wykonywane w celu uruchomienia bazy danych Oracle. Jaka jest różnica między su - a su?
użytkownik1@hostname:~$ su - username2 – to polecenie uruchamia sesję powłoki wiersza poleceń jako wybrany użytkownik ( użytkownik2 ) z ustawieniami wybranego użytkownika ( użytkownik2 ), jakbyś był zalogowany jako użytkownik2 przy tworzeniu nowej sesji powłoki bezpośrednio (od zera). Zmienne środowiskowe użytkownika2 są używane w tej sesji powłoki.
użytkownik1@hostname:~$ su username2 – to polecenie uruchamia powłokę wiersza poleceń jako wybrany użytkownik ( użytkownik2 ) z ustawieniami bieżącego użytkownika ( użytkownik1 ), a zmienne środowiskowe użytkownika1 są dziedziczone przez użytkownika2 w tej sesji powłoki.
su -c (–command) oznacza, że określone polecenie musi być uruchomione jako wybrany użytkownik.
Rozwiązywanie problemów
Przyjrzyjmy się niektórym możliwym problemom, które mogą wystąpić podczas instalacji Oracle na Ubuntu i czy istnieją metody ich naprawy.
ORA-12547: TNS:utrata kontaktu
Asystent konfiguracji bazy danych nie może utworzyć bazy danych, a pojawia się błąd.
ORA-12547: TNS:utrata kontaktu .
Pliki dziennika dla bieżącej operacji znajdują się w :
/u01/app/oracle/cfgtoollogs/dbca/ORADB11G
Sprawdź plik dziennika:
tail -n 100 /u01/app/oracle/cfgtoollogs/dbca/ORADB11G/cloneDBCreation.log
Zwróć uwagę na te ciągi znaków:
oracleORADB11G: błąd podczas ładowania wspólnych bibliotek: libaio.so.1: nie można otworzyć pliku udostępnionego: nie ma takiego pliku ani katalogu
ORA-12547: TNS:utrata kontaktu
Jednym z powodów wyświetlenia tego komunikatu błędu 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 rozruchu Ubuntu
Może się zdarzyć, że uruchamiasz skrypt jako root i widzisz komunikat:
“Zmienne środowiskowe ORACLE_UNQNAME nie są zdefiniowane. Ustaw ORACLE_UNQNAME na unikalną nazwę bazy danych”.
Oracle nie uruchamia się automatycznie podczas rozruchu Ubuntu w tej sytuacji. Jeśli ten komunikat o błędzie zostanie wyświetlony podczas uruchamiania Oracle Enterprise Manager 11g Database Control, należy sprawdzić zmienne środowiskowe.
How to check the ORACLE_UNQNAME?
Możesz 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 linię na końcu pliku /etc/profile :
ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME
Uruchom ponownie maszynę Ubuntu, na której zainstalowano Oracle.
Ten błąd nie powinien się już pojawiać podczas uruchamiania skryptu, a Oracle powinno rozpocząć działanie po ręcznym uruchomieniu polecenia /etc/init.d/oracle start. Mimo to, Oracle nadal nie uruchamia się automatycznie podczas startu Ubuntu Linux. Powodem tego problemu jest to, że zmienne środowiskowe nie są ustawione dla powłoki, w której działa skrypt. Zapoznaj się z wyjaśnieniem dotyczących skryptu startowego Oracle powyżej i dokładnie przeanalizuj swój skrypt.
Czy możliwe jest zainstalowanie Oracle 11g na Ubuntu 18?
Ubuntu 18 posiada nowsze wersje systemu bibliotek Linux, które są w dużej mierze 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 w wywoływaniu celu 'links proc gen_pcscfg’ z makefile 'u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk’.
Dlatego w tym przewodniku używane jest Ubuntu 16. Oczywiście, można spróbować zainstalować Oracle 11g na Ubuntu 18, ale trzeba być przygotowanym na pewne trudności. Może być konieczne zainstalowanie pakietów i bibliotek w starszych wersjach, co wiąże się z obniżeniem wersji systemu Ubuntu.
Proces instalacji bazy danych Oracle na Ubuntu 18 jest podobny do instalacji bazy danych Oracle na Ubuntu 16 (dla Oracle 11g R2 EE). W chwili wystąpienia błędów na etapie Link Binaries , należy analizować logi, badać dokumentację i naprawiać błędy łączenia.
Następujące polecenie może być użyteczne do ręcznego ponownego łączenia bibliotek po edycji plików:
$ORACLE_HOME/bin/relink all
Podsumowanie
Ten wpis na blogu przeprowadził Cię przez instalację Oracle 11g R2 Enterprise Edition, co jest znacznie bardziej złożonym procesem niż instalacja Oracle XE (Express Edition). Instalacja bazy danych Oracle na Ubuntu wymaga ręcznej konfiguracji plików i parametrów systemowych.
Instalacja Oracle na Ubuntu Linux nie jest łatwym zadaniem, ale Oracle Enterprise Edition oferuje wiele korzyści. Kroki instalacyjne Oracle, które wymagają Twojej szczególnej uwagi, to instalacja pakietów Ubuntu, łączenie binariów i tworzenie skryptu startowego. Jeśli Twoje wersje Ubuntu i Oracle są takie same jak użyte w tym artykule, postępuj zgodnie z instrukcją krok po kroku, aby uzyskać pomyślną instalację Oracle. Po wdrożeniu bazy danych Oracle nie zapomnij o tworzeniu kopii zapasowych.







































