wtorek, 27 sierpnia 2013

Proces nasłuchujący LISTENER

LISTENER 

to proces nasłuchujący na porcie domyślnie 1521 i ustalonym adresie IP. U Podstawowa konfiguracja wymaga podania nazwy serwera lub adresu IP oraz portu na którym ma nasłuchiwać. Wpisy dokonujemy w pliku listener.ora znajdującym się w katalogu $ORACLE_HOME/network/admin
np 
/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora


LISTENER  =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 1521))
)



Komendy

lsnrctl start -uruchamia
lsnrctl status -sprawdza status
lsnrctl stop -zatrzymuje


Procedura kontroli listenerów (procesu nasłuchu)

W konsoli wpisujemy lsnrctl status.
Jeżeli listener jest uruchomiony to komenda pokarze nam raport z  którego możemy się dowiedzieć na jakich portach listener nasłuchuje dla Oracle.
Możemy także sprawdzić czy  proces listenera działa przez sprawdzenie procesów za pomocą polecenie ps -ef|grep lsn

Komenda ta zwróci nam informacje m.in

  • wersja bazy danych Oracle
  • rodzaj systemu operacyjnego na którym postawiony jest system bazodanowy
Jak wyszukać procesy uruchomione przez Oracla?

wpisujemy do konsoli komende

ps -ef | grep ora

sobota, 24 sierpnia 2013

Etapy uruchamiania bazy Oracle

Trzy podstawowe etapy

1. Alokacja pamięci oraz uruchomienie procesów. 


Ten tryb wykorzystuje się w momencie utraty pliku kontrolnego, aby go ponownie utworzyć
Odczytuje parametry z pliku SPFILE (binarny) lub PFILE (tekstowy)

STARTUP NOMOUNT;


2. Montowanie bazy danych czyli odczyt pliku kontrolnego i sprawdzenie obecności i integralności 
pozostałych plików np. plików danych, redo logów...

STARTUP MOUNT;

ALTER DATABASE MOUNT; (uwaga stosuje się w przypadku gdy baza została już uruchomiona w
trybie NOMOUNT)


3. Otwarcie bazy dla wszystkich użytkowników

STARTUP;
ALTER DATABASE OPEN; (uwaga stosuje się w przypadku gdy baza została już uruchomiona w trybie MOUNT)

Czwarty etap rzadko wykorzystywany to tryb RESTRICT tylko dla adminów, którzy planują przeprowadzić procedurę eksportu, importu danych, aktualizacji struktury i chcą zablokować użytkowników na ten czas.



STARTUP RESTRICT;


Odblokowanie trybu RESTRICTED jest możliwe za pomocą komendy:


ALTER SYSTEM DISABLE RESTRICTED SESSION;

piątek, 23 sierpnia 2013

Odtwarzanie przestrzeni danych i plików systemowych

Odtwarzanie przestrzeni danych (tablespace)

RMAN> sql ' alter tablespace users offline' ;
RMAN> restore tablespace users;
RMAN> recover tablespace users;
RMAN> sql ' alter tablespace users online' ;


Odtwarzanie pliku spfile

RMAN> set DBID = 1399813587;
RMAN> startup nomount;
RMAN> restore spfile from autobackup;
RMAN> shutdown immediate;



Odtwarzanie pliku kontrolnego

RMAN> set DBID = 1399813587;
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> shutdown immediate;


Odtwarzanie plików danych

RMAN> sql ' alter database datafile 3 offline' ;
RMAN> sql ' alter database datafile ' \u01\app\oracle\oradata\baza\users01. dbf' offline' ;
RMAN> restore datafile 3;
RMAN> restore datafile ' \u01\app\oracle\oradata\users01. dbf' ;
RMAN> rcover datafile 3;
RMAN> rcover datafile ' \u01\app\oracle\oradata\users01. dbf' ;
RMAN> sql ' alter database datafile 3 online' ;
RMAN> sql ' alter database datafile ' \u01\app\oracle\oradata\users01. dbf' online' ;


czwartek, 22 sierpnia 2013

Tryb Archivelog i autobackup control file

Linux

Uwaga
Domyślna opcja NOARCHIVELOG jest wystarczająca, aby zapewnić ochronę przed błędami systemu operacyjnego oraz błędami samej instancji bazy.

shutdown immediate
su - oracle
sqlplus /nolog
connect / as sysdba
startup mount exclusive;
alter database archivelog;
archive log start;
alter database open;


lub

shutdown immediate
startup mount
alter database archivelog;
alter database open;


Konfiguracja Archivelog

show parameter log_archive_dest;

Konfiguracja obszaru FRA (Flash Recovery Area)

alter system set db_recovery_file_dest_size=10G;
alter system set db_recovery_file_dest=' /opt/backup/fra' ;

Konfiguracja lokalizacji archivelog

alter system set log_archive_dest_1=' location=/opt/backup/archivelog1' ;
alter system set log_archive_dest_2=' location=USE_DB_RECOVERY_FILE_DEST' ;

su - oracle
rman target orcl/PASSWORD

Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 30 07:09:30 2012Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.connected to target database: ORCL (DBID=1390091403)
RMAN> configure controlfile autobackup on;
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> exit

sobota, 17 sierpnia 2013

Instalacja klienta Oracle na Serwerze Aplikacji i stacji roboczej

Serwer Aplikacji/Terminali: 

1. Instalację przeprowadzać z konta posiadającego prawa administratora. 
2. Serwer w angielskiej wersji językowej powinien zostać ustawiony w opcji „Regional and Language Options” na polską lokalizację. 
3. Dodać prawo do „Create globar objects” dla kont użytkowników nie administratorów w systemie Windows:

1. Click Start, point to Programs, point to Administrative Tools, and then click Local Security Policy.
2. Expand Local Policies, and then click User Rights Assignment.
3. In the right pane, double-click Create global objects.
4. In the Local Security Policy Setting dialog box, click Add.
5. In the Select Users or Group dialog box, click the user account that you want to add, click Add, and then click OK.
--- Działa z grupą Autenticated users lub Domain users w przypadku Domeny.
6. Click OK. 


4. Skopiować wzorcowego TNSNAMES.ORA do lokalizacji „{Oracle Home}/network/admin”

XEbase =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.51)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.52)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME =XE)
)
)
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.52)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME =XE test)
)
)


Stacja Robocza Klienta: 

Instalację przeprowadzać z konta posiadającego prawa administratora. 
1. Skopiować wzorcowego TNSNAMES.ORA do lokalizacji „{Oracle Home}/network/admin”

np:

KZXE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.27)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.28)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE2)
)
)
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.28)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.27)(PORT = 1521))
(LOAD_BALANCE = YES)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testXE)
)
)


czwartek, 11 lipca 2013

Domyślne odtwarzanie bazy Oracle / wybór bazy do odtworzenia

Domyślnie Oracle odtwarza zawsze ostatnią bazę.

1. Odtwarzanie z tasiemki (urządzenia)

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


Montujemy bazę lecz nie otwieramy

startup mount;

Wykonujemy skrypt RMAN (odtwarzanie z tasiemki)

rman target  /
@backup.rman

run {
allocate channel t1 type 'sbt_tape';
restore database;
recover database;
release channel t1;
}



Otwieramy bazę

shutdown immediate;
startup;



Wybór bazy do odtworzenia z taśmy

list backup;

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


Montujemy bazę lecz nie otwieramy

startup mount;

Wykonujemy skrypt RMAN (odtwarzanie z tasiemki)

rman target  /
@backup.rman

run {
allocate channel t1 type 'sbt_tape';
restore database from tag 'TAG20091230T124556';
recover database;
release channel t1;
}

Zatrzymujemy i uruchamiamy Oracle

shutdown immediate;
startup;


2. Odtwarzanie z dysku

Zatrzymujemy Oracle

sqlplus /nolog
connect / as sysdba
shutdown immediate;


rman target  /

Uruchamiamy bazę bez montowania

RMAN> startup nomount;

Ustawiamy identyfikator bazy DBID

RMAN> set DBID = 1786613587;

Odtwarzamy plik kontrolny controlfile

RMAN> restore controlfile from autobackup;

Montujemy bazę i odtwarzamy pliki danych bazy 

RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database noredo;
RMAN> alter database open resetlogs;


środa, 20 lutego 2013

deadlocks - zakleszczenia

Zakleszczenie (deadlocks) powstaje, gdy dwie równolegle działające transakcje próbują modyfikować te same dane i w pewnym momencie dochodzi do wzajemnego zablokowania zasobów

System Oracle wykrywa zakleszczenie i rozwiązuje je wykorzystując algorytm wyboru tej transakcji, która zostanie przerwana, tzn. jej ostatnie polecenie zostanie przerwane, wycofane. Właściciel transakcji, dla której nastąpiło zakleszczenie otrzymuje wówczas

komunikat:

ORA-00060: deadlock detected while waiting for resource