Instalacja Oracle Na Suse Step by Step

19
1. Instalacja OpenSuse. Podstawowa instalacja. Ważne aby podczas instalacji zaznaczyć następujące dodatkowe oprogramowanie: Dodatkowo w jednym z okienek na początku warto odznaczyć „automatyczną konfigurację”. Pozwoli to np. nie włączać aktualizacji zaraz po instalacji systemu. 2. Pierwszą rzeczą po zainstalowaniu systemu jest odnalezienie odpowiedniego skryptu orarun. Właściwego dla wersji systemu oraz instalowanego oracla. Najlepiej z: http://ftp.novell.com/partners/oracle/sles-10/orarun.rpm . Instalacja z poziomu użytkownika root: oraclserver:/home/naza # rpm -i orarun.rpm Updating etc/sysconfig/oracle... oraclserver:/home/naza #

Transcript of Instalacja Oracle Na Suse Step by Step

Page 1: Instalacja Oracle Na Suse Step by Step

1. Instalacja OpenSuse.Podstawowa instalacja. Ważne aby podczas instalacji zaznaczyć następujące dodatkowe oprogramowanie:

Dodatkowo w jednym z okienek na początku warto odznaczyć „automatyczną konfigurację”. Pozwoli to np. nie włączać aktualizacji zaraz po instalacji systemu.

2. Pierwszą rzeczą po zainstalowaniu systemu jest odnalezienie odpowiedniego skryptu orarun. Właściwego dla wersji systemu oraz instalowanego oracla. Najlepiej z: http://ftp.novell.com/partners/oracle/sles-10/orarun.rpm . Instalacja z poziomu użytkownika root:oraclserver:/home/naza # rpm -i orarun.rpm Updating etc/sysconfig/oracle...oraclserver:/home/naza #

Page 2: Instalacja Oracle Na Suse Step by Step

3. Po instalacji orarun uruchamiamy yasta > Użytkownicy i zabezpieczenia > Zarządzanie użytkownikami i grupami. Wybieramy z filtru użytkowników systemowych:

Następnie wybieramy użytkownika oracle. Ustawiamy mu hasło, powłokę logowania na /bin/bash oraz przypisujemy użytkownika do grup tak jak na rysunku.

Page 3: Instalacja Oracle Na Suse Step by Step

4. Jako użytkownik root tworzymy katalog /opt/oraInventory oraz zmieniamy mu właściciela i grupę na oracle.oinstall:oraclserver:/home/naza # mkdir /opt/oraInventoryoraclserver:/home/naza # chown oracle.oinstall /opt/oraInventory

5. Warto też jako użytkownik root skopiować instalkę oracla, rozpakować i nadać uprawnienia tak by użytkownik oracle miał dostęp:oraclserver:/home/naza # cp /media/dysk/linux_11gR1_database_1013.zip /opt/oracle/ -voraclserver:/home/naza # /opt/oracleoraclserver:/opt/oracle # unzip linux_11gR1_database_1013.ziporaclserver:/opt/oracle # chmod 777 database/ -R

6. Logujemy się do środowiska graficznego jako użytkownik oracle.7. Wchodzimy do katalogu z instalacją i uruchamiamy runInstaler:

oracle@oraclserver:~/database> cd /opt/oracle/oracle@oraclserver:~> cd database/oracle@oraclserver:~/database> ./runInstaller

8. Instalcja serwera oracle wg poniższych zrzutów ekrau:

Page 4: Instalacja Oracle Na Suse Step by Step
Page 5: Instalacja Oracle Na Suse Step by Step
Page 6: Instalacja Oracle Na Suse Step by Step
Page 7: Instalacja Oracle Na Suse Step by Step

Pod koniec instalacji zostaniemy poproszeni o wykonanie dwóch skryptów z poziomu użytkownika root:oraclserver:/opt/oracle/database # /opt/oraInventory/orainstRoot.sh Changing permissions of /opt/oraInventory to 770.Changing groupname of /opt/oraInventory to oinstall.The execution of the script is completeoraclserver:/opt/oracle/database # /opt/oracle/product/10.2/db_1/root.sh Running Oracle 11g root.sh script...

The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /opt/oracle/product/10.2/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 byDatabase Configuration Assistant when a database is createdFinished running generic part of root.sh script.Now product-specific root actions will be performed.Finished product-specific root actions.oraclserver:/opt/oracle/database #

9. Po zainstalowaniu oracla możemy stworzyć bazę i odtworzyć ją z pliku kopi *.dmp. Przed stworzeniem bazy należy jednak sprawdzić czy w pliku /etc/hosts mamy wpis:127.0.0.1 localhostjeśli nie to go dodajemy z poziomu użytkownika root.

10. Przed utworzeniem bazy należy uruchomić na serwerze oraclowego listnera(nasłuch). Logujemy się jako użytkownik oracle. Uruchmiamy netca – Net Configuration Asistant.oracle@oraclserver:~/database> netca Klikamy: Listner Configuration > Add i dodajemy listnera. Następnie wydajemy w konsoli polecenie lsnrctl i sprawdzamy czy listner działa, jeśli nie to go uruchamiamy:oracle@oraclserver:~> lsnrctl

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 05-MAR-2011 13:50:46

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> statusConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraclserver.site)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 11.1.0.6.0 - ProductionStart Date 05-MAR-2011 13:49:16Uptime 0 days 0 hr. 1 min. 33 sec

Page 8: Instalacja Oracle Na Suse Step by Step

Trace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /opt/oracle/product/10.2/db_1/network/admin/listener.oraListener Log File /opt/oracle/diag/tnslsnr/oraclserver/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraclserver.site)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))The listener supports no servicesThe command completed successfullyLSNRCTL> startTNS-01106: Listener using listener name LISTENER has already been startedLSNRCTL>exit

11. Możemy przejść do tworzenia instancji bazy danych na potrzeby systemu Infomedica. Przy instalacji należy pamiętać:

1. baza musi być transakcyjna2. wpisujemy odpowiedni sid, nazwę bazy.3. Dla użytkowników systemowych oracla najwygodniej podać jedno hasło. Po

zaczytania dmp i tak zmienią się na te z dmp.4. nie tworzymy flash recovery area5. nie wczytujemy skryptów przykładowych6. określamy przydział pamięci ram w zależności od serwera i liczby instancji7. odznaczamy enable automatic maintace task

Instalacja wg następujących zrzutów. Po zalogowaniu się jako użytkownik oracle wydajemy polecenie dbca:oracle@oraclserver:~> dbca

Page 9: Instalacja Oracle Na Suse Step by Step
Page 10: Instalacja Oracle Na Suse Step by Step
Page 11: Instalacja Oracle Na Suse Step by Step
Page 12: Instalacja Oracle Na Suse Step by Step
Page 13: Instalacja Oracle Na Suse Step by Step
Page 14: Instalacja Oracle Na Suse Step by Step
Page 15: Instalacja Oracle Na Suse Step by Step

12. Domyślnie po stworzeniu bazy danych jest ona uruchomiona Po zainstalowaniu edytujemy plik /etc/oratab i zmieniamy N na Y. Spowoduje to uruchamianie się stworzonej bazy danych podczas startu systemu. Dodatkowo automatycznie będzie uruchamiał się podczas startu lister. Wpis w tym pliku pozwala nam też na ręczne uruchomienie oraz wyłączenie bazy danych. Służą do tego polecenia dbstart oraz dbshut. Całość wykonujemy jako użytkownik oracle. W celach ćwiczeniowych po edycji pliku /etc/oratab uruchamiamy ponownie naszą bazę danych:oracle@oraclserver:~> vi /etc/oratab

szpital:/opt/oracle/product/10.2/db_1:Y

oracle@oraclserver:~> dbshut ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net ListenerUsage: /opt/oracle/product/10.2/db_1/bin/dbshut ORACLE_HOMEProcessing Database instance "szpital": log file /opt/oracle/product/10.2/db_1/shutdown.logoracle@oraclserver:~> dbstart ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net ListenerUsage: /opt/oracle/product/10.2/db_1/bin/dbstart ORACLE_HOMEProcessing Database instance "szpital": log file /opt/oracle/product/10.2/db_1/startup.logoracle@oraclserver:~>

13. Kolejnym krokiem jest rozpakowanie pliku dmp oraz wyciągnięcie z niego przestrzeni tabel. Najwygodniej zalogować się jako root, rozpakować wyciągnąć przestrzenie i nadać uprawnienia takie by mógł tymi plikami operować użytkownik oracle.oraclserver:/opt/oracle # unzip szpnzoz_20100716.ziporaclserver:/opt/oracle # strings szpnzoz_20100716.dmp | grep "CREATE TABLESPACE" >> /opt/oracle/spaces.sqloraclserver:/opt/oracle # chmod 777 /opt/oracle/spaces.sql oraclserver:/opt/oracle # chmod 777 /opt/oracle/szpnzoz_20100716.dmp Logujemy się jako użytkownik oracle i za pomocą programu kate otwieramy stworzony plik spaces.sql. Edytujemy go i zmieniamy ścieżki do plików przestrzeni na odpowiednie dla naszej instalacji. Dodatkowo każda linia powinna być zakończona średnikiem(;).

Page 16: Instalacja Oracle Na Suse Step by Step

14. Następnym krokiem jest założenie wyciągniętych przestrzeni w naszej bazie. Robimy to za pomocą np. programu sqlplus(oczywiście jako użytkownik oracle):oracle@oraclserver:~> sqlplus system/manager@szpital

SQL*Plus: Release 11.1.0.6.0 - Production on Sat Mar 5 14:59:46 2011

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

Connected to:Oracle Database 11g Release 11.1.0.6.0 - Production

SQL> @ /opt/oracle/spaces.sqlTablespace created.…Wywołanie @ w sql plusie służy do wykonywania skryptów zapisanych na dysku.

15. Gdy mamy już utworzone przestrzenie tabel możemy spokojnie wczytać dmp. Jako użytkownik oracle uruchamiamy polecenie imp z następującymi parametrami: oracle@oraclserver:~> imp system/manager@szpital file=/tmp/szpnzoz_20100716.dmp log=/opt/oracle/20110305.log full=y

16. Po zaimportowaniu warto otworzyć w open suse port numer 1521, na którym standardowo nasłuchuje oracle by można było się z bazą z zewnątrz połączyć. Uruchamiamy yast > Użytkownicy i zabezpieczenia > zapora sieciowa. Wybieramy z listy po lewej Dozwolone usługi i klikamy zaawansowane i dopisujemy w udp itcp port 1521.

Page 17: Instalacja Oracle Na Suse Step by Step

17. Teraz uruchommy serwer ponownie i sprawdźmy za pomocą sqldevelopera czy wszystko działa. Z terminala można serwer uruchomić ponownie wpisując jako root init 6:oraclserver:/opt/oracle # init 6

18. Gdyby listner nie wystartował automatycznie przy stracie serwera należy poprawić dwa skrypty: dbstart i dbshut. Musimy odnaleźć w obu plikach odnaleźć linie:ORACLE_HOME_LISTNER=$1i zamienić ją na:ORACLE_HOME_LISTNER=$ORACLE_HOMEPliki znajdują się w lokalizacji:/opt/oracle/product/10.2/db_1/bin/dbshut /opt/oracle/product/10.2/db_1/bin/dbstart

19. Jeśli nadal baza nie uruchamia się po starcie edytujemy jako root plik /etc/profile.d/oracle.sh i zmieniamy pogrubione linie :## Set your ORACLE environment variable here # ORACLE_HOME - Used here and in /etc/init.d/oracle (ora_environment())# ORACLE_SID - Your Oracle System Identifier # ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1# ORACLE_HOME=$ORACLE_BASE/product/10gR2/db ORACLE_SID=orcl ORACLE_HOME_LISTNER=$ORACLE_HOME export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_HOME_LISTNERRestartujemy i sprawdzamy.

20. Gdy nadal nie działa tworzymy sami skrypt startowy i wrzucamy go do autostartu. Wszystko wykonujemy jako użytkownik root. Treść skryptu po poleceniach: Pierwszą linią w skrybnie musi być bezwzględnie #!/bin/shoraclserver:/tmp # vi /etc/oradboraclserver:/tmp # chown oracle.oinstall /etc/oradb oraclserver:/tmp # chmod +x /etc/oradb oraclserver:/tmp # ln -s /etc/oradb /etc/rc.d/rc3.d/K01dboraoraclserver:/tmp # ln -s /etc/oradb /etc/rc.d/rc3.d/S99dboraoraclserver:/tmp # ln -s /etc/oradb /etc/rc.d/rc5.d/K01dboraoraclserver:/tmp # ln -s /etc/oradb /etc/rc.d/rc5.d/S99dbora

#! /bin/sh#hange the value of ORACLE_HOME to specify the correct Oracle home# directory for you installation

ORACLE_HOME=/opt/oracle/product/10.2/db_1## change the value of ORACLE to the login name of the # oracle owner at your site#

ORACLE=oracle

PATH=${PATH}:$ORACLE_HOME/bin#HOST=`localhost`

Page 18: Instalacja Oracle Na Suse Step by Step

#PLATFORM=`uname`export ORACLE_HOME PATHLOG=$ORACLE_HOME/startup.logtouch $LOGchmod a+r $LOG#

case $1 in'start') echo "$0: starting up" >> $LOG date >> $LOG # Start Oracle Net if [ -f $ORACLE_HOME/bin/tnslsnr ] ; then echo "starting Oracle Net Listener" $ORACLE_HOME/bin/lsnrctl start >> $LOG 2>&1 & fi echo "Starting Oracle databases" $ORACLE_HOME/bin/dbstart >> $LOG 2>&1 & ;;'stop') echo "$0: shutting down" >> $LOG date >> $LOG # Stop Oracle Net if [ -f $ORACLE_HOME/bin/tnslsnr ] ; then echo "stopping Oracle Net Listener" $ORACLE_HOME/bin/lsnrctl stop >> $LOG 2>&1 & fi echo "stopping Oracle databases" $ORACLE_HOME/bin/dbshut >> $LOG 2>&1 & ;;*) echo "usage: $0 {start|stop}" exit ;;esac#exit

21. Restartujemy i sprawdzamy.

Page 19: Instalacja Oracle Na Suse Step by Step

22. Gdy wszystko jest ok łączymy się za pomocą np. programu sqldeveloper z naszą bazą:

23. Kompilujemy widoki, paczki, procedury, funkcje, trigery.24. Logujemy się ponownie do bazy tym razem jako użytkownik system. Wykonujemy

następujące polecenia:– hasła nie wygasają ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;--dodatkowo uprawnienia do v$session by infomedika działa okGRANT SELECT ON "SYS"."V_$SESSION" TO "SYSADM"--ustawiamy case sensitive by infomedika rozpoznawała małe i duże literyALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

25. System jest gotowy do pracy.