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.
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:
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:
- /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 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.
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 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
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.
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 .
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 i 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 używany do przechowywania plików instalacyjnych Oracle nazywa się „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ż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
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 w systemie 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 administratorów baz danych (OSDBA): dba
Grupa operatorów baz 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 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.
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 .
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
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.
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 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”.
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”.
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 .
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
Na poniższym zrzucie ekranu widać, że skrypty zostały pomyślnie wykonane.
Instalacja bazy danych Oracle zakończyła się powodzeniem .
Jeśli zobaczysz to powiadomienie, możesz 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 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
Poniżej znajduje się zrzut ekranu z Oracle Enterprise Manager pokazujący, że Oracle działa poprawnie.
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
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
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”.
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.







































