Kiedy i co stroić? Strojenie instancji bazy danych Oracle9i. Cele strojenia. Kroki strojenia systemu aplikacji. Juliusz.Jezierski@cs.put.poznan.
|
|
- Katarzyna Czajka
- 9 lat temu
- Przeglądów:
Transkrypt
1 Strojenie instancji bazy danych Oracle9i Kiedy i co stroić? Koszt strojenia w trakcie budowy i eksploatacji systemu informatycznego koszt projekt implementacja eksploatacja Efekt strojenia w trakcie budowy i eksploatacji systemu informatycznego czas efekt czas 1 projekt implementacja eksploatacja 2 Cele strojenia Czas odpowiedzi systemu (aplikacji) Przepustowość Szybkość ładowania danych Czas odtwarzania po awarii Oczekiwania uŝytkowników Kroki strojenia systemu aplikacji Strojenie projektu Strojenie aplikacji Strojenie pamięci Strojenie I/O Strojenie rywalizacji Strojenie systemu operacyjnego 3 4
2 Statystyki punktu odniesienia Zbierz statystyki podczas pracy systemu gdy parametry jego pracy są satysfakcjonujące Wykorzystaj statystyki punktu odniesienia do porównania ze statystykami zebranymi podczas niewydajnej pracy systemu Sformułuj hipotezę co zmieniło się w systemie Kroki strojenia instancji bazy danych 1. Zdefiniuj problem 2. Zbierz statystyki instancji i systemu operacyjnego 3. RozwaŜ często spotykane przyczyny słabej wydajności 4. Przemyśl moŝliwe działania 5. Przeprowadź zaplanowane działania i zmierz ich skutki 6. Sprawdź czy wąskie gardło zostało usunięte 7. JeŜeli nie to wróć to punktu 1-szego 5 6 Metodyka strojenia instancji bazy danych Sprawdź plik strzeŝeń i pliki śladów instancji Sprawdź zawartość pliku z parametrami inicjalizacyjnymi Sprawdź wykorzystanie pamięci, urządzeń I/O, procesorów. Znajdź procesy, które nadmiernie wykorzystują zasoby Przeprowadź analizę wydajność instancji w kategoriach wykorzystanego czasu procesora i czasu oczekiwania na zasoby (ang. wait time) Znajdź elementy systemu wykorzystujące najwięcej zasobów Przeanalizuj logikę elementu w celu znalezienia przyczyn nadmiernego wykorzystania zasobów Strojenie obszaru współdzielonego 7 8
3 Obszar współdzielony Rozmiar obszaru współdzielonego ustalany jest dynamicznym parametrem inicjalizacyjnym SHARED_POOL_SIZE Obszar współdzielony składa się z: Bufora bibliotecznego - wykorzystywany do współdzielenia planów wykonania poleceń SQL i kodu PL/SQL Bufora słownikowego - wykorzystywany do buforowania informacji systemowych ze słownika bazy danych Globalnego obszaru uŝytkownika - wykorzystywany w konfiguracji ze współdzielonymi procesami serwera do przechowywania informacji o sesji uŝytkownika Strojenie obszaru współdzielonego ma większy priorytet od strojenia innych obszarów w SGA 9 Bufor biblioteczny Zarządzany za pomocą algorytmu LRU UŜywany do unikania wielokrotnego parsowania tego samego polecenia SQL Zbyt mała wielkość tego obszaru moŝe generować błąd ORA , 00000, "unable to allocate %s bytes of shared memory " // *Cause: More shared memory is needed than was allocated in the shared // pool. // *Action: If the shared pool is out of memory, either use the // dbms_shared_pool package to pin large packages, // reduce your use of shared memory, or increase the amount of // available shared memory by increasing the value of the // INIT.ORA parameters "shared_pool_reserved_size" and // "shared_pool_size". // If the large pool is out of memory, increase the INIT.ORA // parameter "large_pool_size". 10 Strojenie bufora bibliotecznego Upewnienie się, Ŝe aplikacje mogą współdzielić polecenia SQL przez wykorzystywanie zmiennych wiązania (ang. bind variables) zamiast literałów Zapewnienie wystarczająco duŝego obszaru do utrzymywania najczęściej wykonywanych poleceń SQL i kodu PL/SQL Unikanie modyfikowania struktury obiektów bazy danych, które moŝe powodować uniewaŝnianie (ang. invalidation) poleceń SQL w obszarze bibliotecznym Rezerwowanie obszaru dla duŝych obiektów Przypinanie (ang. pinning) duŝych obiektów Eliminowanie anonimowych bloków PL/SQL na rzecz pakietów funkcji i procedur Wykorzystywanie obszaru duŝych obiektów dla konfiguracji współdzielonych serwerów 11 Określenie stopnia współdzielenia kursorów Określenie współczynnika współdzielenia kursorów - w systemach OLTP wartość powinna być większa od 90% SELECT gets, gethits, gethitratio FROM v$librarycache WHERE namespace = 'SQL AREA'; Określenie uruchamianych przez uŝytkowników poleceń SELECT sql_text, users_executing, executions, loads FROM v$sqlarea; SELECT * FROM v$sqltext WHERE sql_text LIKE 'SELECT * FROM scott.emp WHERE %'; 12
4 Sterowanie współdzieleniem kursorów za pomocą parametru inicjalizacyjnego CURSOR_SHARING są exact - domyślna wartość, literały nie zamieniane na zmienne wiązania, teksty poleceń muszą być identyczne aby mogły współdzielić są kursor similar - literały zamieniane na zmienne wiązania, jeŝeli podobne polecania mają są identyczne plany wykonania force - literały zamieniane na zmienne wiązania niezaleŝnie od planów wykonania Dla źle napisanych aplikacji, które nie wykorzystują zmiennych wiązania dla tych samych poleceń moŝna ustawić parametr inicjalizacyjny CURSOR_SHARING, ustawienie tego parametru powoduje, Ŝe literały są zamieniane na zmienne wiązania: Określenie współczynnika przeładowań Współczynnik przeładowań powinien być mniejszy od 1% SELECT SUM(pins) "Executions", SUM(reloads) "Cache Misses", SUM(reloads)/SUM(pins) FROM v$librarycache; JeŜeli współczynnik przeładowań jest większy od 1% naleŝy zwiększyć wartość parametru SHARED_POOL_SIZE UniewaŜnianie obiektów w obszarze bibliotecznym SELECT count(*) FROM scott.emp; SELECT namespace, pins, reloads, invalidations FROM v$librarycache; NAMESPACE PINS RELOADS INVALIDATIONS SQL AREA execute dbms_stats.gather_table_stats ('SCOTT','EMP'); PL/SQL procedure successfully completed. SELECT count(*) FROM scott.emp; SELECT namespace, pins, reloads, invalidations FROM v$librarycache; Szacowanie wielkości obszaru współdzielonego za pomocą parametru inicjalizacyjnego STATISTICS_LEVEL i perspektyw V$SHARED_POOL_ADVICE SELECT shared_pool_size_for_estimate AS pool_size, estd_lc_size, estd_lc_time_saved FROM v$shared_pool_advice; POOL_SIZE ESTD_LC_SIZE ESTD_LC_TIME_SAVED NAMESPACE PINS RELOADS INVALIDATIONS SQL AREA
5 Rezerwowanie ciągłej pamięci w buforze bibliotecznym dla duŝych obiektów SQL i PL/SQL UmoŜliwia zmniejszenie fragmentacji obszaru bibliotecznego Zapewnia obszar do kompilacji duŝych obiektów SQL i PL/SQL Ustawiany za pomocą parametru inicjalizacyjnego SHARED_POOL_RESERVED_SIZE Strojenie zarezerwowanego obszaru w buforze bibliotecznym (1/2) SHARED_POOL_RESERVED_SIZE jest zbyt mały jeŝeli REQUEST_FAILURES jest większy od zera i zwiększa się podczas pracy instancji, rozwiązanie - zwiększenie odpowiednio SHARED_POOL_RESERVED_SIZE i SHARED_POOL_SIZE SHARED_POOL_RESERVED_SIZE jest zbyt duŝy jeŝeli REQUEST_MISSES = 0 lub nie zwiększa się, albo FREE_SPACE>50% w stosunku do SHARED_POOL_RESERVED_SIZE, rozwiązanie - zmniejszenie SHARED_POOL_RESERVED_SIZE Strojenie zarezerwowanego obszaru w buforze bibliotecznym (2/2) Przypinanie w buforze bibliotecznym duŝych obiektów PL/SQL select REQUEST_FAILURES, REQUEST_MISSES, FREE_SPACE from v$shared_pool_reserved; REQUEST_FAILURES REQUEST_MISSES FREE_SPACE show parameter SHARED_POOL_RESERVED NAME TYPE VALUE shared_pool_reserved_size big integer Instalacja pakietu Znajdowanie nie przypiętych duŝych obiektów PL/SQL w obszarze bibliotecznym SELECT * FROM v$db_object_cache WHERE sharable_mem > AND (type='package' OR type='package BODY' OR type='function' OR type='procedure') AND kept='no'; 19 Przypinanie duŝych obiektów PL/SQL EXECUTE dbms_shared_pool.keep('nazwa_obiektu'); 20
6 Przypinanie w buforze bibliotecznym anonimowych bloków PL/SQL Nie zalecane, lepiej dokonać konwersji do procedury w pakiecie DECLARE /* przypnij_mnie */ x number; BEGIN END; x := 5; SELECT address, hash_value FROM v$sqlarea WHERE command_type = 47 AND sql_text LIKE '%przypnij_mnie%'; EXECUTE dbms_shared_pool.keep ( address,hash_value ); 21 Inne parametry inicjalizacyjne mające wpływ na wydajność bufora bibliotecznego OPEN_CURSORS - liczba prywatnych obszarów SQL równocześnie wykorzystywanych przez kursory przez pojedynczy proces serwera, zamknięcie kursora powoduje jego dealokację, domyślnie 50 SESSION_CACHED_CURSORS - umoŝliwia buforowanie kursorów po stronie procesu serwera i odciąŝa wykorzystanie obszaru bibliotecznego, domyślnie 0 CURSOR_SPACE_FOR_TIME - ustawienie na TRUE powoduje, Ŝe współdzielone polecenia SQL w buforze bibliotecznym nie są nigdy wymiatane, moŝna ustawić jeŝeli reloads w v$librarycache = 0 i nie wzrasta, nie ustawiać dla aplikacji Oracle Forms i innych wykorzystujących dynamiczny SQL CURSOR_SHARING - wcześniej omawiany 22 Strojenie bufora słownikowego (1/3) Strojenie bufora słownikowego (2/3) System automatycznie dzieli obszar współdzielony na część bufora bibliotecznego i bufora słownikowe preferując bufor słownikowy, stąd dostrojenie bufora bibliotecznego zazwyczaj powoduje dostrojenie bufora słownikowego Współczynnik nietrafień powinien być <2% dla większości typów obiektów słownika danych oraz <15% dla wszystkich typów obiektów słownika danych Suma getmisses do gets powinna być mniejsza od 15% SELECT sum(getmisses)/sum(gets)*100 getmisses2gets FROM v$rowcache GETMISSES2GETS ,
7 Strojenie bufora słownikowego (3/3) Współczynnik getmisses do gets powinien być mniejszy od 2% dla większości typów obiektów słownika danych SELECT parameter object_type, getmisses/decode(gets,0,null, gets)*100 getmisses2gets FROM v$rowcache OBJECT_TYPE GETMISSES2GETS dc_free_extents dc_used_extents dc_segments 1, dc_tablespaces, dc_tablespace_quotas, dc_files 3, dc_users, dc_global_oids, dc_constraints 42, dc_object_ids 2, Globalny obszar uŝytkownika (UGA) Konfiguracja z dedykowanym procesem serwera obszar współdzielony Konfiguracja z współdzielonym procesem serwera obszar współdzielony lub duŝy obszar obszar stosu UGA dane stan sesji kurs. uŝytk. PGA dane sesji uŝytk. UGA stan kurs. PGA obszar stosu 26 Określenie rozmiaru UGA DuŜy obszar Rozmiar UGA wykorzystywanego przez bieŝącą sesję: SELECT SUM(value) 'bytes' "Total session memory" FROM v$mystat, v$statname WHERE name = 'session uga memory' AND v$mystat.statistic# = v$statname.statistic#; Rozmiar UGA wykorzystywany przez wszystkie współdzielone procesy serwerów: SELECT SUM(value) 'bytes' "Total session memory" FROM v$sesstat, v$statname WHERE name = 'session uga memory' AND v$sesstat.statistic# = v$statname.statistic#; Maksymalny rozmiar UGA wykorzystywany przez wszystkie sesje: SELECT SUM(value) 'bytes' "Total max memory" FROM v$sesstat, v$statname WHERE name = 'session uga memory max' AND v$sesstat.statistic# = v$statname.statistic#; 27 Opcjonalny obszar w SGA, wykorzystywany przez: Operacje we/wy dla DBWR_IO_SLAVES Operacje backupu i odtwarzania przez RMAN UGA dla konfiguracji ze współdzielonymi procesami serwera Wymiany komunikatów dla zapytań równoległych UmoŜliwia uniknięcia problemów wydajnościowych związanych ze rywalizacją o dostęp do pamięci współdzielonej Wielkość określana za pomocą parametru inicjalizacyjnego LARGE_POOL_SIZE 28
8 Wielkość bufora bazy danych Strojenie bufora danych Bufor bazy danych składa się z niezaleŝnych podbuforów dla kaŝdej wykorzystywanej przez bazę danych wielkości bloku bazy danych Parametr inicjalizacyjny DB_BLOCK_SIZE określa podstawową wielkość bloku bazy danych, która jest wykorzystywana przez przestrzeń tabel SYSTEM Wielkości poszczególnych podbuforów dla podstawowej wielkości bloku bazy danych określają parametry: DB_CACHE_SIZE DB_KEEP_CACHE_SIZE DB_RECYCLE_CACHE_SIZE Szacowanie wielkości bufora bazy danych Za pomocą dynamicznego parametru inicjalizacyjnego DB_CACHE_ADVICE i perspektyw v$db_cache_advice Dopuszczalne wartości DB_CACHE_ADVICE: off - zbieranie statystyk wyłączone ready - zarezerwowana pamięć w SGA natomiast zbieranie statystyk wyłączone on - zarezerwowana pamięć w SGA włączone zbieranie statystyk 31 Wykorzystanie perspektywy v$db_cache_advice SELECT size_for_estimate "Cache Size (MB)", buffers_for_estimate "Buffers", estd_physical_read_factor AS "Estd Phys Read Factor", estd_physical_reads "Estd Phys Reads" FROM v$db_cache_advice WHERE name = 'DEFAULT' AND block_size = ( SELECT value FROM v$parameter WHERE name = 'db_block_size') AND advice_status = 'ON'; Cache Size (MB) Buffers Estd Phys Read Factor Estd Phys Reads , , , , , ,
9 Wskaźniki wydajności bufora bazy danych Współczynnik trafień nie jest najuŝyteczniejszą miarą wydajności bufora bazy danych. Bardziej przydatne są statystyki dotyczące zdarzeń oczekujących (ang. wait events) dostępne przez perspektywy v$sysstat, v$system_event, v$session_wait, przykładowe zdarzenia oczekujące dotyczące bufora bazy danych: Free Buffer Inspected - przeglądanie bloków w celu znalezienia wolnego bloku, jeŝeli zdarzeń oczekujących jest duŝo i ich liczba rośnie naleŝy rozwaŝyć zwiększenie wielkości bufora bazy danych inną przyczyną moŝe być nieefektywne działanie DBW0 Buffer Busy Waits - oczekiwanie na dostęp do tego samego bloku bufora przez wiele procesów serwera, przyczyny: wykorzystanie nieselektywnych indeksów, obciąŝenie indeksu operacjami insert z liczbami generowanymi z sekwencera, modyfikowanie róŝnych wierszy w tym samym bloku, zbyt mała liczba segmentów wycofania 33 Pomiar współczynnika trafień w bufor danych SELECT 1 - (phy.value - lob.value - dir.value) / ses.value "CACHE HIT RATIO" FROM v$sysstat ses, v$sysstat lob, v$sysstat dir, v$sysstat phy WHERE ses.name = 'session logical reads' AND dir.name = 'physical reads direct' AND lob.name = 'physical reads direct (lob)' AND phy.name = 'physical reads'; CACHE HIT RATIO , Wartość współczynnik trafień moŝe być spowodowana: Operacjami pełnego przeglądu tabel (ang. full table scan) DuŜymi tabelami z swobodnym dostępem Nierównomiernym rozproszeniem trafień w bufor 34 Przesłanki do zwiększenia wielkości bufora bazy danych Wszystkie zdarzenia oczekujące zostały podstrojone Wszystkie polecenia SQL zostały postrojone Nie ma niebezpieczeństwa stronicowania bufora bazy danych na dysk Poprzednie zwiększenie bufora bazy danych przyniosło zwiększenie wydajności działania bazy danych Współczynnik trafień jest niski Wykorzystanie wielu obszarów buforów KEEP - wykorzystywany do często uŝywanych obiektów bazy danych, wielkość ustalana za pomocą dynamicznego parametru inicjalizacyjnego DB_KEEP_CACHE_SIZE RECYCLE - wykorzystywany do bloków, których szansa ponownego wykorzystania jest mała, wielkość ustalana za pomocą dynamicznego parametru inicjalizacyjnego DB_RECYCLE_CACHE_SIZE DEFAULT - domyślny, wykorzystywany dla wszystkich pozostałych obiektów, wielkość ustalana za pomocą dynamicznego parametru inicjalizacyjnego DB_CACHE_SIZE 35 36
10 Automatyczne zarządzanie rozszerzeniami segmentów 1/2 Automatyczne zarządzanie rozszerzeniami segmentów 2/2 UET$ FET$ Wygodne w uŝyciu Lepsze wykorzystanie przestrzeni dyskowej, w szczególności gdy rozmiary wierszy w poszczególnych tabelach istotnie się róŝnią Lepsza wydajność przy współbieŝnym dostępie Lokalne zarządzanie jest sterowane bitmapami w plikach danych (domyślne dla 9.2) Zarządzanie przez słownik danych Jest sterowane tabelami UET$ i FET$ (domyślne dla przestrzeni Tabel SYSTEM) Utworzenie i wykorzystanie przestrzeni tabel z lokalnie zarządzanymi rozszerzeniami Zarządzanie wolnymi blokami w obiekcie Utworzenie przestrzeni tabel z lokalnie zarządzanymi rozszerzeniami : CREATE TABLESPACE BIT_SEG_TS DATAFILE '$HOME/ORADATA/u04/bit_seg01.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL; Wykorzystanie przestrzeni tabel z lokalnie zarządzanymi rozszerzeniami CREATE TABLE bit_seg_table (idnum NUMBER) TABLESPACE bit_seg_ts; 39 Bloki bitmapowe (sterują dostępem do wolnych bloków) Bloki danych w automatycznie zarządzanym obiekcie Blok nagłówkowy (zawiera wskaźniki do kaŝdego zbioru listy wolnych bloków) Bloki danych w kaŝdym zbiorze wolnych bloków 40
11 Utworzenie i wykorzystanie przestrzeni tabel z automatycznym zarządzaniem wolnymi blokami w obiekcie Utworzenie przestrzeni tabel z automatycznym zarządzaniem wolnymi blokami w obiekcie: CREATE TABLESPACE BIT_SEG_TS2 DATAFILE '$HOME/ORADATA/u04/bit_seg01.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; Strojenie bufora dziennika powtórzeń Wykorzystanie przestrzeni tabel z lokalnie zarządzanymi rozszerzeniami CREATE TABLE bit_seg_table2 (idnum NUMBER) TABLESPACE bit_seg_ts2; Określenie rozmiaru bufora dziennika powtórzeń LGWR zapisuje zawartość bufora dziennika powtórzeń do pliku dziennika powtórzeń jeŝeli: 1) uŝytkownik zatwierdzi transakcję, 2) co 3 sekundy, 3) przy wypełnieniu bufora w 1/3, 4) przy zapisie DBW0 jeŝeli odpowiednie wpisy nie zostały jeszcze przepisane na dysk Rozmiar określa się za pomocą parametru inicjalizacyjnego LOG_BUFFERS JeŜeli transakcje są długie lub jest ich równocześnie wiele, to zwiększenie bufora dziennika powtórzeń moŝe zmniejszyć liczbę operacji I/O wykonywanych przez LGWR Częste wykonywanie COMMIT powoduje, Ŝe większy bufor moŝe nie być przydatny 43 Diagnostyka wydajności bufora dziennika powtórzeń (1/2) W przypadku systemów z szybkimi procesorami i stosunkowo wolnymi urządzeniami I/O wolna część bufora moŝe być wypełniona zanim zakończy się poprzedni zapis. Wówczas bufor dziennika powtórzeń moŝe być wąskim gardłem. Większy bufor moŝe zapobiec takiej sytuacji, chyba Ŝe wolumen wpisów w jednostce czasu do bufora dziennika powtórzeń jest większy od szybkości transmisji na dysk. Celem strojenie jest odpowiednie dobranie wielkości bufora dziennika powtórzeń, aby z jednej strony zapewnić odpowiednio szybki zapis do plików dziennika powtórzeń, a z drugiej strony aby nie marnować pamięci, która mogłaby być wykorzystana w innym celu 44
12 Diagnostyka wydajności bufora dziennika powtórzeń (2/2) Nie powinno duŝo zdarzeń oczekujących na dostęp do bufora SELECT sid, event, seconds_in_wait, state FROM v$session_wait WHERE event = 'log buffer space%'; nie wybranoŝadnych wierszy Współczynnik prób zaalokowania do liczby wpisów powinien być <1% SELECT r.value "Retries", e.value "Entries", r.value/e.value*100 "Percentage" FROM v$sysstat r, v$sysstat e WHERE r.name = 'redo buffer allocation retries' AND e.name='redo entries'; Retries Entries Percentage , Przyczyny kiepskich wartości statystyk 1/2 Wolne urządzenie I/O z plikami dziennika powtórzeń Zbyt wolne przełączanie plików dziennika powtórzeń Diagnostyka: SELECT event, total_waits, time_waited, average_wait FROM v$system_event WHERE event like 'log file switch completion%'; EVENT TOTAL_WAITS TIME_WAITED AVERAGE_WAIT log file switch completion Rozwiązanie - zwiększenie rozmiaru dzienników powtórzeń Wolne działanie DBWn i nie zakończenie punktu kontrolnego SELECT Diagnostyka: event, total_waits, time_waited, average_wait FROM v$system_event WHERE event like 'log file switch (check%'; nie wybranoŝadnych wierszy Rozwiązanie: sprawdzenie częstotliwości zgłaszania punktu kontrolnego - dynamiczny parametr inicjalizacyjny FAST_START_MTTR_TARGET 46 Przyczyny kiepskich wartości statystyk 2/2 Sprawdź Upewnij się, Ŝe jest wystarczająco duŝo miejsca na urządzeniach archiwizacyjnych grupę Dodaj dziennika powtórzeń zdarzenie Log File Switch (Archiving Needed) SELECT event, total_waits, time_waited, average_wait FROM v$system_event WHERE event like 'log file switch (arch%'; nie wybranoŝadnych wierszy Proces LGWR startuje nowe procesy archiwizacji ARCn kiedy bieŝąca liczba ARCn jest niewystarczająca do obsługi bieŝącego obciąŝenia. Administrator moŝe przewidzieć duŝe obciąŝenie, np. ładowanie danych do hurtowni danych, i odpowiednio maksymalną liczbę ustawić ARCn za pomocą dynamicznego parametru inicjalizacyjnego LOG_ARCHIVE_MAX_PROCESSES Zbyt wolne działanie procesów archiwizacji: 47 Minimalizacja wpisów do plików dziennika powtórzeń Ładowanie danych ścieŝka bezpośrednią (ang. direct load) w trybie bez archiwizacji plików dziennika powtórzeń Ładowanie danych ścieŝka bezpośrednią (ang. direct load) w trybie archiwizacji plików dziennika powtórzeń z opcją NOLOGGING Wykorzystywanie poleceń z opcją NOLOGGING CREATE TABLE... AS SELECT... NOLOGGING CREATE INDEX... NOLOGGING ALTER INDEX... REBUILD NOLOGGING 48
13 Automatyczne zarządzanie pamięcią sortowania Strojenie operacji sortowania Zastępuje ręczną alokację za pomocą parametrów %_AREA_SIZE Parametry dla automatycznego zarządzania pamięcią sortowania: PGA_AGGREGATE_TARGET (od 10MB do 4000MB) - określa docelowy rozmiar pamięci PGA dla wszystkich dedykowanych sesji przyłączonych do instancji WORKAREA_SIZE_POLICY - dopuszczalne wartości: MANUAL - dezaktywuje automatyczne zarządzania pamięcią AUTO - uaktywnia automatyczne zarządzania pamięcią sortowania sortowania i umoŝliwia ręczną alokację za pomocą parametrów %_AREA_SIZE Obszar roboczy (ang. work area) Obszar roboczy jest fragmentem pamięci operacyjnej przydzielonej do PGA kaŝdego dedykowanego procesu serwera przeznaczonego do sortowania, haszowania i przetwarzania map bitowych np. indeksów bitowych Są trzy sposoby wykorzystania obszarów roboczych: Optymalny (ang. optimal) - obszar jest wystarczająco duŝy aby (np. sortowanie) całkowicie w tym obszarze roboczym Jednoprzebiegowy (ang. one-pass)- obszar jest zbyt mały aby operację (np. sortowanie) wykonać całkowicie w tym obszarze roboczym i wymaga jednokrotnego przetworzenia danych na dysku Wieloprzebiegowy (ang. multi-pass)- obszar jest zbyt mały aby operację (np. sortowanie) wykonać całkowicie w tym obszarze 49 Grupy obszarów roboczych i współczynnik trafień dla PGA Procent wykonań roboczym i wymaga wielokrotnego przetworzenia danych na dysku % 0% 0% KB 94% optymalny jednoprzebiegowy wieloprzebiegowy 6% 0% KB 0% 97% MB 3% 50
14 Określenie obciąŝenia PGA SELECT low_optimal_size/1024 AS low_kb, (high_optimal_size+1)/1024 AS high_kb, ROUND(100*optimal_executions/total_executions) AS optimal, ROUND(100*onepass_executions/total_executions) AS onepass, ROUND(100*multipasses_executions/total_executions) AS mpass FROM v$sql_workarea_histogram WHERE total_executions!= 0 ORDER BY low_kb; LOW_KB HIGH_KB OPTIMAL ONEPASS MULTIPASS Szacowanie wielkości pamięci sortowania za pomocą dynamicznego parametru inicjalizacyjnego STATISTICS_LEVEL ustawionego na wartość TYPICAL lub ALL i perspektyw V$PGA_TARGET_ADVICE i V$PGA_TARGET_ADVICE_HISTOGRAM SELECT ROUND(pga_target_for_estimate/1024/1024) AS target_mb, estd_pga_cache_hit_percentage AS cache_hit_percent, estd_overalloc_count FROM v$pga_target_advice ORDER BY target_mb; Wynik zapytania do V$PGA_TARGET_ADVICE TARGET_MB CACHE_HIT_PERCENT ESTD_OVERALLOC_COUNT Zbyt mały rozmiar Punkt przegięcia optymalny rozmiar Operacje wymagające sortowania danych Tworzenie indeksu Równoległe wstawianie danych (insert) wymagające utrzymywania indeksu Klauzule ORDER BY, GROUP BY Eliminacja duplikatów - DISTINCT Operatory UNION, INTERSECT, MINUS Operacja połączenia metodą sort-merge Zbieranie statystyk 55 56
15 Strojenie sortowania Diagnostyka operacji sortowania Stosowanie automatycznego zarządzania pamięcią sortowania Unikanie operacji sortowania Unikanie wymiatania i stronicowania przez upewnienie się, Ŝe sortowanie jest wykonywane w pamięci operacyjnej Unikanie operacji sortowania przez: UŜywanie opcji NOSORT przy tworzeniu indeksów UŜywanie UNION ALL zamiast UNION UŜywanie indeksu w dostępie do tabeli Utworzenie indeksu na atrybutach z klauzuli ORDER BY Zbieranie statystyk (histogramów) dla konkretnych atrybutów Zbieranie statystyk dla duŝych obiektów z opcją ESTIMATE zamiast COMPUTE 57 W systemach OLTP stosunek sortowania z wykorzystanie dysku do sortowania z wykorzystaniem jedynie pamięci operacyjnej <5% Zwiększ PGA_AGGREGATE_TARGET jeŝeli współczynnik ten jest >5% SELECT d.value "Disk", m.value "Mem", (d.value/m.value)*100 "Ratio" FROM v$sysstat m, v$sysstat d WHERE m.name = 'sorts (memory)' AND d.name = 'sorts (disk)'; Disk Mem Ratio Konfiguracja tymczasowej przestrzeni tabel UŜywaj tymczasowej przestrzeni tabel z lokalnie zarządzanymi rozszerzeniami z opcją UNIFORM UŜywaj oddzielnych przestrzeni tabel z duŝymi rozszerzeniami dla duŝych operacji sortowania Rozpraszaj tymczasowe przestrzenie tabel na wiele dysków UŜywaj tymczasowych plików dla tymczasowych przestrzeni tabel CREATE TEMPORARY TABLESPACE temp TEMPFILE '/u01/temp1.dbf' AUTOEXTEND ON SIZE 100M NEXT 100M MAXSIZE 1024M TEMPFILE '/u02/temp2.dbf' AUTOEXTEND ON SIZE 100M NEXT 100M MAXSIZE 1024M... Strojenie operacji I/O EXTENT MANAGEMENT LOCAL UNIFORM 59 60
16 Wskazówki dotyczące strojenie operacji I/O Minimalizuj liczbę logicznych operacji dyskowych Rozpraszaj obciąŝenie na wiele dysków Stosuj odpowiednio skonfigurowaną tymczasową przestrzeń tabel Rozdziel pliki danych i pliki dziennika powtórzeń na róŝne urządzenia dyskowe Rozprosz tabele i/lub na róŝne urządzenia dyskowe Unikaj obciąŝenia niezwiązanego z bazą danych (np. WWW, FTP, SMTP) 61 Wskazówki dotyczące wykorzystania przestrzeni tabel Nie twórz własnych obiektów w przestrzeni tabel SYSTEM Wykorzystuje tabele z lokalnie zarządzanymi rozszerzeniami Rozdziel dane i indeksu do róŝnych przestrzeni tabel Utwórz segmentu wycofania we własnych przestrzeniach tabel Składuj bardzo duŝe obiekty bazy danych we własnych przestrzeniach tabel Wykorzystuj jedną lub więcej tymczasowych przestrzeni tabel CREATE DATABASE mydb DATAFILE 'system01.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL DEFAULT TEMPORARY TABLESPACE temp TEMPFILE 't' SIZE 15M ; 62 Rozpraszanie pliku na róŝne urządzenia dyskowe Rozpraszanie ręczne: CREATE TABLE striped_table STORAGE(MINEXTENTS 10) TABLESPACE tablespace_with_many_files; ALTER TABLE striped_table ALLOCATE EXTENT DATAFILE 2; Rozpraszanie na poziomie systemu operacyjnego: programowe, sprzętowe - macierze RAID Wielkość paska (ang. stripe) - wielokrotność DB_FILE_MULTIBLOCK_READ_COUNT x DB_BLOCK_SIZE Punkty kontrolne Zdarzenia systemowe uaktualniające informacje o najstarszym brudnym bloku w buforze danych - inf. niezbędna do odtwarzania bd po awarii instancji Dwa rodzaje punktów kontrolnych: Przyrostowe punkty kontrolne - na podstawie ciągłej aktywności DBW0, proces punktu kontrolnego CKPT uaktualnia pliki kontrolne i nagłówki bazy danych Pełne punkty kontrolne DBR0 zapisuje w plikach bazy danych wszystkie brudne bufory CKPT uaktualnia pliki kontrolne i nagłówki plików danych Dwie kategorie: Całkowite - np. zamknięcie bazy danych, ręczne wykonanie punktu kontrolnego za pomocą polecenia ALTER SYSTEM CHECKPOINT dla konkretnej przestrzeni tabel - np. wyłączanie przestrzeni tabel, przełączenie w tryb ReadOnly, rozpoczęcie backupu online 63 64
17 Kolejka punktu kontrolnego Monitorowanie długości kolejki punktu kontrolnego Punkt kontrolny Najwcześniej zmodyfikowane bloki Pliki danych LOG_CHECKPOINT_INTERVAL [OS blocks] LOG_CHECKPOINT_TIMEOUT [s] Najpóźniej zmodyfikowane bloki FAST_START_IO_TARGET [I/O] FAST_START_MMTR_TARGET [s] SELECT * FROM V$INSTANCE_RECOVERY; RECOVERY_ESTIMATED_IOS 281 ACTUAL_REDO_BLKS 2005 TARGET_REDO_BLKS 2098 LOG_FILE_SIZE_REDO_BLKS LOG_CHKPT_TIMEOUT_REDO_BLKS 2098 LOG_CHKPT_INTERVAL_REDO_BLKS FAST_START_IO_TARGET_REDO_BLKS TARGET_MTTR 42 ESTIMATED_MTTR 17 CKPT_BLOCK_WRITES Strojenie przestrzeni wycofania 67 Zastosowanie przestrzeni wycofania (ang. undo) Wycofanie transakcji - rollback, recovery Zapewnienie spójności odczytu na poziomie: Polecenia SQL - dla wszystkich rodzajów transakcji Transakcji - dla transakcji READ ONLY oraz SERIALIZABLE Cel strojenia: Zagwarantowanie wystarczającego obszaru aby uniknąć błędu 01555, 00000, "snapshot too old: rollback segment number %s with name \"%s\" too small" // *Cause: rollback records needed by a reader for consistent read are // overwritten by other writers // *Action: If in Automatic Undo Management mode, increase undo_retention // setting. Otherwise, use larger rollback segments Zagwarantowanie wystarczającej liczby segmentów wycofania (ang. rollback segment) aby uniknąć rywalizacji w dostępie do ich nagłówków oraz zawartości Od wersji 9i segmenty wycofania zarządzane automatycznie za pomocą przestrzeni wycofania 68
18 Unikanie obciąŝania segmentów wycofania Import COMMIT=Y Ustawienie duŝego bufora przetwarzania tablicowego za pomocą ŚcieŜka konwencjonalna - ustawić częstotliwość zatwierdzania za pomocą parametru ROWS BUFFER Export - CONSISTENT=N SQL*Loader ŚcieŜka bezpośrednia Unikanie długich transakcji - ograniczenie czasu bezczynności za pomocą limitu IDLE_TIME Unikanie duŝych transakcji 69 Automatyczne zarządzanie segmentami wycofania Parametr inicjalizacyjny UNDO_MANAGEMENT - dopuszczalne wartości AUTO - uaktywnia automatyczne zarządzanie segmentami wycofania, wymaga utworzenia przestrzeni wycofania MANUAL - umoŝliwia tradycyjne zarządzanie segmentami wycofania Parametr inicjalizacyjny UNDO_RETENTION umoŝliwia określenie minimalnego czasu Ŝycia poprzednich wersji danych (w sekundach) Parametr inicjalizacyjny UNDO_TABLESPACE umoŝliwia wskazanie wykorzystywanej przestrzeni wycofania (opcjonalny jeŝeli w bazie danych zdefiniowano tylko jedną przestrzeń wycofania) Parametr inicjalizacyjny UNDO_SUPPRESS_ERRORS=TRUE umoŝliwia nie generowanie błędu w przypadku wykorzystania polecenia do ręcznego przydziału segmentu wycofania np. SET 70 Zarządzanie przestrzenią wycofania Utworzenie przestrzeni wycofania CREATE DATABASE mydb UNDO TABLESPACE undo DATAFILE 'undo1.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL ; CREATE UNDO TABLESPACE undo1 DATAFILE 'undo1.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL; Zmiana parametrów przestrzeni wycofania ALTER TABLESPACE undo1 ADD DATAFILE 'undo2.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL; Przełączanie i usuwanie przestrzeni wycofania ALTER SYSTEM SET UNDO_TABLESPACE=undo2; DROP TABLESPACE undo1; Nie jest aktywną przestrzenią tę wycofania Nie jest potrzebna Ŝadnej aktywnej transakcji w celu wycofania zmian wprowadzonych przez transakcję Zapytania, które wymagają wersji danych z usuniętej przestrzeni tabel kończą się błędem Przestrzeń wycofania moŝe być usunięta jeŝeli: 71 72
19 Monitorowanie przestrzeni wycofania SELECT to_char(begin_time,'dd-mm-yyyy hh24:mi') begin_time, to_char(end_time, 'hh24:mi') end_time, undoblks,txncount, maxquerylen FROM v$undostat; BEGIN_TIME END_T UNDOBLKS TXNCOUNT MAXQUERYLEN :00 19: :50 19: :40 18: :30 18: :20 18: :10 18: Szacowanie wielkości przestrzeni wycofania SELECT (UR * (UPS * DBS)) + (DBS * 24) AS "Bytes" FROM (SELECT value AS UR FROM v$parameter WHERE name = 'undo_retention'), (SELECT (SUM(undoblks)/SUM(((end_time-begin_time)*86400))) AS UPS FROM v$undostat), (SELECT value AS DBS FROM v$parameter WHERE name = 'db_block_size'); Bytes ,91 (UR) UNDO_RETENTION w sekundach (UPS) Liczba bloków wycofania generowanych na sekundę (DBS) Narzut zaleŝny od rozmiarów rozszerzeń i plików danych (db_block_size) 74 Monitorowanie wydajności systemu Oracle przy pomocy pakietu STATSPACK RozwaŜania dotyczące wykorzystania urządzeń surowych i macierzy RAID 75 76
20 Czynniki wpływające na konfigurację systemu dyskowego (1/2) Wydajność Odczyty swobodne - istotne dla: zapytań wykorzystujących indeksu i funkcje haszowe oraz odczytów segmentów ścieŝką wycofania Zapisy swobodne - istotne dla: procesów DBWn w systemach OLTP, mniej istotne w hurtowniach danych Sekwencyjne odczyty - istotne dla: backupu, pełnego odczytu tabeli, tworzenia indeksów, zrównoleglonych zapytań, odczytów segmentów tymczasowych, odtwarzania Sekwencyjne odczyty - istotne dla: procesów LGWR, zapisów segmentów tymczasowych, zapisów bezpośrednią, tworzenia przestrzeni tabel Wpływ wpółbieŝności Czynniki wpływające na konfigurację systemu dyskowego (2/2) Dostępność: Spodziewana częstotliwość awarii (MTTF) Spodziewany czas odtworzenia (MTTR) Degradacja wydajności podczas odtwarzania Koszt: Koszt zakupu, instalacji i konfiguracji Koszt utrzymywania systemu dyskowego na spodziewanym poziomie wydajności i dostępności Urządzenia surowe (ang. raw devices) RAID poziom 0 Za Zwiększenie wydajności operacji I/O o 10-15% Przeciw Zwiększone zapotrzebowanie na pamięć operacyjną ze strony buforów danych Trudności w zarządzaniu ze względu na: brak moŝliwości zmiany wielkości urządzenia w trakcie pracy systemu Ograniczoną liczbę urządzeń surowych na jednym urządzeniu dyskowym Trudności częściowo eliminowane przez zastowanie Logical Volume Manager (dla niektórych platform systemu oeracyjnego oddzielnie licencjonowany) Rozproszenie danych między wiele urządzeń dyskowych Charakterystyka wydajności: Swobodne odczyty +++ (jeŝeli 1 I/O mieści się w 1 pasku (ang. stripe)) Swobodne zapisy +++ (jeŝeli 1 I/O mieści się w 1 pasku (ang. stripe)) Sekwencyjne odczyty +++ Sekwencyjne zapisy +++ Dostępność -- Koszt zakupu +++ Koszt utrzymania
21 RAID poziom 1 Lustrzane odbicie dysków bez rozproszenie danych między wiele urządzeń dyskowych Charakterystyka wydajności: Dostępność Swobodne odczyty ++ Swobodne zapisy ++ Sekwencyjne odczyty + Sekwencyjne zapisy Koszt zakupu -- Koszt utrzymania + RAID poziom 1+0 Lustrzane odbicie dysków z rozproszeniem danych między wiele urządzeń dyskowych Charakterystyka wydajności: Swobodne odczyty +++ (jeŝeli 1 I/O mieści się Dostępność w 1 pasku (ang. stripe)) Swobodne zapisy ++ (jeŝeli 1 I/O mieści się w 1 pasku (ang. stripe)) Sekwencyjne odczyty +++ Sekwencyjne zapisy Koszt zakupu -- Koszt utrzymania RAID poziom 5 Redundancja danych w postaci sum kontrolnych rozproszonych razem z danymi między wiele urządzeń dyskowych Charakterystyka wydajności: Swobodne odczyty +++ (jeŝeli 1 I/O mieści się Dostępność w 1 pasku (ang. stripe)) Swobodne zapisy - Sekwencyjne odczyty +++ Sekwencyjne zapisy Koszt zakupu + Koszt utrzymania + 83 Ranking róŝnych poziomów RAID dla poszczególnych plików bazy danych Oracle Pliki kontrolne Pliki dziennika Przestrzeń powtórzeń t. SYSTEM Segmenty tymczasowe Segmenty wycofania Dane - swobodny odczyt Dane - sekwencyjny odczyt Dane - zapis swobodny Dane - zapis sekwencyjny dostępność koszt
22 Przegląd własności pakietu STATSPACK Następca skryptów UTLBSTAT/ULESTAT. Dostępny od wersji Oracle8i Składuje informacje o wydajności systemu umoŝliwiając późniejszą ich analizę. Dostarcza skrypt SQL Plus generujący czytelnie sformatowany raport. MoŜe być wykorzystywany bez ograniczeń w środowisku serwera równoległego (Oracle Parallel Server). UmoŜliwia wyszukanie najkosztowniejszych poleceń SQL. Zalecane ustawienie parametru inicjacyjnego TIMED_STATISTICS na wartość TRUE. Instalacja i deinstalacja pakietu STATSPACK Uruchomienie skryptów z katalogu $ORACLE_HOME/rdbms/admin jako uŝytkownik z uprawnieniami SYSDBA: spcreate.sql spdrop.sql -> Tworzy całe środowisko Statspack (wywołuje: spcusr.sql, spctab.sql, spcpkg.sql) -> Usuwa całe środowisko Statspack (wywołuje: spdtab.sql, spdusr.sql) Przykład instalacji interakcyjnej... Below are the list of online tablespaces in this database. Decide which tablespace you wish to create the STATSPACK tables and indexes. This will also be the PERFSTAT user's default tablespace. Using the SYSTEM tablespace to store statistical data is NOT recommended. TABLESPACE_NAME SYSTEM USERS RBS TEMP Specify PERFSTAT user's default tablespace Enter value for default_tablespace: users Using users for the default tablespace User altered. User altered. Przykład instalacji wsadowej SQL> connect / as sysdba SQL> define default_tablespace='users' SQL> define temporary_tablespace='temp' Raporty poprawności instalacji Tworzenie uŝytkownika spcusr.lis Tworzenie tabel - spctab.lis Tworzenie pakietu - spcpkg.lis Specify PERFSTAT user's temporary tablespace Enter value for temporary_tablespace: temp User altered
23 Przegląd interfejsu pakietu STATSPACK Procedura SNAP zbiera i zapisuje do tabel wybrane informacje wydajnościowe wykonuje migawkę Procedura MODIFY_STATSPACK_PARAMETER zmienia domyślne wartości parametrów procedur SNAP 89 Parametry procedury SNAP (1) I_SNAP_LEVEL poziom szczegółowości zbieranych informacji wydajnościowych, poprawne wartości (domyślnie: 5): 0 podstawowy zbiór statystyk, statystyki TopN dla poleceń SQL, dodatkowe statystyki dla zatrzasków (dla Asysty Technicznej Oracle), I_UCOMMENT komentarz uŝytkownika (domyślnie: NULL), I_NUM_SQL liczba wyświetlanych poleceń SQL w statystykach TopN (domyślnie: 5), I_EXECUTIONS_TH graniczna liczba wykonań polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: 100), I_PARSE_CALLS_TH graniczna liczba operacji parse polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: 1000), I_DISK_READS_TH - graniczna liczba odczytów z dysku polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: 1000), 90 Parametry procedury SNAP (2) I_BUFFER_GETS_TH - graniczna liczba odczytów z bufora danych polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: ), I_SHARABLE_MEM_TH - graniczna wielkość pamięci współdzielonej przeznaczonej dla polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: ), I_VERSION_COUNT_TH - graniczna liczba wersji polecenia SQL, które ma być umieszczone w statystykach TopN (domyślnie: 20), I_PIN_STATSPACK czy przypiąć pakiet STASPACK w pamięci SGA? (domyślnie: TRUE) I_MODIFY_PARAMETER czy podane wartości parametrów uczynić domyślnymi? (domyślnie: FALSE) Parametry procedury MODIFY_STATSPACK_PARAMETER I_SNAP_LEVEL - jak w SNAP I_UCOMMENT - jak w SNAP I_NUM_SQL - jak w SNAP I_EXECUTIONS_TH - jak w SNAP I_PARSE_CALLS_TH - jak w SNAP I_DISK_READS_TH - jak w SNAP I_BUFFER_GETS_TH - jak w SNAP I_SHARABLE_MEM_TH - jak w SNAP I_VERSION_COUNT_TH - jak w SNAP I_PIN_STATSPACK - jak w SNAP I_MODIFY_PARAMETER - jak w SNAP (domyślnie TRUE) 91 92
24 Przykłady uŝycia procedury SNAP i MODIFY_STATSPACK_PARAMETER Rem jako uŝytkownik PERFSTAT SQL> exec statspack.snap(i_snap_level=>0, - i_ucomment=>'pierwsza migawka') Procedura PL/SQL została zakończona pomy lnie. SQL> exec statspack.modify_statspack_parameter - (i_num_sql=>10) Procedura PL/SQL została zakończona pomy lnie. Pomocnicze skrypty spreport.sql generuje wygodnie sformatowany raport oparty na danych z dwóch wybranych migawek, spauto.sql umoŝliwia automatyzację uruchamiania migawek (wykorzystuje pakiet DBMS_JOBS parametry inicjalizacyjne: JOB_QUEUE_PROCESSES, JOB_QUEUE_INTERVAL) sppurge.sql słuŝy do usuwania z danych związanych z wyspecyfikowanymi migawkami, Przykład zastosowania skryptu SPREPORT DB Id DB Name Inst Num Instance LAB81 1 lab81 Completed Snapshots Snap Snap Instance DB Name Id Snap Started Level Comment lab81 LAB Sty :54 5 pierwsza migawka 2 11 Sty :04 5 druga migawka 3 12 Sty :04 5 trzecia migawka Specify the Begin and End Snapshot Ids ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Podaj dla begin_snap: 1 Begin Snapshot Id specified: 1 Podaj warto ć dla end_snap: 3 End Snapshot Id specified: 3 Specify the Report Name ~~~~~~~~~~~~~~~~~~~~~~~ The default report file name is sp_1_3. To use this name, press <return> to continue, otherwise enter an alternative. Podaj warto ć dla report_name: Przykład zastosowania skryptu SPAUTO Job number for automated statistics collection for this instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Note that this job number is needed when modifying or removing the job: 201 Job queue process ~~~~~~~~~~~~~~~~~ Below is the current setting of the job_queue_processes init.ora parameter - the value for this parameter must be greater than 0 to use automatic statistics gathering: NAME TYPE VALUE job_queue_processes integer 4 Next scheduled run ~~~~~~~~~~~~~~~~~~ The next scheduled run for this job is: JOB NEXT_DAT NEXT_SEC Using the report name sp_1_ /01/10 16:00:
25 Przykład zastosowania skryptu SPPURGE (1) Przykład zastosowania skryptu SPPURGE (2) Database Instance currently connected to ======================================== DB Id DB Name InstNum Name LAB81 1 lab81 Snapshots for this database instance ==================================== Snap Snap Id Level Snapshot Started Host Comment Sty :29:31 uran Sty :29:51 uran Warning ~~~~~~~ sppurge.sql deletes all snapshots ranging between the lower and upper bound Snapshot Id's specified, for the database instance you are connected to. Specify the Lo Snap Id and Hi Snap Id range to purge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Podaj warto ć dla losnapid: 1 Using 1 for lower bound. Podaj warto ć dla hisnapid: 2 Using 2 for upper bound. Deleting snapshots 1-2. Purge of specified Snapshot range complete. If you wish to ROLLBACK the purge, it is still possible to do so. Exitting from SQL*Plus will automatically commit the purge. SQL> commit; Zatwierdzanie zostało ukończone You may wish to export this data before continuing Nagłówek raportu STATSPACK i rozmiary obszarów buforowych STATSPACK report for Zawartość raportu STATSPACK DB Name DB Id Instance Inst Num Release OPS Host ORCL 1 1st localhost Snap Id Snap Time Sessions Begin Snap: Gru-01 07:30:21 11 End Snap: Gru-01 23:15:47 11 Elapsed: (mins) Cache Sizes ~~~~~~~~~~~ db_block_buffers: log_buffer: db_block_size: 2048 shared_pool_size:
26 Profil obciąŝenia Load Profile ~~~~~~~~~~~~ Per Second Per Transaction Redo size: 4, , Logical reads: 16, , Block changes: Physical reads: Physical writes: User calls: Parses: Hard parses: Sorts: Logons: Executes: Transactions: 0.32 % Blocks changed per Read: 0.24 Recursive Call %: Rollback per transaction %: 9.61 Rows per Sort: Profil obciąŝenia - komentarz MoŜe słuŝyć: do aktywnego monitorowania zmian obciąŝenie systemu. MoŜe słuŝyć: do monitorowania wysokiej aktywności wyróŝnionych części systemu. Trudno zdefiniować wysoką aktywność, zaleŝy od: urządzeń liczby i mocy procesorów, I/O, systemu operacyjnego, wersji systemu Oracle, charakteru aplikacji Profil obciąŝenia operacja parse Hard parses /s > bardzo duŝo MoŜe powodować rywalizację o zatrzaski (latch) synchronizujące dostęp do obszaru bibliotecznego SQL i obszaru słownika bd. Wymaga szczegółowego wyjaśnienia z wykorzystaniem sekcji Statystyki aktywności zatrzasków. Soft parses /s > bardzo duŝo MoŜe powodować podobne skutki. Zazwyczaj spowodowany błędnym projektem aplikacji. Statystyki wydajności i statystyki obszaru współdzielonego Instance Efficiency Percentages (Target 100%) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Buffer Nowait %: Redo NoWait %: Buffer Hit %: In-memory Sort %: Library Hit %: Soft Parse %: Execute to Parse %: Latch Hit %: Parse CPU to Parse Elapsd %: % Non-Parse CPU: Shared Pool Statistics Begin End Memory Usage %: % SQL with executions>1: % Memory for SQL w/exec>1:
27 Statystyki wydajności - komentarz współczynnik: Buffer Nowait Buffer Hit Library Hit reakcja na zbyt małą wartość: Patrz: Zdarzenia oczekujące, Oczekiwania na bufory danych Indeksowanie danych itp., DB_BLOCK_BUFFERS Patrz: Statystyki obszaru bibliotecznego SQL, SHARED_POOL_SIZE Execute to Parse Problemy w konstrukcji aplikacji Parse CPU to Parse Problemy z oczekiwaniem na zatrzaski lub na I/O <- Elapsd hard parses, In-memory Sort RozwaŜenie hash-join, SORT_AREA_SIZE Soft Parse Problemy z hard parses, CURSOR_SHARING (8.1.6) Latch Hit Patrz: Statystyki wykorzystania zatrzasków Non-Parse CPU Problemy w konstrukcji aplikacji Zdarzenia oczekujące (5 sumarycznie najdłuŝszych) Top 5 Wait Events ~~~~~~~~~~~~~~~~~ Wait % Total Event Waits Time (cs) Wt Time latch free 69, , db file sequential read 1,272, , db file scattered read 548, , db file parallel write 24,816 50, free buffer waits 1,685 25, Zdarzenia oczekujące komentarz (1) Szczegółowy opis zdarzeń: Oracle8i Reference, dodatek A: Oracle Wait Events db file scattered read i db file sequential read swobodny i sekwencyjny odczyt danych, wysokie wartości mogą być spowodowane: Nieefektywny dostęp do danych (niedostrojone polecenia SQL), PrzeciąŜone urządzenia I/O, NiezrównowaŜone obciąŝenie I/O, Inne zdarzenia I/O z: db file parallel write, direct read, direct write, log file parallel write Szczegółowego wyjaśnienie w sekcji Statystyki aktywności I/O Zdarzenia oczekujące komentarz (2) latch free oczekiwanie na zwolnienie niskopoziomowej blokady, synchronizującej dostęp do wewnętrznych struktur systemu np.: listy LRU brudnych bloków, szczegóły w sekcji: Statystki aktywności zatrzasków enqueue rodzaj niskopoziomowej blokady synchronizującej dostęp do zasobów w postaci kolejek np.: kolejka zadań, szczegóły w sekcji: Statystyki oczekiwań na dostęp blokad free buffer wait brak wolnych buforów do wczytania danych przez serwer danych z dysku, przyczyna: Za mała liczba buforów danych DB_BLOCK_BUFFERS, Nieefektywne działanie DBWR, Szczegóły: Statystyki aktywności IO
28 Zdarzenia oczekujące komentarz (3) buffer busy wait oczekiwanie procesu serwera na dostęp do bufora danych, który jest: Aktualnie wczytywany lub Jest wykorzystywany w sposób wyłączny Szczegóły w sekcjach: Statystyki oczekiwań na dostęp buforów danych, Statystyki aktywności IO write complete waits oczekiwanie serwera na dostęp do bufora aktualnie zapisywanego przez DBWR, przyczyny: Zbyt wolny DBWR, rozwiązanie: asynchroniczny zapis, Zbyt wolne urządzenie I/O, Za buforów danych, DB_BLOCK_SIZE, DuŜa liczba procesów wykorzystujących mało-selektywne indeksy szczegóły w sekcji: N najbardziej obciąŝających poleceń SQL (wg dostępów do bufora danych) 109 Zdarzenia oczekujące dla procesów serwerów (wszystkie) Wait Events for DB: ORCL Instance: 1st Snaps: > cs - centisecond - 100th of a second -> ms - millisecond th of a second -> ordered by wait time desc, waits desc (idle events last) Avg Total Wait wait Waits Event Waits Timeouts Time (cs) (ms) /txn latch free 69,829 5, , db file sequential read 1,272, , db file scattered read 548, , db file parallel write 24, , free buffer waits 1, , log file sync 25, , SQL*Net more data to client 83, , log file parallel write 34, , SQL*Net break/reset to clien , write complete waits , enqueue , SQL*Net message from client 4,039,594 0 ########### SQL*Net message to client 4,039, , SQL*Net more data from clien 3, Zdarzenia oczekujące dla procesów drugoplanowych Background Wait Events for DB: ORCL Instance: 1st Snaps: > ordered by wait time desc, waits desc (idle events last) Avg Total Wait wait Waits Event Waits Timeouts Time (cs) (ms) /txn latch free , db file parallel write 24, , log file parallel write 34, , log file sync , rdbms ipc reply control file parallel write 2, db file sequential read 2, db file scattered read 1, db file single write 1, control file sequential read 1, log file switch completion log file sequential read log file single write enqueue rdbms ipc message 96,131 57,244 22,663, smon timer ,676,823 ###### 0.0 pmon timer 18,846 18,844 5,672, N najbardziej obciąŝających poleceń SQL (wg dostępów do bufora danych) SQL ordered by Gets for DB: ORCL Instance: 1st Snaps: > End Buffer Gets Threshold: > Note that resources reported for PL/SQL includes the resources used by all SQL statements called within the PL/SQL code. As individual SQL statements are also reported, it is possible and valid for the summed total % to exceed 100 Buffer Gets Executions Gets per Exec % Total Hash Value ,662, ,467, begin :X0 := DBMS_SQL.EXECUTE(:C); end; 558,913,946 1, , SELECT * FROM FA_POZYCJE_KALKULACJI WHERE PKAL_FA_ID = :b1 O R PKAL_PF_ID IN (SELECT PF_ID FROM FA_POZYCJE_FAKTUR WHERE PF _FA_ID = :b1 ) 513,720, ,720, begin FA_PCK_DOK.UKONCZ_GRUPE_DS(472); end;
(c) Politechnika Poznańska, Instytut Informatyki
Architektura systemu Oracle10g (c) Politechnika Poznańska, Instytut Informatyki 2 Zadania administratora bazy danych Instalowanie oprogramowania serwera bazy danych Tworzenie bazy danych Bieżące zarządzanie
Block Change Tracking
Czym jest i czy warto stosować? OPITZ CONSULTING Kraków Przybliżenie technologii i analiza testów Jakub Szepietowski (Młodszy konsultant SE) OPITZ CONSULTING Kraków 2011 Strona 1 Agenda 1. Plik BCT 2.
Archiwizacja i odtwarzanie bazy danych
Archiwizacja i odtwarzanie bazy Architektura bazy Oracle %DUWáRPLHM%XáNV]DV bbulk@ii.pb.bialystok.pl Cele archiwizacji i odtwarzania z 2FKURQDED]\GDQ\FKSU]HGUy*Q\PLW\SDPL awarii z =ZLNV]HQLHUHGQLHJRF]DVXSRPLG]\DZDULDPL
(c) Politechnika Poznańska, Instytut Informatyki
Struktura bazy danych Oracle (c) Politechnika Poznańska, Instytut Informatyki 28 Organizacja przestrzeni danych struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy,
Administracja bazy danych Oracle 10g
Administracja bazy danych Oracle 10g Oracle Database Administration część 4 Pliki związane z bazą danych Oracle Pliki danych (ang. Datafiles) - zawierają dane, które są przechowywane w bazie danych. Plik
Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy,
Organizacja przestrzeni danych Struktura bazy danych Oracle struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy, klastry, klastry haszowe (ang. hash cluster),
Wydajność hurtowni danych opartej o Oracle10g Database
Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie
Administracja bazy danych Oracle 10g
Administracja bazy danych Oracle 10g Oracle Database Administration część 1 Cele kursu Kurs daje wskazówki jak za pomocą Oracle Enterprise Manager można wykonać większość podstawowych czynności administracyjnych.
Zarządzanie strukturą bazy danych Oracle11g
Zarządzanie strukturą bazy danych Oracle11g Wstęp Baza danych Oracle przechowuje dane użytkowników oraz własne dane słownikowe w następujących strukturach logicznych: przestrzenie tabel segmenty extenty
startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';
Administrowanie systemami baz danych Ćwiczenia laboratoryjne (1) Podstawy uruchamiania serwera bazy danych 1. Przy pomocy programu Putty, połącz się z serwerem miner.cs.put.poznan.pl. Dla wygody otwórz
Oracle Automatic Workload Repository (AWR) 12c
XVIII KONFERENCJA STOWARZYSZENIA POLSKIEJ GRUPY UŻYTKOWNIKÓW SYSTEMU ORACLE Oracle Automatic Workload Repository (AWR) 12c Marcin Przepiórowski Principal Oracle DBA Geek Blogger RAC Attack Ninja AWR -
Zadania do wykonania na laboratorium
Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 1 http://platforma.polsl.pl/rau2/mod/folder/view.php?id=9975 RB_lab2_v04st Przykładowe pomocne strony www: Zadania do wykonania na laboratorium
Audyt serwera bazy danych Oracle Database 12c
Audyt serwera bazy danych Oracle Database 12c Raport z przeprowadzonego audytu [XXXXXXXX] Redakcja dokumentu: XXXX XXXXXXXX Poznań XX-XX-XXXX Spis treści 1 Przedmiot i cel audytu... 2 2 Wykorzystane materiały
Zarządzanie wolną przestrzenią w bloku. Rozszerzenia
73 Plan prezentacji 74 Struktury fizyczne i logiczne bazy danych Pliki bazy danych i kontrolne, i dziennika powtórzeń, i konfiguracyjne, i tymczasowe, i danych Bloki dyskowe format, struktura, zawartość,
Przyczyny awarii. Struktury wykorzystywane do odtwarzania bd. Archiwizowanie plików dziennika. Archiwizowanie danych. danych
Przyczyny awarii Archiwizowanie danych i odtwarzanie po awarii błędy uŝytkowników, np. przypadkowe usunięcie danych błędy w oprogramowaniu aplikacyjnym awarie procesów uŝytkowników awarie sieci awarie
System Oracle podstawowe czynności administracyjne
6 System Oracle podstawowe czynności administracyjne Stany bazy danych IDLE nieczynna, pliki zamknięte, procesy tła niedziałaja NOMOUNT stan po odczytaniu pfile-a, zainicjowaniu SGA i uruchomieniu procesów
Prezentacja dla KS-ZSA
Prezentacja dla KS-ZSA Spis treści Prezentacja dla KS-ZSA...1 1.Oracle...2 1.1.Statystyki schematów, tabel, indeksów...2 1.1.1.Schematy...2 1.1.2.Tabele...3 1.1.3.Indeksy...3 1.2.Zarządzanie plikami danych
Pakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T
PRZYKŁADOWE PYTANIA NA EGZAMIN Z PRZEDMIOTU ADMINISTRACJA BAZAMI DANYCH - 2005/2006-1- A Nazwisko i imię: Kierunek: Rok studiów: Pytanie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Punkty 5 5 5
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora
Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL
Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór
Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF
1 Cel odtwarzania 2 Transakcyjne odtwarzanie bazy danych Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego stanu bazy danych Definicja odtwarzania
Administracja bazy danych Oracle 10g
Administracja bazy danych Oracle 10g Oracle Database Administration część 5 Zmiana przestrzeni tabel użytkownika Za pomocą SQL*Plus alter user USER_NAME temporary tablespace TEMPOR_NAME; gdzie: USER_NAME
Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g
Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g Wstęp W bazie Oracle 11g można wykonywać kopie bezpieczeństwa ręcznie i automatycznie z wykorzystaniem narzędzie RMAN. Zalecanym i rekomendowanym narzędziem
Uprawnienia, role, synonimy
Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy
Oracle Database 11g: podstawy administracji. Instalowanie serwera bazy danych
1 Zadania administratora bazy danych 2 Oracle Database 11g: podstawy administracji Instalowanie oprogramowania serwera bazy danych Tworzenie bazy danych Bieżące zarządzanie serwerem Zarządzanie strukturami
Przygotowanie bazy do wykonywania kopii bezpieczeństwa
Przygotowanie bazy do wykonywania kopii bezpieczeństwa Wstęp Wykonywanie kopii bezpieczeństwa i odtwarzanie po awarii jest jednym z kluczowych zadań administratora bazy danych. W momencie wystąpienia awarii
Monitorowanie wydajność w bazie Oracle11g
Monitorowanie wydajność w bazie Oracle11g Wstęp Monitorowanie wydajności bazy danych, a także aplikowanie aktualizacji to jedne z ważniejszych zadań administratora bazy danych. Wpływ na wydajność może
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i
Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i struktury pamięciowe - aby użytkownik mógł uzyskać dostęp
Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych.
Zapewnianie spójności i współbieżności transakcji Treść wykładu Rola procesu sekretarza dziennika (LGWR) w rejestrowaniu i zatwierdzaniu transakcji w plikach dziennika powtórzeń. Identyfikowanie i składników
Optymalizacja poleceń SQL Wprowadzenie
Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja
Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych
Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia
Cele. Definiowanie wyzwalaczy
WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa
MS Visual Studio 2005 Team Suite - Performance Tool
MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument
Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.
Program szkolenia: Administracja Oracle Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Administracja Oracle ora-admin Oracle admini 4 dni 50% wykłady / 50% warsztaty Szkolenie
Strojenie instancji bazy danych
Strojenie instancji bazy danych 295 296 Monitorowanie bazy danych AWR ADDM Metryki Alerty Plan prezentacji Automatic Workload Repository (1/5) 297 Baza danych generuje wiele różnego rodzaju statystyk wydajnościowych
Język PL/SQL Pakiety podprogramów
Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane
Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).
POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 12 Zarządzanie bazami danych Pliki bazy danych i dzienniki Krótkie wprowadzenie do transakcji
Zarządzanie obiektami bazy danych Oracle11g
Zarządzanie obiektami bazy danych Oracle11g Wstęp Kontynuując ćwiczenia dotyczące obiektów w bazie Oracle, na dzisiejszych zajęciach zajmiemy sie: Indeksami Technologią Flashback Indeksy Indeksy to struktury,
Język PL/SQL Procedury i funkcje składowane
Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone
SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.
Zarządzanie kontami użytkowników w i uprawnieniami
106 Plan prezentacji 107 Zarządzanie kontami użytkowników w i uprawnieniami Schematy a użytkownicy Tworzenie użytkowników, uwierzytelnianie Przywileje systemowe i obiektowe, role Profile kontrola wykorzystania
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane
Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania zapytania SQL w bazie danych Oracle 11g
Radosław Boroński Politechnika Koszalińska, Wydział Elektroniki i Informatyki E-mail: radoslaw.boronski@tu.koszalin.pl Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania
PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2
2012 PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2 ORA- 600 Kamil Stawiarski Spis treści Pełny backup serwera Oracle... 3 Backup wykonywany z jednego
Optymalizacja poleceń SQL
Optymalizacja poleceń SQL Optymalizacja kosztowa i regułowa, dyrektywa AUTOTRACE w SQL*Plus, statystyki i histogramy, metody dostępu i sortowania, indeksy typu B* drzewo, indeksy bitmapowe i funkcyjne,
Podstawy systemów UNIX Podstawy RMAN
Podstawy systemów UNIX Podstawy RMAN Autor: Maciej Friedel Zajęcia prowadzone dla Polskiej Szkoły IT Wrocław, 2009 Tryb ARCHIVELOG 1. Konfiguracja obszaru FRA (Flash Recovery Area)
Zarządzanie instancją bazy danych Oracle11g
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
1.5.3 Do czego słuŝą tymczasowe przestrzenie 1.5.4 Zarządzanie plikami danych
Załącznik nr 2 do umowy nr 18/DI/PN/2013 Szczegółowy zakres szkoleń dotyczy części nr I zamówienia Lp. Nazwa 1 Administracja bazą danych w wersji 11g prze 6 dni 6 1.1 Struktura danych i typy obiektów 1.2
Konfiguracja bazy danych zwiększająca możliwość odtworzenia jej po awarii nośnika
Archiwizowanie danych i odtwarzanie bazy danych po awarii Recover manager 140 Konfiguracja bazy danych zwiększająca możliwość odtworzenia jej po awarii nośnika W celu skonfigurowania bazy danych z dostateczną
Spis treści. Przedmowa
Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach
Procedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy
Odtwarzanie po awarii plików bazy danych
Odtwarzanie po awarii plików bazy danych Odtwarzanie po awarii plików bazy danych (dysków) Odtwarzanie po awarii dysków oznacza, że któryś z plików bazy danych został uszkodzony. W zależności od tego,
Instrukcja instalacji aplikacji PlanSoft.org
plansoft.org PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW Instrukcja instalacji aplikacji PlanSoft.org Oprogramowanie współpracuje z każdą wersją bazy danych Oracle, włączając darmową wersję XE Edition.
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Administracja bazami danych
Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi
Wyzwalacze. Anna Fiedorowicz Bazy danych 2
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Tworzenie raportów XML Publisher przy użyciu Data Templates
Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia
asist Uproszczona procedura migracji danych aplikacji asist przy błędnych ustawieniach zestawu znaków bazy danych Oracle
Uproszczona procedura migracji danych aplikacji asist przy błędnych ustawieniach zestawu znaków bazy danych Oracle Wrocław 2011 Wszelkie prawa zastrzeŝone. Dokument moŝe być reprodukowany lub przechowywany
Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje
Strojenie,administracja itp. Cz. 2
Strojenie,administracja itp. Cz. 2 Adam Pelikant Środowisko pracy bazy danych Podczas instalacji bazy można określićśrodowisko pracy: Online Transaction Processing (OLTP) To baza danych utworzona z przeznaczeniem
060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła
060 SQL FIZYCZNA STRUKTURA BAZY DANYCH Prof. dr hab. Marek Wisła Struktura tabeli Data dane LOB - Large Objects (bitmapy, teksty) Row-Overflow zawiera dane typu varchar, varbinary http://msdn.microsoft.com/en-us/library/ms189051(v=sql.105).aspx
Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii
Podstawy teoretyczne baz danych Recovery Transakcyjne odtwarzanie bazy danych po awarii Cel odtwarzania Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego
Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Performance Tuning. w środowisku RAC/WebLogic na maszynach Sun T5220
Performance Tuning w środowisku RAC/WebLogic na maszynach Sun T5220 OPITZ CONSULTING Kraków Nowoczesne techniki konsolidacji i optymalizacji środowisk opartych o rozwiązania Oracle (2011) Piotr Sajda (kierownik
Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.
Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
Instrukcja instalacji aplikacji Plansoft.org
plansoft.org PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW Instrukcja instalacji aplikacji Plansoft.org Oprogramowanie współpracuje z każdą wersją bazy danych Oracle, włączając darmową wersję XE Edition.
E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Optymalizacja poleceń SQL
Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan
BAZY DANYCH. Transakcje. opracowanie: Michał Lech
BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji
Tytuł kursu: Oracle 11g XE Administracja (kompleksowe)
Tytuł kursu: Oracle 11g XE Administracja (kompleksowe) Kod kursu: ORA-KOMPL Dokument jest częścią oferty szkoleń firmy Javatech. Pełna oferta znajduje się pod adresem: http://www.javatech.com.pl/szkolenia.html
Oracle11g: Programowanie w PL/SQL
Oracle11g: Programowanie w PL/SQL OPIS: Kurs pozwala zrozumieć zalety programowania w języku PL/SQL. Studenci uczą się tworzyć bloki kodu wykonywanego po stronie serwera, który może być współużytkowany
Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];
Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego
Bazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z
1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1
Spis treści Przedmowa... ix Podziękowania... x Wstęp... xiii Historia serii Inside Microsoft SQL Server... xiii 1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Wymagania SQL Server 2005...
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Kopie bezpieczeństwa NAPRAWA BAZ DANYCH
Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem
W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).
Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która
SYSTEM INFORMATYCZNY KS-SEW
DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http:www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00 WYDANIE
Oracle ³atwiejszy ni przypuszczasz. Wydanie III
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Oracle ³atwiejszy ni przypuszczasz. Wydanie III Autor: Jadwiga Gnybek ISBN: 83-246-0116-3 Format: B5, stron:
"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz
"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy
Optymalizacja poleceń SQL Metody dostępu do danych
Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,
Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.
Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Optymalizacja poleceń SQL Część 2. Statystyki i histogramy, metody dostępu do danych Przechowywane w słowniku danych. Używane
UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');
polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {
15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Ładowanie i reorganizacja
Ładowanie i reorganizacja danych Cele Ładowanie danych za pomocą wstawiania ścieżką bezpośrednią Ładowanie danych do tabel Oracle za pomocą ścieżki konwencjonalnej oraz bezpośredniej SQL*Loader Reorganizacja
Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach
Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach
T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Zakres wykładów (2) T orzenie, monitorowanie i usuwanie uż u ytkowników. ytkowników Kontrolowanie haseł Kontrolowanie hase i zasobów systemowych i
Zakres wykładów(1) Poznanie architektury i głównych cech serwera Oracle Database 11g. Uruchamianie i zamykanie bazy danych. Tworzenie kompletnej bazy danych. Operacje dostępu i aktualizacji danych. Zasady
Architektura komunikacji
isqlplus Agenda 1 Rozwój produktu isql*plus ma swoje początki w wersji Oracle 8i, kiedy jest zakończony pierwszy etap prac nad projektem. Interfejs użytkownika jest cienki klient - przeglądarka internetowa,
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw