Zarejestruj się na BitBay.net
Home > Linux, Oracle > INSTALACJA ORACLE 11g – Fedora / CentOS / RedHat

INSTALACJA ORACLE 11g – Fedora / CentOS / RedHat

oracle

Oracle Database to oficjalna nazwa relacyjnego systemu baz danych (RDBMS) stworzonego przez Oracle Corporation. Nazwa Oracle pochodzi od nazwy kodowej jednego z projektów sponsorowanych przez CIA, nad którymi pracował współzałożyciel korporacji Oracle – Larry Ellison.

Cały proces instalacji Oracla będzie podzielony na 3 etapy. W pierwszej kolejności zainstalujemy samą instancję, następnie doinstalujemy listenera, w ostatnim kroku zainstalujemy bazę.


Opis dotyczy Oracle Database 11g Release 1 ver. 11.1.0.6.0. W Release 2 ver. 11.2.0.1.0 niewiele się zmieniło – procedura jest ta sama.

  1. Ustawiamy w /etc/hosts

    127.0.0.1	localhost
    192.168.14.101	oracled
  2. Edytujemy plik /etc/selinux/config i zmieniamy

    z:

    SELINUX=enforcing

    na:

    SELINUX=disabled
  3. Reboot servera

    shutdown -r now
  4. W pliku /etc/sysctl.conf dopisujemy

    kernel.shmall 	= 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    # semaphores: semmsl, semmns, semopm, semmni
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default=4194304
    net.core.rmem_max=4194304
    net.core.wmem_default=262144
    net.core.wmem_max=262144

    (Parametr kernel.shmmax powinien być ustawiony na połowę wielkości pamięci RAM)

  5. Wydajemy polecenie:

    /sbin/sysctl -p
  6. Edytujemy /etc/security/limits.conf i dodajemy:

    oracle 	  soft    nproc   2047
    oracle    hard    nproc   16384
    oracle    soft    nofile  1024
    oracle    hard    nofile  65536
  7. Edytujemy /etc/pam.d/login i dodajemy:

    session	   required     /lib/security/pam_limits.so
    session	   required     pam_limits.so
  8. Edytujemy /etc/profile i dodajemy:

    if [ $USER = "oracle" ]; then
    	if [ $SHELL = "/bin/ksh" ]; then
    		ulimit -p 16384
    		ulimit -n 65536
    	else
    		ulimit -u 16384 -n 65536
    	fi
    umask 022
    fi
  9. Uaktualniamy pakiety:

    yum install binutils-2.*
    yum install elfutils-libelf-0.*
    yum install glibc-2.*
    yum install glibc-common-2.*
    yum install libgcc-4.*
    yum install libstdc++-4.*
    yum install make-3.*
    yum install elfutils-libelf-devel-0.*
    yum install glibc-devel-2.*
    yum install gcc-4.*
    yum install gcc-c++-4.*
    yum install libstdc++-devel-4.*
    yum install unixODBC-2.*
    yum install libaio libaio-devel*
    yum install unixODBC-devel*
    yum install sysstat*
    yum install compat-libstdc++*
  10. Zakładamy odpowiednich użytkowników i grupy

    groupadd oinstall
    groupadd dba
    groupadd oper
    groupadd asmadmin
    
    useradd -g oinstall -G dba,oper,asmadmin oracle
    passwd oracle
  11. Dodajemy do /home/oracle/.bash_profile

    export ORACLE_HOSTNAME=oracled
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
    export ORACLE_SID=hart
    export ORACLE_TERM=xterm
    export PATH=/usr/sbin:$PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    export ORA_OWNR="oracle"
    
    export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
    
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    
    export CLASSPATH=$ORACLE_HOME/JRE
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    
    export THREADS_FLAG=native
    export TEMP=/tmp
    export TMPDIR=/tmp
  12. Zakładamy odpowiednie katalogi i nadajemy im odpowiednie prawa

    mkdir -p /u01/app/oracle/product/11.1.0/db_1
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01
  13. W /etc/redhat-release zmieniamy
    z Fedora Release 9 (Sulphur)
    na RedHat Release 5

    echo "Red Hat Linux release 5" > /etc/redhat-release
  14. Logujemy się na użytkownika oracle i na wszelki wypadek wydajemy polecenia:

    export ORACLE_HOSTNAME=oracled
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
    export ORACLE_SID=hart
    export ORACLE_TERM=xterm
    export PATH=/usr/sbin:$PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    export ORA_OWNR="oracle"
  15. Odpalamy instalator będąc zalogowani jako użytkownik oracle w trybie graficznym

    ./runInstaller
  16. Wydajemy polecenia

    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/11.1.0/db_1/root.sh
  17. Mamy już instancję – teraz konfigurujemy litenera

    cd /u01/app/oracle/product/11.1.0/db_1/bin
    ./netca
  18. Następnie zakładamy bazę:

    cd /u01/app/oracle/product/11.1.0/db_1/bin
    ./dbca
  19. Startujemy bazę odpalając po kolei: listenere, bazę, dbconsolę:
    lsnrctl start
    dbstart $ORACLE_HOME
    emctl start dbconsole
Kategorie:Linux, Oracle Tagi:, , ,
  1. paulus
    Maj 2nd, 2009 at 17:25 | #1

    Super opis, próbowałem z książki ale za dużo błędów, może na początek dodałbym jeszcze uname -a, aby prawidłową instalkę ściągnąć.
    pozdrawiam

  2. Październik 10th, 2009 at 22:52 | #2

    „shmmax – Either 4 GB – 1 byte, or half the size of physical memory (in bytes), whichever is lower.” warto zaznaczy że nie jest to wartośc bezwzględna, a zalezna od ilości zainstalowanej pamięci

  3. Radek
    Październik 13th, 2009 at 11:38 | #3

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

    Można to jakoś obejść? Zainstalowałem CentOS 5.0 zrobiłem wszystko to co jest tutaj napisane i mam taką odpowiedź.

  4. Radek
    Październik 13th, 2009 at 13:23 | #4

    zmienilem echo „redhat-4” > /etc/redhat-release i mam teraz to

    ——————————-

    Starting Oracle Universal Installer…

    Checking installer requirements…

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    Passed

    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-10-13_03-17-18PM. Please wait …[oracle@localhost ~]$ Exception in thread „main” java.lang.UnsatisfiedLinkError: /tmp/OraInstall2009-10-13_03-17-18PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at sun.security.action.LoadLibraryAction.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
    at sun.awt.DebugHelper.(Unknown Source)
    at java.awt.Component.(Unknown Source)
    ——————————————————–

    czy ktoś jest mi stanie pomóc co mam teraz zrobić?
    _

  5. Październik 13th, 2009 at 21:50 | #5

    yum install xorg-x11-deprecated-libs

  6. Radek
    Październik 14th, 2009 at 14:58 | #6

    admin :
    yum install xorg-x11-deprecated-libs

    dzieki pomogło 🙂

    mam teraz problem przy punkcie 17

    ______________________________________________________
    [oracle@localhost bin]$ ./netca
    UnsatisfiedLinkError exception loading native library: njni10

    java.lang.UnsatisfiedLinkError: jniGetOracleHome
    at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
    at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
    at oracle.net.ca.NetCA.main(Unknown Source)
    Oracle Net Services configuration failed. The exit code is -1

    ___________________

    podpowiesz jak to rozwiązać?

  7. Październik 16th, 2009 at 12:46 | #7

    Podczas konfiguracji były jakieś błędy ? Sprawdź plik $ORACLE_HOME/install/make.log

    Poczytaj to: http://forums.oracle.com/forums/thread.jspa?threadID=479307

  8. michal
    Październik 19th, 2009 at 23:08 | #8

    Witam bardzo dobry opis instalacji. Jednakże po zainstalowaniu i restarcie nie mogę uruchomić żadnej z usług. Pisze że np. lsnrctl command not found. Zauważyłem też że zmienna $ORACLE_HOME i inne nie są ustawione. Jak wydam polecenie export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 a potem dla sprawdzenia echo $ORACLE_HOME to wyświetla się pusta linijka. Podejrzewam że to problem ze zmiennymi środowiskowymi, bo po instalacji i przed restartem wszystko dobrze działało. Jest na to jakaś rada?

  9. Październik 20th, 2009 at 07:24 | #9

    michal :

    Zauważyłem też że zmienna $ORACLE_HOME i inne nie są ustawione. Jak wydam polecenie export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 a potem dla sprawdzenia echo $ORACLE_HOME to wyświetla się pusta linijka.

    Raczej niemożliwe. Mała podpowiedź, żeby zmienne środowiskowe były aktywne na użytkownika oracle przelogowujemy się komendą:
    su – oracle (ważny jest ten myślnik)

  10. michal
    Październik 20th, 2009 at 08:52 | #10

    Mam jeszcze jedno pytanie. Czy po instalacji musiał Pan konfigurować dodatkowo jakieś pliki? Mi np nie chciał startować listener. Pojawiał się komunikat Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr zmieniłem to przez edycję pliku dbstart i przypisanie scieżki $ORACLE_HOME w 78 linijce tego pliku. Po tej operacji listener wystartował ale pojawił się komunikat TNS:listener does not currently know of SID given in connect descriptor. Wyedytowałem plik listner.ora w /network/admin i zmieniłem SID na taki jaki ma mieć baza. Teraz mi pisze ORA-28547: connection to server failed, probable Oracle Net admin error (DBD ERROR: OCISessionBegin).

  11. jacek_mc
    Listopad 20th, 2009 at 15:55 | #11

    Radek :

    admin :
    yum install xorg-x11-deprecated-libs

    dzieki pomogło
    mam teraz problem przy punkcie 17
    ______________________________________________________
    [oracle@localhost bin]$ ./netca
    UnsatisfiedLinkError exception loading native library: njni10
    java.lang.UnsatisfiedLinkError: jniGetOracleHome
    at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
    at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
    at oracle.net.ca.NetCA.main(Unknown Source)
    Oracle Net Services configuration failed. The exit code is -1
    ___________________
    podpowiesz jak to rozwiązać?

    sprawdź dokładnie czy w pliku bash_profile dla użytkownika ORACLE jest wpis „umask 022” – miałem podobny problem i to pomogło.

  12. Marcin
    Luty 5th, 2010 at 17:50 | #12

    Fajny artykuł. Ja co prawda właśnie zainstalowałem 11.2 ale artykuł pomaga 🙂

    U mnie zamiast

    dbstart $ORACLE_HOME

    muszę robić

    echo startup|sqlplus / as sysdba

    a przy zamykaniu:

    echo shutdown immediate|sqlplus / as sysdba

    To tak dopisuję – by było dla potomności…

    pozdrawiam

    Marcin

  13. Czerwiec 13th, 2011 at 14:31 | #13

    Jak ktoś ma problem z javą:

    yum install libXext.so.6

  14. Lukasz
    Kwiecień 28th, 2012 at 22:32 | #14

    Hej Mam do was wielką prośbę męcze się z wgraniem Oracla 11g R2 na Fedorze 16 wszystko jest fajnie dopuki nie dochodzę do momentu instalacji i wyślietla mi w check że mam np libaio fail i 8 innych tez choć wgrywałem je i również próbowałem ściągnąć rmpy ale wyświetla że są już wgrane co robić?

  15. Kwiecień 29th, 2012 at 13:10 | #15

    W Fedorze przed instalacją Oracla proszę ściągnąć i uruchomić the Gladstone Oracle preinstaller script : http://dl.dropbox.com/u/30619235/gladstone/gladstone.sh

    pozdrawiam

  16. Łukasz
    Czerwiec 22nd, 2012 at 16:06 | #16

    A czy dla fedory 17 również jest taki skrypt męcze się z tym na tym systemie ?

  17. Łukasz
    Czerwiec 22nd, 2012 at 19:14 | #17

    Hej
    mam ciągle ten błąd ./runInstaller: line 254: /home/oracle/database/install/.oui: cannot execute binary file
    nie rozumiem co jest z tym nie tak proszę o pomoc

  18. Stefan
    Lipiec 2nd, 2012 at 22:58 | #18

    błąd w punkcie 18:
    ./dbca
    bash: ./dbca: Nie ma takiego pliku ani katalogu

  1. Brak jeszcze trackbacków
*