Posts Tagged instalacja

Instalacja Javy 7 w Ubuntu 11.04


W wersji 12.04 Ubuntu można Javę 7 zainstalować dużo prościej, korzystając z repozytoriów PPA. Wystarczy dodać odpowiednie repozytorium i zainstalować Javę:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Java zostanie pobrana ze strony Oracle, zainstalowana i odpowiednie powiązania zostaną automatycznie ustawione.

Więcej można przeczytać tutaj: Install Oracle Java in Ubuntu via PPA repository.

Java w wersji 7 został wydana jakiś czas temu, ale ciągle nie ma odpowiednich pakietów do instalacji w Ubuntu. Pewnie pojawią się wraz z edycją 11.10, ale czekać tak długo nie mam ochoty :).

Instalacja nowej wersji Javy sprowadza się do wykonania kilku kroków, jedyną niedogodnością jest konieczność ręcznego pilnowania nowych wydań JDK.

  1. Pobranie pakietu z Java, najlepiej ze strony Oracle: Java SE Development Kit 7 Downloads. Mój plik z JDK nazywa się jdk-7-linux-x64.tar.gz.
  2. Rozpakować archiwum:
    tar xzvf jdk-7-linux-x64.tar.gz

    Zostanie utworzony katalog jdk1.7.0 a w nim Java w wersji 7.

  3. Przenieść rozpakowane archiwum do katalogu /usr/lib/jvm/ pod nazwą java-7-oracle, gdzie znajdują się dostępne wersje JVM w systemie.

    Ten i pozostałe kroki muszą być wykonane z uprawnieniami użytkownika root. Należy więc wcześnie zmienić konto lub używać polecenie sudo.

    mv jdk1.7.0 /usr/lib/jvm/java-7-oracle
  4. Ustawić odpowiedniego użytkownika oraz uprawnienia – właścicielem powinien być root a możliwość odczytu i wykonywania aplikacji powinni mieć wszyscy użytkownicy. Nie jest to krok być może konieczny, ale przy niektórych ustawianiach jego brak może uniemożliwić innym użytkownikom korzystania z Javy.
    chown -R root.root /usr/lib/jvm/jdk1.7.0/java-7-oracle

    Jeżeli jednak umask jest ustawiony na bardziej restrykcyjną wartość (w moim przypadku 007) to pojawi się problem: zwykły użytkownik nie będzie mógł ani uruchomić ani nawet odczytać katalogu z Javą. Można to poprawić przy użyciu prostej instrukcji:

    chmod -R a+rX /usr/lib/jvm/java-7-oracle
  5. W Ubuntu domyślne implementacja Javy (jak i wielu innych aplikacji) jest ustawiana przy pomocy polecenia update-alternatives. Mechanizm ten pozwala na zdefiniowania wielu rożnych aplikacji dostarczających daną funkcjonalność (np. wiele wersji Javy) oraz wybranie aplikacji, która będzie uruchamiana domyślnie.

    W przypadku polecenia java można sprawdzić jakie są jego różne implementacje:

    # update-alternatives --config java

    There are 3 choices for the alternative java (providing /usr/bin/java).

      Wybór       Ścieżka                                 Priorytet  Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      tryb auto
      1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      tryb ręczny
    * 2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        tryb ręczny

    W moim przypadku mam zainstalowane dwa różne JDK, z czego domyślnie ustawiona jest wersja Suna (teraz już Oracla).

    Można teraz dodać implementację Java 7:

    update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/jre/bin/java 3

    Numer 3 oznacza kolejny numer po ostatniej dostępnej wersji JVM.

    Teraz pozostaje tylko wydanie polecenia:

    update-alternatives --config java

    A teraz mały test: wywołanie poleceń java oraz javac:

    # java -version
    java version "1.7.0"
    Java(TM) SE Runtime Environment (build 1.7.0-b147)
    Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

    # javac -version
    javac 1.6.0_26

    Jak widać domyślnie została wywołana wersja Javy 7, natomiast wywołanie kompilator ciągle odwołuje się do wersji 6. Poradzić sobie można z tym definiując kolejną alternatywę a następnie ją ustawiając. Natomiast ilość plików binarnych które trzeba ustawić oraz stron MAN, które należy zmienić jest znaczna. Można to sprawdzić przy pomocy polecenia:

    update-java-alternatives -v -l java-6-sun
  6. Najlepszym sposobem zmiany wersji JDK w przypadku Ubuntu będzie użycie polecenia update-java-alternatives. Pozwoli ona na zmianę domyślnej implementacji wszystkich plików wykonywalnych oraz powiązanych z nimi stron MAN. Niestety, trzeba je odpowiednio skonfigurować, zanim zacznie działać poprawnie.

    Pierwszym krokiem będzie dodanie odpowiednich alternatyw dla wszystkich plików binarnych. Można to zrobić przy pomocy prostego skryptu o nazwie update-alternatives-java-7. Powstał on na bazie odpowiednich skryptów po instalacyjnych wykonywanych podczas instalacji OpenJDK w systemie.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    #!/bin/bash

    # instalacja JRE-headless

    priority=100
    basedir=/usr/lib/jvm/java-7-oracle
    basediralias=/usr/lib/jvm/java-7-oracle
    jdiralias=java-7-oracle
    mandir=/usr/lib/jvm/jdk1.7.0/man
    srcext=1.gz
    dstext=1.gz

    jre_tools='java keytool pack200 rmid rmiregistry unpack200 orbd servertool tnameserv'
                                                                                                                                                                                                                               
        for i in $jre_tools; do                                                                                                                                                                                                
            unset slave1 slave2 || true                                                                                                                                                                                        
            if [ -e $mandir/man1/$i.$srcext ]; then                                                                                                                                                                            
                slave1="--slave \                                                                                                                                                                                              
                    /usr/share/man/man1/$i.$dstext \                                                                                                                                                                            
                    $i.$dstext \                                                                                                                                                                                                
                    $mandir/man1/$i.$srcext"
                                                                                                                                                                                       
            fi                                                                                                                                                                                                                  
            update-alternatives --verbose \                                                                                                                                                                                    
                --install \                                                                                                                                                                                                    
                /usr/bin/$i \                                                                                                                                                                                                  
                $i \                                                                                                                                                                                                            
                $basediralias/jre/bin/$i \                                                                                                                                                                                      
                $priority \                                                                                                                                                                                                    
                $slave1 $slave2                                                                                                                                                                                                
        done                                                                                                                                                                                                                    
        update-alternatives --verbose \                                                                                                                                                                                        
            --install /usr/bin/jexec jexec $basediralias/jre/lib/jexec $priority                                                                                                                                                
                                                                                                                                                                                                                               
                                                                                                                                                                                                                               
    # instalacja JRE

    jre_tools='policytool ControlPanel java_vm javaws jcontrol'

        for i in $jre_tools; do
            unset slave1 slave2 || true
            if [ -e $mandir/man1/$i.$srcext ]; then
                slave1="--slave \
                   /usr/share/man/man1/$i.$dstext \
                   $i.$dstext \
                   $mandir/man1/$i.$srcext"

            fi
            update-alternatives --verbose \
                --install \
                /usr/bin/$i \
                $i \
                $basediralias/jre/bin/$i \
                $priority \
                $slave1 $slave2
        done

    # instalacja JDK


    jdk_tools='appletviewer apt extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc'


        for i in $jdk_tools; do
            unset slave1 slave2 || true
            if [ -e $mandir/man1/$i.$srcext ]; then
                slave1="--slave \
                   /usr/share/man/man1/$i.$dstext \
                   $i.$dstext \
                   $mandir/man1/$i.$srcext"

            fi
            update-alternatives --verbose \
                --install \
                /usr/bin/$i \
                $i \
                $basediralias/bin/$i \
                $priority \
                $slave1 $slave2
        done

    W skrypcie należy zwrócić szczególną uwagę na definicję odpowiednich ścieżek dostępu. Po jego wykonaniu zostaną zdefiniowanie odpowiednie alternatywy dla odpowiednich plików, ale nie zostaną one jeszcze uaktywnione.

    Konfiguracja update-java-alternatives sprowadza się do zdefiniowania odpowiedniego pliku konfiguracyjnego. Należy utworzyć (lokalizacja i nazwa pliku jest ważna) plik: /usr/lib/jvm/.java-7-oracle.jinfo o następującej zawartości:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    name=java-7-oracle
    alias=java-7-oracle
    priority=100
    section=non-free

    jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
    jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
    jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
    jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
    jre jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol
    jre keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool
    jre pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200
    jre policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool
    jre rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid
    jre rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry
    jre unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200
    jre orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd
    jre servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool
    jre tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv
    jre jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec
    jdk appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer
    jdk apt /usr/lib/jvm/java-7-oracle/bin/apt
    jdk extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck
    jdk idlj /usr/lib/jvm/java-7-oracle/bin/idlj
    jdk jar /usr/lib/jvm/java-7-oracle/bin/jar
    jdk jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner
    jdk javac /usr/lib/jvm/java-7-oracle/bin/javac
    jdk javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc
    jdk javah /usr/lib/jvm/java-7-oracle/bin/javah
    jdk javap /usr/lib/jvm/java-7-oracle/bin/javap
    jdk jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole
    jdk jdb /usr/lib/jvm/java-7-oracle/bin/jdb
    jdk jhat /usr/lib/jvm/java-7-oracle/bin/jhat
    jdk jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo
    jdk jmap /usr/lib/jvm/java-7-oracle/bin/jmap
    jdk jps /usr/lib/jvm/java-7-oracle/bin/jps
    jdk jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript
    jdk jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd
    jdk jstack /usr/lib/jvm/java-7-oracle/bin/jstack
    jdk jstat /usr/lib/jvm/java-7-oracle/bin/jstat
    jdk jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd
    jdk native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii
    jdk rmic /usr/lib/jvm/java-7-oracle/bin/rmic
    jdk schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen
    jdk serialver /usr/lib/jvm/java-7-oracle/bin/serialver
    jdk wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen
    jdk wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport
    jdk xjc /usr/lib/jvm/java-7-oracle/bin/xjc

    Teraz jest już dostępna nowa wersja JVM w systmie:

    # update-java-alternatives -l
    java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
    java-6-sun 63 /usr/lib/jvm/java-6-sun
    java-7-oracle 100 /usr/lib/jvm/java-7-oracle

    Pozostaje ustawić Jave 7 jako domyślną implementację JVM:

    update-java-alternatives -v -s java-7-oracle

Źródła

Tags: ,

Instalacja Oracle Javy w Ubuntu Natty (11.04)

Standardowo w Ubuntu Java w wersji od Oracla (czyli dawana Sunowska) jest dostępna w repozytorium partner. Jednak w przypadku Ubuntu Natty (w wersji alfa) niestety jej tam jeszcze nie ma, prawdopodobnie zostanie umieszczona już po premierze wersji stabilnej. Na szczęście, łatwo można ją zainstalować przy wykorzystaniu dodatkowych repozytoriów, wystarczy wydać polecenie:

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update

I zainstalować Javę:

sudo apt-get install sun-java6-jdk

Tags:

Instalacja lokalnego pakietu w połączeniu z rozwiązywaniem zależności (polecenie gdebi)

Jedną z bardziej irytujących rzeczy podczas instalacji nowego pakietu przy użyciu polecenia dpkg jest brak rozwiązywania zależności. Powoduje to, że zamiast zainstalować pakiet musimy ręcznie doinstalowywać pakietu z repozytorium.

Brakuje możliwości takiej instalacji pakietu jak robi to polecenie yum:

yum localinstall nazwa_pakietu.rpm

Polecenie to zainstaluje wybrany pakiet jednocześnie rozwiązując zależności przy użyciu dostępnych repozytoriów.

Użycie polecenia dpkg może wyglądać następująco (próba instalacji Picasy w Ubuntu):

# dpkg -i picasa_3.0-current_amd64.deb
Zaznaczenie poprzednio niezaznaczonego pakietu picasa.
(Odczytywanie bazy danych ... 299273 files and directories currently installed.)
Rozpakowanie picasa (z picasa_3.0-current_amd64.deb) ...
dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie picasa:
 picasa zależy od libc6-i386 (>= 2.2); jednakże:
  Pakiet libc6-i386 nie jest zainstalowany.
 picasa zależy od ia32-libs; jednakże:
  Pakiet ia32-libs nie jest zainstalowany.
 picasa zależy od lib32asound2; jednakże:
  Pakiet lib32asound2 nie jest zainstalowany.
 picasa zależy od lib32z1; jednakże:
  Pakiet lib32z1 nie jest zainstalowany.
dpkg: błąd przetwarzania picasa (--install):
 problemy z zależnościami - pozostawiony nieskonfigurowany
Przetwarzanie wyzwalaczy dla gconf2...
Wystąpiły błędy podczas przetwarzania:
 picasa

W przypadku dystrybucji opartych o Debiana można użyć polecenia gdebi. Pozwoli ono na zainstalowanie pakietu i jednoczesne rozwiązanie jego zależności. Instalacja Picasy przy użyciu tego narzędzia wygląda tak:

# gdebi picasa_3.0-current_amd64.deb
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Building data structures... Done
Building data structures... Done  
Wymaga instalacji poniższych pakietów:
ia32-libs  lib32asound2  lib32bz2-1.0  lib32gcc1  lib32ncurses5  lib32stdc++6  lib32v4l-0  lib32z1  libc6-i386
Image management application from Google
 Picasa is software that helps you instantly find, edit and share all

Jak widać od razu zostaje zaprezentowana lista dodatkowych pakietów do instalacji, jak się zgodzimy na ich instalację to zostaną pobrane i zainstalowane.

Źródła

Tags: , ,

Instalacja Oracle 11g na RedHacie 5

Krótki opis instalacji Oracle 11g w systemie RHEL 5. Punkt po punkcie tak jak to wyglądało w mojej sytuacji.

  1. Wyłączenie SELinuksa.

    SELinux jakoś do końca nie chciał mi działać z Oraclem. Uparcie nie pozwalał na otwarcie niektórych plików i na uruchomienie bazy danych. Ponieważ moja maszyna nie jest narażona za bardzo na kontakt ze światem zewnętrznym, to po prostu go wyłączyłem na stałe. Najłatwiej to zrobić poprzez edycję pliku /etc/sysconfig/selinux i zmianę wartości parametru SELINUX:

    6
    SELINUX=disabled

    Teraz pozostaje restart maszyny i i SELinux powinien już być wyłączony.

  2. Dodanie nazwy serwera do /etc/hosts.

    Należy się upewnić, że można prawidłowo rozwiązać nazwę serwera, najprościej poprzez umieszczenie odpowiedniego wpisu w pliku /etc/hosts. W moim przypadku wyglądała ona tak:

    4
    192.168.122.50  oracle
  3. Konfiguracja parametrów jądra (wg dokumentacji)

    Można także skonfigurować odpowiednie parametry jądra systemu. Ja pominąłem tek krok, ale dokumentacja go zaleca, więc można do pliku /etc/sysctl.conf dodać takie linie:

    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

    Należy pamiętać o tym, aby parametr kernel.shmmax nie był większy niż połowa dostępnej ilości pamięci RAM.

  4. Instalacja dodatkowych bibliotek.

    W przypadku Oracla należy doinstalować kilka dodatkowych pakietów:

    yum install binutils elfutils-libelf glibc glibc-common libgcc \
        libstdc++ make elfutils-libelf-devel glibc-devel gcc gcc-c++ \
        libstdc++-devel unixODBC libaio libaio-devel unixODBC-devel \
        'sysstat*' 'compat-libstdc++*'
  5. Konfiguracja użytkownika dla Oracla.

    Dobrze jest uruchomić serwer na koncie oddzielnego użytkownika, którego należy utworzyć i odpowiednio skonfigurować.

    Dodanie nowego konta wraz z odpowiednimi grupami:

    groupadd oinstall
    groupadd dba
    groupadd oper
    groupadd asmadmin

    useradd -g oinstall -G dba,oper,asmadmin oracle
    passwd oracle

    Ustawienie odpowiednich ograniczeń dla użytkownika oracle, w pliku /etc/security/limits.conf należy umieścić takie linie:

    50
    51
    52
    53
    oracle    soft    nproc   2047
    oracle    hard    nproc   16384
    oracle    soft    nofile  1024
    oracle    hard    nofile  65536

    Należy się jeszcze upewnić, że w pliku /etc/pam.d/system-auth znajduje się taka linia:

    18
    session     required      pam_limits.so

    Ostatnim krokiem będzie zdefiniowanie odpowiednich zmiennych środowiskowych dla użytkownika oracle w pliku /home/oracle/.bash_profile:

    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    export ORACLE_HOSTNAME=oracle
    export ORACLE_BASE=/opt/oracle/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
    export ORACLE_SID=baza
    export ORACLE_TERM=xterm
    export PATH=/usr/sbin:$PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    export ORA_OWNR="oracle"

    export JAVA_HOME="/etc/alternatives/java_sdk"

    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

    Należy zwrócić w szczególności uwagę na miejsce, gdzie ma zostać umieszczona baza danych Oracle, nazwę serwera czy też użytkownika i odpowiednio je dostosować do własnych potrzeb.

  6. Utworzenie katalogu do instalacja.

    Teraz jeszcze należy utworzyć odpowiedni katalog, w którym zostanie zainstalowana baza danych:

    mkdir -p /opt/oracle
    chown -R oracle:oinstall /opt/oracle
    chmod -R 770 /opt/oracle
  7. Instalacja bazy danych Oracle

    Instalację bazy danych należy wykonać, będąc użytkownikiem oracle. Należy pamiętać, że w czasie instalacji będzie potrzebny dostęp do serwera X Window (jeżeli nie zadziała to przy użyciu komendy su lub sudo zawsze można zalogować się na serwer przy użyciu polecenia ssh -X oracle@localhost).

    Jako użytkownik oracle należy uruchomić skrypt runInstaller. Sprawdzi on środowisko i następnie uruchomi właściwy instalator graficzny. Podczas niego należy odpowiedzieć na szereg pytań, poniżej zrzuty ekranu z mojej instalacji:

    Jednym z ostatnich kroków instalacji jest konieczność uruchomienia dwóch skryptów: orainstRoot.sh oraz root.sh.

    Należy pamiętać, że skrypty te należy uruchomić na uprawnieniach użytkownika root:

    # /opt/oracle/oraInventory/orainstRoot.sh
    Changing permissions of /opt/oracle/oraInventory to 770.
    Changing groupname of /opt/oracle/oraInventory to oinstall.
    The execution of the script is complete
    # /opt/oracle/oracle/product/11.1.0/db_1/root.sh
    Running Oracle 11g root.sh script...

    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /opt/oracle/oracle/product/11.1.0/db_1

    Enter the full pathname of the local bin directory: [/usr/local/bin]:
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...


    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.
  8. Automatyczny start instancji bazy danych

    W pliku /etc/oratab należy zdefiniować, jakie instancje bazy danych będą automatycznie uruchamiane podczas startu bazy danych. W ostatniej kolumnie należy zmienić N na Y:

    1
    baza:/opt/oracle/oracle/product/11.1.0/db_1:Y

    Teraz czas na utworzenie odpowiednich plików startowych:

    • /etc/sysconfig/oracle – definicja zmiennych środowiskowych, używanych w skryptach startowych
      1
      2
      3
      ORACLE_BASE=/opt/oracle/oracle
      ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
      ORACLE_OWER="oracle"
    • /etc/init.d/oracle – skrypt, który umożliwia uruchomienie i zatrzymanie bazy danych
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      #!/bin/bash
      #
      #       /etc/rc.d/init.d/oracle
      #
      # chkconfig: 345 98 02
      # description: Uruchomienie bazy danych Oracle

      # Source function library.
      . /etc/init.d/functions


      if [ -f /etc/sysconfig/oracle ] ; then
              . /etc/sysconfig/oracle
      fi

      start() {
              echo "Starting Listener: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/lsnrctl start"

              echo "Starting Oracle Database: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

              return 0
      }

      stop() {
              echo "Shutting down Oracle Database: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"

              echo "Starting Listener: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/lsnrctl stop"

              return 0
      }

      case "$1" in
          start)
              start
              ;;
          stop)
              stop
              ;;
          restart)
              stop
              start
              ;;
          *)
              echo "Usage: oracle {start|stop|restart}"
              exit 1
              ;;
      esac
      exit $?
    • /etc/init.d/em – skrypt, który pozwala na uruchomienie Enterprise Managera
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      #!/bin/bash
      #
      #       /etc/rc.d/init.d/em
      #
      # chkconfig: 345 99 01
      # description: Uruchomienie Enterprise Managera

      # Source function library.
      . /etc/init.d/functions

      if [ -f /etc/sysconfig/oracle ] ; then
              . /etc/sysconfig/oracle
      fi

      start() {
              echo "Starting Enterprise Manager: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/emctl start dbconsole"

              return 0
      }

      stop() {


              echo "Shutting down Enterprise Manager: "
              su - $ORACLE_OWER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

              return 0
      }


      case "$1" in
          start)
              start
              ;;
          stop)
              stop
              ;;
          restart)
              stop
              start
              ;;
          *)
              echo "Usage: oracle {start|stop|restart}"
              exit 1
              ;;
      esac
      exit $?

    Teraz trzeba skonfigurować system, aby uruchamiał skrypty podczas startu:

    chmod +x /etc/init.d/oracle /etc/init.d/em
    chkconfig --add oracle
    chkconfig --add em

    Po tych krokach baza danych oraz EM będą uruchamiane podczas startu serwera. Oczywiście można także uruchomić te aplikacje od razu:

    1
    service oracle start; service em start

Źródła

Tags: ,

Instalacja bazy danych PostgreSQL 8.4 w systemie RHEL 5.4

Prosty problem: jak zainstalować wersję 8.4 bazy danych PostgreSQL w RHEL 5.4. W tej wersji jest dostarczona wersja 8.1 całkiem już stara. Na szczęście z wersja RHEL 5.5. zawiera już nowszą wersję tej bazy danych (pakiet postgresql84-server), ale ja tej wersji używać nie mogłem.

  1. Instalacja repozytorium z PostgreSQL w systemie:
    # rpm -Uvh http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-redhat-8.4-2.noarch.rpm
  2. Instalacja bazy danych w systemie:
    # yum install postgresql postgresql-server postgresql-contrib
  3. Inicjalizacja bazy danych:
    # service postgresql initdb
  4. Start bazy danych:
    # service postgresql start
  5. Automatyczny start podczas włączania systemu:
    # chkconfig postgresql on

Źródła

Tags: , ,