Jak mogę zainstalować Oracle 11g R2?

8

Sam tytuł jest więcej niż oczywisty. Po prostu potrzebuję sposobu na zainstalowanie 11g R2 Oracle w najnowszej wersji Ubuntu, używam 32-bitowego systemu operacyjnego i muszę wiedzieć, jak zainstalować wersję x86. Mam również 64-bitowy pulpit i potrzebuję zainstalować wersję x86_64. Czy ktoś może mi pomóc?

esnowrackley
źródło
1
czy to działa: ubuntuserverguide.com/2012/06/… ?
Rinzwind
1
w przeciwnym razie ten: blog.arkzoyd.com/2011/11/…
Rinzwind
Właściwie to po prostu zamieszczając i odpowiadając na pytania, które w przeszłości miały niejasne odpowiedzi, bez większego wsparcia. Dziękuję bardzo za pomoc! Wyrazy uznania dla ciebie!
esnowrackley

Odpowiedzi:

6

W przypadku Oracle 11g R2 istnieje kilka dodatków, które należy zainstalować, ponieważ nie są one domyślnie dostarczane. Ale przejdziemy do nich za sekundę, a wiele z nich nie jest w pełni potrzebnych, ale ułatwią. (Takich jak ssh!)

UWAGA: Wszystkie polecenia terminala można kopiować i wklejać, jednak wklejanie w terminalu wymaga naciśnięcia klawisza ctrl + shift + v, gdziekolwiek indziej można użyć ctrl + v.

Teraz tutaj są pliki, dzielące się na dwie części, w formacie .zip. To jest dla x86. Powinieneś być w stanie je otworzyć bez problemu, a jeśli nie, w witrynie znajduje się narzędzie do rozpakowywania. Narzędzie do rozpakowywania nie ładuje się na moim końcu, więc alternatywą byłoby otwarcie terminalu za pomocą ctrl + alt + t i wprowadzenie następujących poleceń.

sudo apt-get install unzip

Następnie:

unzip {file}

Oczywiście zastąpienie {Plik} archiwum .zip.

TERAZ możesz postępować zgodnie z instrukcjami instalacji firmy Oracle podanymi tutaj podczas instalowania wersji x86 na laptopa.

Teraz, gdy używasz pulpitu i systemu operacyjnego x86_64, możesz znaleźć pliki instalacyjne tutaj, stosując tę ​​samą metodę rozpakowywania jak powyżej. Szczerze mówiąc, nie powinieneś mieć problemu z domyślną wersją Ubuntu, ale znowu Linux nie zawsze jest taki, jak się wydaje, więc posiadanie kopii zapasowej jest zawsze dobre.

Teraz, aby uzyskać szybki i łatwy przewodnik instalacji, jest to x86.

Ten sam przewodnik instalacji jest dostępny dla x86_64 tutaj.

Proces ten nie trwa zbyt długo, o ile znasz bieżącą specyfikację komputera, wiele instrukcji jest wymuszanych głównie w celu sprawdzenia, czy system spełnia wymagania x .

Cieszyć się!

esnowrackley
źródło
Czy jesteś pewien, że to jest odpowiednia odpowiedź? Łącza przekierowują do kroków instalacji klienta bazy danych, a nie serwera bazy danych.
Halil,
4

Przekroczyłem twój błąd. Najlepszy, co mogę powiedzieć, błąd polegał na tym, że uderzał w -lony zamiast -lony. Nie mam pojęcia, które z nich są, ale usunięcie -lonów i włożenie -lonów wydawało się załatwić sprawę. Skończyło się na ręcznym skompilowaniu części z błędami. Oto, co zrobiłem ręcznie, ale musisz zmienić ścieżki, aby pasowały do ​​twojej (zrobiłem to jako root):

# cat sysliblist 
-ldl -lm -lpthread -lnsl -lirc -lipgo -lsvml -lnnz11 -lclntsh -locrb11 -lasmclnt11 -leons

# cat ldflags
-lnbeq11 -lnhost11 -lnus11 -lnldap11 -lldapclnt11  -lnsslb11   -lntcp11 -lntcps11 -lnsslb11 -lntcp11 -lntns11

gcc -o tnslsnr -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/  /database/app/oracle/product/11.2.0/dbhome_1/network/lib/s0nsgl.o /database/app/oracle/product/11.2.0/dbhome_1/network/lib/snsglp.o -lclntsh  `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`  -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11   `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -lm    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm   -L/database/app/oracle/product/11.2.0/dbhome_1/lib -lnl11  -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11   -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11     -lm -leons

Po prawidłowej kompilacji musisz edytować plik makefile, aby uniknąć próby ponownej kompilacji i uszkodzenia tego, co właśnie zbudowałeś. Spraw, aby network / lib / ins_net_server.mk wyglądał tak:

#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
#       $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
#       $(RMF) $@
#       $(TNSLSNR_LINKLINE)

#itnslsnr: tnslsnr
itnslsnr:

To po prostu pozbędzie się kawałka tnslsnr, ale pozwoli odejść reszcie.

Następny kawałek, do którego doszedłem do tego zepsucia, miał miejsce, gdy łączył „wyrocznię”. Mam ten błąd:

INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib//libocrutl11.so: undefined reference to `lfifcp'

To samo z tym. Uruchomiłem to ręcznie:

gcc  -o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/   -Wl,-E /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/opimai.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssoraed.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /database/app/oracle/product/11.2.0/dbhome_1/lib/nautab.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naeet.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naect.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naedhs.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o  -lclntsh -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11  -lrt -lplp11 -lserver11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11  -lrt -lplp11 -ljavavm11 -lserver11  -lwwg  `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/database/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -lasmclnt11 -lcommon11 -lcell11 -lskgxp11 -lgeneric11  -lcommon11 -lgeneric11  -loraz -llzopro -lorabz2 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -laio    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib -lm    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm   -L/database/app/oracle/product/11.2.0/dbhome_1/lib

Następnie musisz zhakować plik rdbms / lib / ins_rdbms.mk, aby skomentować linie 705 i 706:

#       $(RMF) $@
#       $(ORACLE_LINKLINE)

Następnie instalator przeszedł całą procedurę. Mam nadzieję że to pomoże.

Mikrofon
źródło
1
Fajnie, dodałem link, jak naprawić pliki makefiles.
WitchCraft
1

Dodaj kilka dodatkowych wskazówek dotyczących sposobu instalowania Oracle 11g w systemie Linux (innym niż VM)

Zainstaluj Oracle Database XE (Express Edition) z repozytorium APT Oracle Open Source Software

Jeśli nie masz nic przeciwko korzystaniu z wersji 10 g XE (wystarczającej do nauki), możesz dodać repozytorium APT Oracle Open Source Software i użyć go apt-getdo zainstalowania.

Dodaj deb http://oss.oracle.com/debian unstable main non-free

na przykład

echo "deb http://oss.oracle.com/debian unstable main non-free" | sudo tee /etc/apt/sources.list.d/virtualbox.list

i wtedy

dodaj klucz i zainstaluj oracle-xe

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add -
apt-get update && apt-get install oracle-xe

Uruchom, zatrzymaj i skonfiguruj: /etc/init.d/oracle-xe {start|stop|configure}

Zobacz Instalowanie Oracle Database XE na Debianie, Ubuntu i Kubuntu, aby uzyskać więcej ;-)

Vagrant Base Boxes

Oracle Linux {5,6} (który jest również bezpłatny) znacznie ułatwia instalację Oracle Database 11g, 12c, ponieważ Oracle oficjalnie udostępnia przedinstalacyjne pakiety RPM, aby zainstalować wszystkie systemy i wprowadzić niezbędne zmiany w systemie.

Wstępnie zainstaluj pakiety RPM

  • Oracle Linux 5 => oracle-validated
  • Oracle Linux 6 => 11g oracle-rdbms-server-11gR2-preinstall12coracle-rdbms-server-12cR1-preinstall

Jeśli naprawdę chcesz Oracle Database 11g, 12c Enterprise Edition, wypróbuj vagrantbox stąd vagrantbox

Terry Wang
źródło