poniedziałek, 21 grudnia 2009

Instalacja bazy danych Oracle 11g w Ubuntu 9.04

Postanowiłem rozszerzyć tematykę bloga o inne zainteresowania nie związane przetwarzaniem i wizualizacją obrazów medycznych. W niedługim czasie pojawi się więcej wpisów dotyczących baz danych, programowania oraz obliczeń równoległych. Mam nadzieje, że dzięki temu blog stanie się ciekawszy dla szerszego grona odbiorców.

Na początek opiszę proces instalacji pełnej wersji bazy danych Oracle 11g Release 2 w systemie Ubuntu Linux 9.04 32-bit. Instalacja nie jest bardzo złożona, ale pewne fragmenty mogą być problematyczne dla osób, które nie miały nigdy do czynienia z tą bazą danych.

Proces instalacji został zaplanowany tak, aby poznać jak najwięcej narzędzi konfiguracyjnych i dokładnie prześledzić co się dzieje w systemie.

Uwaga:
Użytkowników, którzy nie chcą instalować pełnej wersji bazy Oracle może zainteresować jej okrojona wersja: Oracle Database 10g Express Edition. Nie dość, że istnieje dedykowany instalator dla Debiana/Ubuntu, to dodatkowo może być ona używana do zastosowań komercyjnych.

Podczas przygotowania tego wpisu szczególnie przydatne okazały się następujące strony:


Przygotowanie systemu do instalacji bazy



Instalator Oracle niestety nie jest przystosowany dla Ubuntu, dlatego niektóre kroki będą miały na celu upodobnienie tego systemu do RedHata.

Poniższe kroki wykonujemy na koncie administratora.
  • Instalacja niezbędnych pakietów:
    Instalator może wymagać dodatkowych pakietów do zainstalowania:
    apt-get update && sudo apt-get dist-upgrade
    apt-get install gcc make binutils lesstif2 rpm libmotif3 libaio1 gawk alien ksh
  • Utworzenie linków symbolicznych:
    Instalator Oracle używa pełnych ścieżek niektórych programów systemowych, dlatego należy upewnić się, że znajdują się one w odpowiednim miejscu:
    ln -s /usr/bin/awk /bin/awk
    ln -s /usr/bin/rpm /bin/rpm
    ln -s /usr/bin/basename /bin/basename

    mkdir /etc/rc.d
    for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
  • Ustawienie powłoki skryptowej:
    Instalator Oracle zdecydowanie bardziej preferuje bash'a aniżeli dash'a:
    cd /bin
    ls -l /bin/sh

    lrwxrwxrwx 1 root root 4 2009-04-23 14:05 /bin/sh -> dash

    ln -sf /bin/bash /bin/sh
    ls -l /bin/sh

    lrwxrwxrwx 1 root root 9 2009-12-15 19:12 /bin/sh -> /bin/bash
  • Utworzenie odpowiednich użytkowników i grup:
    Aby Ubuntu z punktu widzenia instalatora przypominał RedHata dodajemy odpowiednie grupy i użytkownika oracle:
    addgroup oinstall
    addgroup dba
    addgroup nobody
    usermod -g nobody nobody
    useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

    mkdir /home/oracle
    chown -R oracle:dba /home/oracle
  • Przygotowanie katalogów:
    mkdir -p /u01/app/oracle
    chown -R oracle:dba /u01
  • Modyfikujemy ustawienia /etc/security/limits.conf:
    cd /etc/security/
    cp limits.conf limits.conf.original
    nano limits.conf

    Dodajemy poniższe linie na końcu pliku:
    oracle soft nproc 2047
    oracle hard nproc 16383
    oracle soft nofile 1023
    oracle hard nofile 65535

  • Modyfikujemy ustawienia /etc/sysctl.conf
    cd /etc
    cp sysctl.conf sysctl.conf.original
    nano sysctl.conf

    Dodajemy poniższe linie na końcu pliku:
    fs.file-max = 65535
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 1024 65535
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144

    Przeładowanie pliku konfiguracyjnego:
    sysctl -p
  • Restart komputera
    Aby mieć pewność, że wszystkie ustawienia zostały poprawnie zatwierdzone w systemie restartujemy komputer (tak przynajmniej zalecały wszystkie poradniki instalacji, z których korzystałem).


Pobranie i instalacja oprogramowania



Pobranie i rozpakowanie instalatora
Te czynności możemy wykonywać jako zwyczajny użytkownik, na którym pracujemy na co dzień

Uruchomienie instalatora
  • Instalację należy przeprowadzić jako użytkownik oracle z prawami administratora:
    xhost +
    sudo -s
    su - oracle

  • Będzie nam potrzebny tryb graficzny:
    DISPLAY=:0.0; export DISPLAY
    xhost local:oracle

  • Przejście do katalogu z rozpakowanym instalatorem:
    cd /sciezka/do/instalatora/database/

  • Uruchomienie instalatora:

    ./runInstaller

    Starting Oracle Universal Installer...

    Checking Temp space: must be greater than 80 MB. Actual 11002 MB Passed
    Checking swap space: must be greater than 150 MB. Actual 4024 MB Passed
    Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-12-15_12-36-28PM. Please wait ...



Opcje instalacji

Poniżej zostały wyróżnione niestandardowe opcje, które polecam zaznaczyć. Pozostałe opcje należy zostawić tak jak zaproponuje instalator.
  • step2: Install database software only
  • step5: Enterprise Edition (3,95BG)
  • step8: Zaznaczamy opcję „Ignore All”

Czynności po instalacji

W ostatnim etapie instalacji jesteśmy proszeni o wykonanie podanego skryptu jako użytkownik root:
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh


Powinniśmy dostać mniej więcej taki komunikat:
Running Oracle 11g root.sh script...

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_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.


Instalacja listenera


Poniższe czynności wykonujemy jako użytkownik oracle.
  • Ustawiamy zmienne systemowe:
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
    export PATH=$PATH:$ORACLE_HOME/bin

  • Uruchamiamy program:
    netca

Dalej postępujemy według zaleceń instalatora - nie zmieniamy żadnych opcji.


Instalacja bazy danych



Uruchamiamy program:
dbca

i na poszczególnych etapach instalacji wybieramy następujące opcje:
  • step4: Odznaczamy „Configure Enterprise Manager”
  • step4: Odznaczamy „Enable automatic maintenance tasks”
  • step5: Zaznaczamy „Use the Same Administrative Password for All Accounts”
  • step7: Wyłączamy „Specify Flash Recovery Area”
  • step8: „Sample schemas”
  • step9 - Memory: Pamięć ustawiamy na 250MB, Wyłączamy opcję „Use Automatic Memory Management”
  • step9 - Sizing: Processes: 30
  • step9 - Character Sets: „Use Unicode”

Komentarz: Powyższe opcje to tylko propozycja - można zostawić domyślne lub wybrać własne. Te opcje zostały ustawione według zaleceń na stronie: Installing Oracle 11gR1 on Ubuntu 9.04 Jaunty Jackalope | The Pythian Blog.

Manualny start bazy danych



Po zrestartowaniu komputera wszelkie próby połączenia się z bazą okażą się daremne - baza nie jest uruchomiona. Aby ją włączyć wykonujemy następujące czynności:

  • Logujemy się jako sysdba:
    sqlplus '/as sysdba'

    SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 22 20:41:21 2009

    Copyright (c) 1982, 2009, Oracle. All rights reserved.

    Connected to an idle instance.

  • Uruchamiamy instancję bez montowania bazy:
    startup nomount;

    ORACLE instance started.

    Total System Global Area 196681728 bytes
    Fixed Size 1335444 bytes
    Variable Size 71307116 bytes
    Database Buffers 117440512 bytes
    Redo Buffers 6598656 bytes

    Sprawdzamy stan:
    select status from v$instance;

    STATUS
    ------------
    STARTED

  • Montujemy bazę:
    alter database mount;

    Baza danych zostala zmieniona.

    Sprawdzamy stan:
    select status from v$instance;

    STATUS
    ------------
    MOUNTED

  • Otwieramy bazę:
    alter database open;

    Baza danych zostala zmieniona.

    Sprawdzamy stan:
    select status from v$instance;

    STATUS
    ------------
    OPEN


Aby wyłączyć instancję wraz z bazą danych wpisujemy:
shutdown immediate;

Baza danych zostala zamknieta.
Baza danych zostala zdemontowana.
Instancja ORACLE zostala zamknieta.



Automatyczny start bazy danych przy starcie systemu



Wygodniejszym od każdorazowego ręcznego włączania bazy może być takie jej skonfigurowanie, aby startowała razem z systemem. W tym celu
  • Logujemy się na konto administratora:
    sudo -s

  • Edytujemy ostatnią linijkę w pliku /etc/oratab, zamieniając literkę N na Y:
    nano /etc/oratab

    ORCL:/u01/app/oracle/product/11.2.0/dbhome_1:Y

  • Tworzymy następujący plik i zapisujemy do niego poniższą zawartość:
    nano /etc/init.d/oracledb

    #!/bin/bash
    #
    # /etc/init.d/oracledb
    #
    # Run-level Startup script for the Oracle Listener and Instances
    # It relies on the information on /etc/oratab

    # these are the paths for our base installation
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
    export ORACLE_OWNR=oracle
    export PATH=$PATH:$ORACLE_HOME/bin

    if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
    then
    echo "Oracle startup: cannot start"
    exit 1
    fi

    case "$1" in
    start)
    # Oracle listener and instance startup
    echo -n "Starting Oracle: "
    su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
    su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    touch /var/lock/oracle
    echo "OK"
    ;;
    stop)
    # Oracle listener and instance shutdown
    echo -n "Shutdown Oracle: "
    su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
    su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
    rm -f /var/lock/oracle
    echo "OK"
    ;;
    reload|restart)
    $0 stop
    $0 start
    ;;
    *)
    echo "Usage: `basename $0` start|stop|restart|reload"
    exit 1
    esac

    exit 0

  • Przydzielamy prawa do wykonywania dla tego pliku:
    chmod a+x /etc/init.d/oracledb

  • Uaktualniamy skrypty startowe:
    update-rc.d oracledb defaults

  • Restartujemy komputer. Baza powinna uruchomić się automatycznie.


Testy


Wszystkie czynności przeprowadzamy na własnym koncie.

Testujemy połączenie z bazą danych
Dodajemy użytkownika, na którym pracujemy do grupy dba:
sudo usermod -G dba -a rafal


Ustawiamy niezbędne zmienne środowiskowe:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=ORCL

Łączymy się z bazą:
sqlplus '/as sysdba'

i wydajemy polecenie:
SELECT INSTANCE_NAME, VERSION, STATUS FROM V$INSTANCE;

INSTANCE_NAME    VERSION           STATUS
---------------- ----------------- ------------
ORCL 11.2.0.1.0 OPEN


Odblokowujemy użytkownika Scott
Warto odblokować przykładowego użytkownika Scott i na nim wykonać kilka testów:
sqlplus '/as sysdba'

ALTER USER scott ACCOUNT UNLOCK;

sqlplus scott/tiger

select * from emp;


Enterprise Manager


Enterprise Manager jest narzędziem służącym do diagnozowania i administracji bazą danych Oracle. Można go skonfigurować na dwa sposoby: 1) w kreatorze instalacji bazy danych lub 2) manualnie.

Manualna konfiguracja:
Ustawiamy zmienne systemowe ORACLE_SID i ORACLE_HOME, a następnie uruchamiamy polecenie tworzące repozytorium EM:
cd $ORACLE_HOME/bin
emca -config dbcontrol db -repos create
Jeśli wszystko przebiegnie bez problemów możemy przejść na stronę: https://[host]:1158/em/ (np. https://laptop:1158/em/). Ja niestety dostałem błąd:

INFO: Creating the EM repository (this may take a while) ...
2009-12-17 16:55:07 oracle.sysman.emcp.EMReposConfig invoke
SEVERE: Error creating the repository

Jak sobie poradzić z błędami? Ja musiałem wykonać kilka czynności:
  • Najpierw należało odblokować użytkowników DBSNMP i SYSMAN:
    sqlplus '/as sysdba'

    ALTER USER DBSNMP ACCOUNT UNLOCK;
    ALTER USER SYSMAN ACCOUNT UNLOCK;

  • Usunąć użytkownika MGMT_VIEW:
    drop user MGMT_VIEW;

  • Zwiększyć liczbę procesów dla Oracle:
    show parameter processes
    alter system set processes=100 scope=spfile;

    Po tej operacji niezbędny jest restart bazy danych:
    shutdown immediate
    startup

  • Oraz ponownie utworzyć repozytorium:
    emca -config dbcontrol db -repos recreate


Po tych czynnościach konfiguracja zakończyła się poprawnie. Problemy prawdopodobnie wynikały z przyjętych ustawień w trakcie tworzenia bazy danych (zablokowani użytkownicy, za mała liczba procesów).

Uruchomienie Managera:
Po restarcie komputera Enterprise Manager jest wyłączony. Aby go uruchomić logujemy się na konto oracle ustawiamy zmienne środowiskowe jak powyżej i wydajemy polecenie:
emctl start dbconsole


Manualnie Managera wyłączamy poleceniem:
emctl stop dbconsole


Komentarz:
  • Z niewiadomych mi powodów Enterprise Manager nie chce u mnie działać w Firefoksie - wyświetlana jest biała strona.
  • Działa za to bez problemu w Google Chrome.


Oracle SQL Develpoer



Do codziennej pracy warto również zainstalować edytor SQL. Do najbardziej zalecanych dla Ubuntu można zaliczyć TOra (niestety miałem problemy z instalacją) oraz Oracle SQL Develpoer, którego instalacja zostanie opisana.
  • Pobieramy wersję instalacyjną ze strony: http://www.oracle.com/technology/products/database/sql_developer/index.html.
  • Jest to wersja RPM dlatego będziemy musieli przekonwertować ją do formatu DEB zrozumiałego dla Ubuntu. Instalujemy w tym celu narzędzie alien:
    sudo apt-get install alien

  • Konwertujemy pakiet RPM na DEB:
    sudo alien -k --scripts sqldeveloper*.rpm

  • i instalujemy go w systemie:
    sudo dpkg -i sqldeveloper*.deb

  • Jeśli dostaniemy komunikat:
    Oracle SQL Developer
    Copyright (c) 1997, 2009, Oracle and/or its affiliates.All rights reserved.

    Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ~/.sqldeveloper/jdk

  • Wykonujemy następujące polecenia:
    mkdir -p ~/.sqldeveloper
    touch ~/.sqldeveloper/jdk
    echo "/usr/lib/jvm/java-6-sun" >> ~/.sqldeveloper/jdk

21 komentarze:

Anonimowy pisze...

Super tutek, wielkie dzięki.
A oto kilka moich problemów jakie napotkałem podczas instalacji wg tego tutka (może komuś też się przytrafią - instalacja Oracle 11g R2 32bit na Ubuntu 9.10):

Problem 1 - ustawienie polecenia xhost +, nie miałem takiej możliwości, gdyż zarówno na użytkowniku root jak i oracle wyświetlał że X-y są wyłączone.
Rozwiązanie - najlepszym wyjściem jest wpisanie w pliku startowym profilu root'a i oracle'a odpowiednich poleceń:

- w pliku /root/.profile w katalogu domowym użytkownika root umieściłem:

export DISPLAY=:0.0
xhost +local:oracle

- zaś w pliku /home/oracle/.profile użytkownika oracle'a (jeżeli go nie macie należy skopiować sobie plik .bashrc i .profile z lokalizacji /etc/skel) umieściłem:

export DISPLAY=:0.0

Po zmianie pliku .profile należy się ponownie zalogować aby zmiany zaczęły funkcjonować.

Problem 2 - Brak wyświetlenia okna Confirm w ostatnim kroku instalacji instancji bazy danych poprzez program DBCA
Rozwiązanie: należy wyłączyć wszystkie efekty wizualne - Preferencje - Wygląd - zakładka Efekty wizualne - zaznaczamy Brak

Problem 3 - błąd ORA-12162: TNS:net service name is incorrectly specified przy logowaniu się do SQLPLUS'a
Rozwiązanie: należy ustawić zmienną ORACLE_SID w systemie, czyli z konsoli wykonujemy polecenie:
export ORACLE_SID=nazwa_twojej_instancji_BD
lub wpisujemy je w pliku /home/oracle/.profile

Problem 3 - brak możliwości utworzenia repozytorium EMCA
Rozwiązanie: Mimo usunięcia użytkownika MGMT_VIEW i zmiany statusu konta na odblokowane użytkownika DBSNMP dalej miałem problem z instalacją repozytorium, ponieważ wg logów istniał uzytkownik SYSMAN. Rozwiązaniem jest wykonanie poniższego kodu. Logujemy się do SQL*Plus jako SYSTEM lub SYS i wykonujemy poniższe polecenia:

SHUTDOWN IMMEDIATE;
STARTUP RESTRICT;
EXEC sysman.emd_maintenance.remove_em_dbms_jobs;
EXEC sysman.setEMUserContext('',5);
REVOKE dba FROM sysman; (tu może Wam krzyknąć że rola dba nie została przypisana użytkownikowi SYSMAN - nic się nie stało wpisujemy dalsze polecenia zatwierdzając ENTERem).

DECLARE
CURSOR c1 IS
SELECT owner, synonym_name name
FROM dba_synonyms WHERE table_owner = 'SYSMAN';
BEGIN
FOR r1 IN c1
LOOP
IF r1.owner = 'PUBLIC' THEN
EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM '||r1.name;
ELSE
EXECUTE IMMEDIATE 'DROP SYNONYM '||r1.owner||'.'||r1.name;
END IF;
END LOOP;
END;
/

DROP USER mgmt_view CASCADE;
DROP ROLE mgmt_user;
DROP USER sysman CASCADE;
ALTER SYSTEM DISABLE RESTRICTED SESSION;

Później tworzymy repozytorium wg tutka. Powinno pomóc.

Problem 4 - nie działający EM w Mozilla Firefox
Rozwiązanie: jak wpiszemy adres aplikacji EM (https://twoj_host:1158/em/) Firefox wyświetli błąd w postaci niezaufanego certyfikatu. Wystarczy wybrać opcję rozumiem zagrożenie i wcisnąć przycisk dodaj wyjątek, a następnie potwierdzić wyjątek. I wszystko będzie działać.

Problem 5 - niezainstalowana Java co uniemożliwiało uruchomienie SQLDevelopera
Rozwiązanie - instalacja pakietu JDK poleceniem:

sudo apt-get install sun-java6-jdk

Dodatkowo aby ciągle nie wpisywać poleceń ustawiających zmienne $ORACLE_HOME i $PATH w konsoli można je wpisać także w pliku .profile danego użytkownika, dzięki temu każde kolejne logowanie ustawi te zmienne samo.

Pozdrawiam
Michał Sztabiński
gg: 7274673

Rafał Petryniak pisze...

Dziękuję za komentarz - może komuś się przyda. Ja na szczęście nie miałem tych problemów:)

Nie wiem czy ktoś jeszcze miał jakieś uwagi, bo ostatnio były problemy z formularzem do wysyłania komentarzy. Problem został rozwiązany. Zapraszam zatem do dzielenia się spostrzeżeniami z instalacji Oracla na Ubuntu.

sebastian pisze...

Hej!
bardzo przydatny/konkretny/zwiezly opis + komentarz!
w koncu uporalem sie z instalacja ;-)
Seb

Anonimowy pisze...

Rewelacyjny tutorial! Właśnie czegoś takiego szukałem!

Instalacja przebiegła pomyślnie. Miałem problem z utworzeniem repozytorium EMCA, ale przelogowałem się na konto użytkownika oracle i dalej poszło gładko (trzeba tylko pamiętać o ustawieniu zmiennych w pliku .profile tego użytkownika - u mnie defaultowo nie były ustawione).

Dziękuję za tutorial i pozdrawiam!
Michał

mkubala pisze...

To ja jeszcze dopowiem, że jeśli chodzi o SQLPlus - warto uruchamiać go poprzez rlwrap (readline wrapper) - to pozwoli korzystać nam z bashowych przyzwyczajeń (przeglądanie histori zapytań pod kursorami w górę/dół oraz pgUp pgDown, przeszukiwanie za pomocą ctrl+r i możliwość przesuwania kursora w zapytaniu (kursor w lewo/prawo, home, end)). Do pełni szczęścia brakuje jedynie dopełniania TAB'em ;)

Pozdrawiam,
Marcin Kubala

Rafał Petryniak pisze...

Nigdy nie słyszałem o tym 'rlwrap'ie. Wiesz może jak się go konfiguruje? Czy trzeba dodatkowo coś instalować?

Mekk pisze...

Nic nie trzeba konfigurować,

sudo apt-get install rlwrap

a potem

rlwrap sqlplus scott/tiger

i działa np. strzałka do góry.

Anonimowy pisze...

Super tutorial.
P.S.> fajnie jakby autor poszedł za ciosem i rozwinął stronę o kolejne wątki :)

Pozdrawiam

Rafał Petryniak pisze...

Dzięki:) Mam kilka rzeczy w planie do opisania np. instalację i podstawy Oracle BI, konfigurację i przykłady użycia Pentaho (oczywiście wszystko w Linuksie), ale niestety czas to jest coś czego mam najmniej. We wrześniu powinno być już luźniej, wiec i na blogu zaczną pojawiać się regularne wpisy.

Anonimowy pisze...

U mnie przy kolejnej próbie instalacji pojawił się problem z pfile np. brak 'initNAZWAINSTANCJI.ora' http://mohamedazar.wordpress.com/2010/04/27/ora-01078-failure-in-processing-system-parameters/ w ten sposób odtworzyłem plik i trybi. ;)

Anonimowy pisze...

Hej.
Mam pytanie bo może trochę nie rozumie pojęcia instacja i baza danych, chciałbym w ramach instancji stworzyć więcej bazy danych, mogę liczyć na informacje jak to zrobić ? Lub ewentualnie na ukierunkowanie co wykonać aby dany użytkownik miał dostęp do kilku baz danych.

Rafał Petryniak pisze...

Mam pewne przeczucia jak sobie z tym poradzić, ale nie chciałbym Cie wprowadzać w błąd. Przyznam szczerze, że od chwili napisania tego how-to nic więcej nie robiłem w tym temacie. Jeśli interesujesz się na poważnie bazami danych proponuje zakup dobrej książki, a jest ich sporo. Powodzenia :)

Anonimowy pisze...

Można zainstalować jeden system zarządzania bazą danych Oracle, a następnie kilka instancji bazy danych. Każda będzie miała swoją nazwę usługi (ORACLE_SID). Aby się dostać do odpowiedniej należy taki ORACLE_SID sobie ustawić (najlepiej poleceniem export ORACLE_SID=nazwa_instancji). Ewentualnie można porobić linki bazadanowe między iinstancjami.

Anonimowy pisze...

Zajebisty tutorial!!!

Rafał Petryniak pisze...

Dzięki. Nie ma jak "soczysty" komentarz ;-)

Anonimowy pisze...

MI wywala taki bład przy końcu:
Error in invoking target 'links proc gen_pcscfg' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk'. See '/u01/app/oraInventory/logs/installActions2011-09-28_10-17-42PM.log' for details.

ktoś coś poradzi???

Anonimowy pisze...

witam, mam następujący problem. Dochodzę do punktu manualny start bazy danych. Kiedy wydaję polcenie sqlplus '/as sysdba' dostaję komunikat "sqlplus: command not found". Szukałem długo w sieci ale nie znalazłem nic. Domyślam się, że jest jakiś problem z ustawieniem zmiennych środowiskowych. Wie ktoś jak to rozwiązać?

Kiedy ustawiłem, żeby baza była otwierana automatycznie po starcie systemu nic się nie dzieje po ponownym uruchomieniu kompa.

Anonimowy pisze...

ok, już z powyższym probleme się uporałem, jednak wystapił kolejny ;) tym razem przy próbie: 'startup nomount' wyrzyca mi błąd:
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'

Rafał Petryniak pisze...

dzięki za feedback. ja przyznam szczerze, że już nie siedzę w tym temacie od jakiegoś czasu, więc nie będę Ci w stanie pomóc. ale może akurat ktoś poradził sobie z już wcześniej podobnymi kłopotami i podzieli się rozwiazaniem

Anonimowy pisze...

Osobiście nie polecam instalacji i uczenia się produktów Oracle na dystrybucjach typu Ubuntu (nie mowie że jest złe, bo jest świetne na serwer i desktop), CentOs i temu podobne. Oracle świetnie się instaluje na Oracle Linux, RedHat i Novell Suse. Te dystrybucje posiadają wiele wsparcia dla produktow Oracle. Oracle Linux i RedHat jest wspierany i rekomendowany przez Oracle. Powodzenia! emarcel dot com

Rafał Petryniak pisze...

Racja, w zastosowaniach produkcyjnych Ubuntu może być ryzykowny. Wsparcie producenta bazy danych to oczywiście podstawa w rzeczywistych zastosowaniach.
Jednak na potrzeby nauki konfiguracja Ubuntu + Oracle wydaje się jak najbardziej sensowna, ponieważ to właśnie Ubuntu (i cała rodzina Debiano-pochodnych dystrybucji) jest najbardziej popularna wśród użytkowników.

Prześlij komentarz