Zarządzanie instancją bazy danych Oracle 11g -...

14
Zarządzanie instancją bazy danych Oracle 11g Strona: 1 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2 Zarządzanie instancją bazy danych Oracle11g Wstęp Na poprzednim laboratorium zapoznaliście się Państwo ze środowiskiem maszyny wirtualnej, systemem Linux oraz podstawowymi operacjami na bazie danych. Na tych zajęciach zostaną omówione podstawowe zagadnienia związane z: uruchamianiem i zatrzymywaniem bazy danych, konfiguracją LISTENER-a, zarządzaniem pamięcią zarządzaniem procesami instancji Uruchamianie bazy danych Baza danych startuje przechodząc kolejno przez 3 etapy: 1. Alokacja pamięci oraz uruchomienie procesów. Na tym etapie odczytywany jest plik parametrów SPFILE (binarny) lub PFILE (tekstowy). Ten tryb używany jest do tworzenia bazy lub tworzenia CONTROL FILE-a po jego utracie. A. STARTUP NOMOUNT; 2. “Montowanie” bazy danych czyli odczyt CONTROL FILE-a i sprawdzenie obecności i integralności pozostałych plików (np. plików danych, redo logów itp) A. STARTUP MOUNT; b. ALTER DATABASE MOUNT; (w przypadku gdy baza została już uruchomiona w trybie NOMOUNT) 3. Otwarcie bazy dla wszystkich użytkowników A. STARTUP; b. ALTER DATABASE OPEN; (w przypadku gdy baza została już uruchomiona w trybie MOUNT) Istnieje możliwość otwarcia bazy w trybie RESTRICT czyli tylko dla administratorów głównie w celu przeprowadzenia np. eksportu lub większego importu danych, przeprowadzenia aktualizacji lub po prostu jeśli chcemy zablokować dostęp zwykłym użytkownikom STARTUP RESTRICT; Odblokowanie trybu RESTRICTED jest możliwe za pomocą komendy:

Transcript of Zarządzanie instancją bazy danych Oracle 11g -...

Page 1: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 1 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Zarządzanie instancją bazy danych Oracle11g

Wstęp

Na poprzednim laboratorium zapoznaliście się Państwo ze środowiskiem maszyny wirtualnej, systemem

Linux oraz podstawowymi operacjami na bazie danych. Na tych zajęciach zostaną omówione

podstawowe zagadnienia związane z:

uruchamianiem i zatrzymywaniem bazy danych,

konfiguracją LISTENER-a,

zarządzaniem pamięcią

zarządzaniem procesami instancji

Uruchamianie bazy danych Baza danych startuje przechodząc kolejno przez 3 etapy:

1. Alokacja pamięci oraz uruchomienie procesów. Na tym etapie odczytywany jest plik

parametrów SPFILE (binarny) lub PFILE (tekstowy). Ten tryb używany jest do tworzenia bazy lub

tworzenia CONTROL FILE-a po jego utracie.

A. STARTUP NOMOUNT;

2. “Montowanie” bazy danych czyli odczyt CONTROL FILE-a i sprawdzenie obecności i integralności

pozostałych plików (np. plików danych, redo logów itp)

A. STARTUP MOUNT;

b. ALTER DATABASE MOUNT; (w przypadku gdy baza została już uruchomiona w

trybie NOMOUNT)

3. Otwarcie bazy dla wszystkich użytkowników

A. STARTUP;

b. ALTER DATABASE OPEN; (w przypadku gdy baza została już uruchomiona w trybie

MOUNT)

Istnieje możliwość otwarcia bazy w trybie RESTRICT czyli tylko dla administratorów głównie w celu

przeprowadzenia np. eksportu lub większego importu danych, przeprowadzenia aktualizacji lub po

prostu jeśli chcemy zablokować dostęp zwykłym użytkownikom

STARTUP RESTRICT;

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

Page 2: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 2 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

ALTER SYSTEM DISABLE RESTRICTED SESSION;

Zatrzymywanie bazy danych Bazę danych można zamykać na kilka różnych sposobów:

Zatrzymanie normalne (domyślne). Baza danych czeka aż wszyscy użytkownicy sami rozłączą się.

Ponowny start bazy nie wymaga odtwarzania

o SHUTDOWN NORMAL; (lub po prostu SHUTDOWN)

Zatrzymanie po zakończeniu wszystkich rozpoczętych transakcji. Ponowne uruchomienie bazy

nie wymaga odtwarzania

O SHUTDOWN TRANSACTIONAL;

Zatrzymanie natychmiastowe. Wszystkie działające transakcje są wycofywane, a użytkownicy

rozłączani. Ponowne uruchomienie bazy nie wymaga odtwarzania

O SHUTDOWN IMMEDIATE;

Zatrzymanie awaryjne. Instancja przestaje działać bez wcześniejszych ostrzeżeń i oczekiwania na

normalne zakończenie transakcji. Należy stosować ten typ zatrzymywania jeśli żaden z

powyższych nie działa, baza działa w sposób nieprzewidywalny lub są problemy z jej

uruchomieniem. Ponowne uruchomienie bazy wymaga odtwarzania (najczęściej wykonywane

automatycznie)

O SHUTDOWN ABORT;

Konfiguracja LISTENER-a LISTENER jest procesem nasłuchującym na konkretnym porcie (domyślnie 1521) i adresie IP. Umożliwia

zdalne łączenie się do bazy danych przez sieć. Najprostsza konfiguracja wymaga określenia nazwy

serwera lub adresu IP oraz portu na którym ma nasłuchiwać. Odpowiednich wpisów dokonujemy w pliku

listener.ora znajdującym się w katalogu $ORACLE_HOME/network/admin:

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1.localdomain)(PORT = 1521))

)

LISTENER bez dodatkowej konfiguracji może uzyskać informacje o działających na tym samym serwerze

instancjach bazy Oracle i serwować usługę dostępu do nich z zewnątrz. Procesem, który automatycznie

rejestruje instancję bazy w LISTENER jest PMON. Niemniej jednak warto na stałe skonfigurować

LISTENER-a aby wiedział, że ma serwować usługi do danej instancji bazy. Robi się to poprzez ręczną

edycję pliku listener.ora lub za pomocą narzędzia graficznego Oracle Net Manager uruchamianego

komendą

Page 3: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 3 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

netmgr

Narzędzie umożliwia konfigurację LISTENER-a

Aby na stałe wpisać w konfigurację serwowanie usług sieciowych do konkretnej instancji bazy należy

wybrać opcję Database Services jak na rysunku poniżej:

Należy wypełnić 3 pola zaznaczone w czerwonym prostokącie, a więc:

Page 4: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 4 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Global Database Name – pełna nazwa instancji (orcl)

Oracle Home Directory – czyli $ORACLE_HOME

SID – skrócona nazwa instancji czyli orcl

Po zapisaniu zmian (File -> Save Network Configuration) i ponownym uruchomieniu LISTENER-a zmiany

zostaną wprowadzone. Kod wygenerowany przez narzędzie graficzne można zobaczyć otwierając plik

listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

(SID_NAME = orcl)))

Najprostsze zarządzanie LISTENER-em sprowadza się do jego uruchomienia, sprawdzania statusu oraz

zatrzymywania:

lsnrctl start

lsnrctl status

lsnrctl stop

Oracle Net Manager umożliwia również:

dodawanie nowego adresu i portu nasłuchu w przypadku jeśli konieczne jest nasłuchiwanie na

kilku interfejsach sieciowych (w przypadku maszyny z kilkoma kartami sieciowymi)

zmianę portu nasłuchu

rejestrację instancji bazy do obsługi

konfigurację aliasów sieciowych po stronie klienta

konfigurację uwierzytelnienia z katalogów LDAP

Zaawansowanej obsługi sieciowej z szyfrowaniem, load balancing itp.

Zarządzanie pamięcią

Page 5: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 5 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Jednym z kluczowych zadań administracyjnych jest konfiguracja i zarządzanie pamięcią SGA i PGA w

instancji bazy danych. Najprostszym sposobem na konfigurację pamięci jest włączenie automatycznego

zarządzania pamięcią. Wykonuje się to ustawiając parametr

MEMORY_TARGER = nM gdzie n oznacza ilość megabajtów przydzielonych wspólnie na SGA i PGA

Powyższy parametr ustawić można poniższą komendą:

ALTER SYSTEM SET MEMORY_TARGET = 308M;

Aby wyłączyć automatyczne zarządzanie pamięcią wystarczy ustawić wartość zero parametrowi

MEMORY_TARGET:

ALTER SYSTEM SET MEMORY_TARGET = 0;

Poszczególne parametry konfiguracyje można wyświetlić za pomocą SQLPLUS-a i komendy:

SHOW PARAMETER TARGET

Powyższa komenda wyświetla wszystkie parametry, które mają w swojej nazwie słowo target.

memory_max_target big integer 332M

memory_target big integer 308M

pga_aggregate_target big integer 108M

sga_target big integer 200M

Uwaga!

Niektóre parametry można zmieniać dynamicznie w trakcie działania instancji bazy np.

memory_target czy sga_target. Są jednak i takie parametry, które wymagają restartu instancji. W

celu zmiany wartości takiego parametru należy posłużyć się klauzulą scope=spfile np.

ALTER SYSTEM SET MEMORY_MAX_TARGET=350M SCOPE=SPFILE;

Powoduje ona zapisanie nowej wartości w pliku inicjalizacyjnym SPFILE i wprowadzenie jej do użycia

przy kolejnym starcie instancji bazy.

W przypadku kiedy z powodu błędu wprowadzimy do pliku SPFILE nieprawidłową wartość jakiegoś

parametru, ponowne uruchomienie instancji bazy może się nie udać. Plik SPFILE jest plikiem binarnym

więc nie da się go edytować ręcznie. To co należy wtedy zrobić to po zalogowaniu do SQLPLUS wykonać

następującą komendą:

CREATE PFILE=’pelna sciezka do pliku’ FROM SPFILE; np:

CREATE PFILE=’/tmp/pfile.ora’ FROM SPFILE;

Page 6: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 6 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Uwaga!

Apostrofy w komendach błędnie kopiują się do konsoli SQLPLUS. Należy je wpisać w konsoli ręcznie.

Powyższe polecenie tworzy plik PFILE który w odróżnieniu od SPFILE jest tekstowy i może być edytowany

ręcznie. Należy więc otworzyć PFILE w pliku tekstowym i zmienić błędnie ustawione wartości

parametrów. Kolejne uruchomienie instancji bazy odbywa się przy wskazaniu lokalizacji pliku PFILE np:

STARTUP PFILE=’/tmp/pfile.ora’;

Aby powrócić do korzystania z pliku SPFILE jako domyślnego pliku z parametrami startowymi należy

wykonać poniższą komendę:

CREATE SPFILE FROM PFILE;

Kolejne uruchamianie instancji bazy będzie znowu przy użyciu pliku SPFILE (czyli binarnego)

Monitorowanie zasobów pamięci

W trakcie działania instancji bazy można sprawdzać ilość pamięci przydzielonej poszczególnym buforom

za pomocą widoków V$ lub Enterprise Manager-a.

Sprawdzanie alokacji pamięci w SQLPLUS W bazie Oracle istnieje wiele widoków w których można sprawdzać różne statystyki związane z

przydziałem pamięci. Do nich należą między innymi: V$SGASTAT dla obszaru SGA oraz V$PGASTAT dla

obszaru PGA .

Mimo że baza pracuje w trybie automatycznego przydzielania pamięci (MEMORY_TARGET > 0) to

możemy określać wartości dla poszczególnych składowych czyli PGA (PGA_AGGREGATE_TARGET) i

SGA (SGA_TARGET). Baza potraktuje nasze wskazania jako wartości minimalne, ale może je

samodzielnie zwiększyć do maksymalnego rozmiaru MEMORY_TARGET .

Poniżej przydatne zapytania na widokach V$SGASTAT i V$PGASTAT:

Wyświetla ilość pamięci dla “pool-i” czyli SHARED POOL, JAVA POOL, LARGE POOL, STREAMS POOL

SELECT POOL, SUM(BYTES) FROM V$SGASTAT GROUP BY POOL;

Wyświetla ilość pamięci dla buforów czyli dla LOG BUFFER i BUFFER CACHE

SELECT NAME, SUM(BYTES) FROM V$SGASTAT WHERE POOL IS NULL GROUP

BY NAME;

Wyświetla ilość pamięci całej przestrzeni SGA w megabajtach

SELECT SUM(BYTES)/1048576 FROM V$SGASTAT;

Page 7: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 7 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Wyświetla statystyki przydziału pamięci dla PGA

SELECT * FROM V$PGASTAT;

Sprawdzanie alokacji pamięci w Enterprise Manager Uruchamiając EM komendą:

emctl start dbconsole

możemy w narzędziu graficznym przyjrzeć się między innymi alokacji pamięci.

W przeglądarce otwieramy link Oracle Enterprise Manager i logujemy się jako:

Username: sys

Password: oracle

Connect as: SYSDBA

Następnie ze strony domowej przechodzimy na zakładkę Server i wybieramy opcję Memory Advisors

Na wyświetlonej stronie po kliknięciu na Memory Advisor można zobaczyć aktualną alokację pamięci

wraz z możliwości zmiany parametrów.

Page 8: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 8 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Zarządzanie procesami Jednym z elementów na które administrator ma wpływ w przypadku procesów jest ilość uruchomionych

procesów Database Writer-a, który w sposób asynchroniczny zapisuje zmodyfikowane bloki z pamięci

(Database Buffer Cache) do plików na dysku. Można ustawić do 20 procesów DBW uwzględniając ilość

procesorów i rdzeni w fizycznej maszynie. Parametrem którym sterujemy ilość procesów jest:

DB_WRITER_PROCESS

Zmiana odbywa się przez wydanie komendy:

ALTER SYSTEM SET DB_WRITER_PROCESSES = 2 SCOPE=SPFILE;

Page 9: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 9 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Ćwiczenia

Ćwiczenie 1 – Uruchamianie i zatrzymywanie instancji bazy

1. Uruchomić instancję bazy ręcznie wprowadzając ją w kolejne tryby NOMOUNT, MOUNT i OPEN.

2. W drugim terminalu podłączyć się do bazy przez SQLPLUS na konto użytkownika DBSNMP/oracle

3. Z pierwszego terminala spróbować zamknąć bazę danych opcją shutdown. Zastanowić się nad

rezultatem tej operacji. Co trzeba zrobić żeby instancja rzeczywiście się zamknęła?

4. Ponownie wystartować bazę w trybie normalnym

5. Zamknąć bazę opcją abort

6. Ponownie ją otworzyć, ale w trybie RESTRICT i sprawdzić w pliku alert_orcl.log czy baza

wykonała odtworzenie po awarii (recovery)

7. W drugim terminalu zalogować się jako użytkownik DBSNMP. Sprawdzić czy się powiodło. Co

należy zrobić, żeby ten użytkownik mógł się zalogować?

Ćwiczenie 2 – LISTENER

1. Uruchomić proces nasłuchu bazy danych LISTENER i sprawdzić czy instancja bazy orcl

zarejestrowała się w nim

2. Za pomocą Oracle Net Manager skonfigurować proces LISTNER-a do automatycznej rejestracji

instancji bazy orcl

3. Również za pomocą Oracle Net Manager skonfigurować proces LISTNER żeby nasłuchiwał na

adresie IP 127.0.0.1 (localhost) i porcie 1555.

4. Sprawdzić poleceniem systemu operacyjnego Linux czy LISTENE R rzeczywiście nasłuchuje na

dwóch adresach IP i dwóch różnych portach

Ćwiczenie 3 – Zarządzanie pamięcią

1. Sprawdzić za pomocą SQLPLUS czy instancja bazy jest ustawiona w trybie automatycznego

zarządzania pamięcią

2. Sprawdzić wartości parametrów SGA i PGA

3. Sprawdzić za pomocą poleceń SQL jakie aktualnie wartości zostały przydzielone:

a. całej przestrzeni SGA

b. Shared Pool

c. Large Pool

d. Java Pool

e. Log Buffer

f. Buffer Cache

Page 10: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 10 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

4. Zmienić wartość parametru MEMORY_MAX_TARGET na 330M. Zastosować zmiany i sprawdzić

czy się udało.

5. Ponownie zmienić parametr MEMORY_MAX_TARGET na 250M. Zastosować zmiany i sprawdzić

czy się udało.

6. Uruchomić EM i sprawdzić sposób alokacji pamięci. Porównać z wartościami otrzymanymi w

SQLPLUS

Ćwiczenie 4 – Zarządzanie procesem DBW

1. Sprawdzić ile jest aktualnie uruchomionych procesów Database Writer (DBW) za pomocą

SQLPLUS i polecenia systemu operacyjnego Linux

2. Zwiększyć ilość procesów DBW do 3 i zastosować zmiany. Sprawdzić czy się udało.

3. Sprawdzić w systemie operacyjnym Linux ile jest aktualnie uruchomionych procesów DBWR.

4. Ponownie przywrócić oryginalną ilość procesów DBW.

Page 11: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 11 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Odpowiedzi do zadań

Ćwiczenie 1 1. Należy wykonać po kolei następujące polecenia

a. sqlplus sys as sysdba

b. startup nomount

c. alter database mount;

d. alter database open;

2. Otworzyć drugi terminal tekstowy i podłączyć się do bazy jako użytkownik dbsnmp z hasłem

oracle

a. sqlplus dbsnmp/oracle

3. Próba zamknięcia bazy komendą shutdown nie powiedzie się bo instancja oczekuje na

wylogowanie użytkownika DBSNMP. Należy zakończyć sesję użytkownika DBSNMP lub przerwać

wykonywanie komendy shutdown przez wciśnięcie CTRL-C i zakończenie działania instancji

poleceniem shutdown immediate.

4. Wystartowanie bazy w trybie normalnym:

a. startup;

5. Zamknąć baze w trybie abort:

a. shutdown abort

6. Ponownie uruchomić instancję i sprawdzić w pliku alert_orcl.log czy baza wykonała

odzyskiwanie po awarii

a. startup restrict

b. find /u01 –name alert_orcl.log

c. emacs /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

d. Odnaleźć na końcu pliku informacje o przeprowadzonym odtwarzaniu np:

Recovery of Online Redo Log: Thread 1 Group 2 Seq 428

Reading mem 0

Mem# 0: /u01/app/oracle/oradata/orcl/redo02.log

Completed redo application of 0.13MB

Completed crash recovery at

7. Podłączenie z drugiego terminala jako użytkownik DBSNMP

a. sqlplus dbsnmp/oracle

b. logowanie nieudane ponieważ baza została otwarta w trybie RESTRICT.

c. Należy z pierwszej konsoli jako użytkownik SYS wyłączyć tryb RESTRICT

d. alter system disable restricted session;

e. Kolejne podłączenie zwykłego użytkownika będzie udane

...

Page 12: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 12 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

Ćwiczenie 2 Opis jak wykonać poszczególne kroki tego ćwiczenia znajduje się na początku Odpowiedzi na

zagadnienia w tym ćwiczeniu znajdują w rozdziale Konfiguracja LISTENER-a

Ćwiczenie 3 1. Aby sprawdzić czy baza działa w trybie automatycznego zarządzania pamięcią wystarczy w

poziomu SQLPLUS sprawdzić wartość parametru MEMORY_TARGET. Jeśli jest niezerowy to

znaczy że automatyczne zarządzanie pamięcią jest włączone.

a. sqlplus sys as sysdba

b. show parameter memory_target

2. Aby sprawdzić wartości parametrów PGA i SGA ponownie trzeba użyć polecenia w SQLPLUS:

a. show parameter sga_target

b. show parameter pga_aggregate_target

3. Aby sprawdzić aktualne wartości dla poszczególnych obszarów pamięci należy odpytać widoki

V$SGASTAT i V$PGASTAT:

a. Cała przestrzeń SGA

i. SELECT SUM(BYTES)/1048576 FROM V$SGASTAT;

b. Dla Shared Pool, Large Pool i Java Pool wystarczy zadać jedno polecenie:

i. SELECT POOL, SUM(BYTES) FROM V$SGASTAT GROUP BY POOL;

c. Dla Log Buffer i Buffer Cache też pojedyncze zapytanie:

i. SELECT NAME, SUM(BYTES) FROM V$SGASTAT WHERE POOL IS

NULL GROUP BY NAME;

4. Zmienić wartość parametru MEMORY_MAX_TARGET na 330M

a. alter system set memory_max_target=330M scope=spfile;

b. shutdown immediate

c. startup

5. Zmienić wartość parametru MEMORY_MAX_TARGET na 250M

a. alter system set memory_max_target=250M scope=spfile;

b. shutdown immediate

c. startup

Podczas próby ponownego uruchomienia instancji po zmianie parametru MEMORY_MAX_TARGET na

250M baza zgłosi problem:

ORA-00837: Specified value of MEMORY_TARGET greater than

MEMORY_MAX_TARGET

Baza nie uruchomi się z tak dobraną wartości dla tego parametru. Zanim ponownie uruchomimy

instancję należy poprawić wartość MEMORY_MAX_TARGET. Problem w tym że plik SPFILE jest binarnym

i nie można go zmieniać ręcznie. Dlatego należy stworzyć jego kopię tekstową czyli PFILE i poprawić

błędną wartość za pomocą edytora. Należy wykonać następujące polecenia:

Page 13: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 13 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2

sqlplus sys as sysdba

create pfile=’/tmp/pfile.ora’ from spfile;

Otworzyć i zmodyfikować plik /tmp/pfile.ora i poprawić błędną wartość MEMORY_MAX_TARGET, a

następnie uruchomić bazę wskazując przy starcie plik PFILE:

startup pfile=’/tmp/pfile.ora’

i ostatecznie odtworzyć plik SPFILE

create spfile from pfile=’/tmp/pfile.ora’

6. Uruchomić Enterprise Manager i sprawdzić alokację pamięci

a. emctl start dbconsole

b. Należy się zalogować i wejść do zakładki Server i potem Memory Advisors.

Ćwiczenie 4 Aby sprawdzić ilość procesów DBW to należy sprawdzić wartość parametru DB_WRITER_PROCESSES

c. sqlplus sys as sysdba

d. show parameter DB_WRITER_PROCESSES

Zmiana parametru

e. alter system set db_writer _processes=3 scope=spfile;

f. shutdown immediate

g. startup

Z poziomu systemu operacyjnego można sprawdzić poleceniem

h. ps aux | grep ora_dbw

Na ekranie można zauważyć dwa procesy DBW0 i DBW1

Powrót do starych ustawień:

a. alter system set db_writer _processes=1 scope=spfile;

b. shutdown immediate

c. startup

Page 14: Zarządzanie instancją bazy danych Oracle 11g - mst.webd.plmst.webd.pl/_sggw/oracle/laboratorium_nr_2_-_zarz_dzanie_instancj... · W bazie Oracle istnieje wiele widoków w których

Zarządzanie instancją bazy danych Oracle 11g

Strona: 14 | Administracja bazą Oracle 11g | Studia Podyplomowe SGGW | Laboratorium nr 2