SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   Oracle. Optymalizacja
                                         wydajno ci
           KATALOG KSI¥¯EK
                                         Autorzy: Ed Whalen, Mitchell Schroeter
                      KATALOG ONLINE     T³umaczenie: Bart³omiej Jab³oñski
                                         ISBN: 83-7197-797-2
       ZAMÓW DRUKOWANY KATALOG           Tytu³ orygina³u: Oracle Performance Tunning
                                         Format: B5, stron: 384

              TWÓJ KOSZYK
                    DODAJ DO KOSZYKA     Uzyskanie maksymalnej wydajno ci z³o¿onego systemu, jakim jest Oracle, to zadanie
                                         skomplikowane i trudne. Ksi¹¿ka „Oracle. Optymalizacja wydajno ci”, napisana przez
                                         czo³owych specjalistów w dziedzinie strojenia wydajno ci i optymalizacji baz danych,
         CENNIK I INFORMACJE             pomo¿e Ci stawiæ mu czo³a.
                                         Wyj¹tkowo æ tej ksi¹¿ki polega na jej ca³o ciowym podej ciu do tematu. Uzyskanie
                   ZAMÓW INFORMACJE      maksymalnej wydajno ci i dostrojenie bazy Oracle wymaga nie tylko optymalizacji
                     O NOWO CIACH        zapytañ SQL; nale¿y równie¿ zastanowiæ siê nad konfiguracj¹ sprzêtu, na którym ma
                                         byæ uruchomiony system, wydajno ci¹ podstawowych operacji wykonywanych na
                       ZAMÓW CENNIK      twardych dyskach, a tak¿e rozwa¿yæ, jakie cechy najnowszej wersji Oracle'a 9i mog¹
                                         byæ przydatne do przyspieszenia pracy aplikacji.
                                         Ksi¹¿ka omawia:
                 CZYTELNIA                  • Podstawowe pojêcia
          FRAGMENTY KSI¥¯EK ONLINE          • Parametry konfiguracyjne Oracle'a
                                            • Strojenie serwera
                                            • Zaawansowane opcje wp³ywaj¹ce na wydajno æ
                                            • Strojenie wydajno ci przetwarzania
                                            • Perspektywy wydajno ciowe
                                            • Skrypty UTLBSTAT i UTLESTAT
                                            • Wp³yw sprzêtu na Oracle'a
                                            • Operacje wej cia-wyj cia i ich znaczenie dla strojenia serwera
                                            • Wykorzystywanie planu wykonania i ledzenie SQL, strojenie indeksów
                                            • U¿ycie optymalizatora Oracle'a
                                            • Strojenie zapytañ SQL
                                            • Oracle 9i Real Application Clusters
Wydawnictwo Helion                          • Strojenie procesu tworzenia kopii zapasowych
ul. Chopina 6                               • Konfiguracja systemu odpornego na awarie
44-100 Gliwice                              • Wydajno æ Oracle'a w sieci
tel. (32)230-98-63
e-mail: helion@helion.pl                 Przy opracowywaniu tej ksi¹¿ki autorzy wykorzystali swoj¹ bogat¹ wiedzê,
                                         nie tylko na temat Oracle'a, ale tak¿e na temat sprzêtu komputerowego i systemów
                                         operacyjnych. Skorzystaj z ich do wiadczenia i skonfiguruj serwer bazodanowy
                                         wydajny, stabilny i odporny na awarie.
Spis treści
                O Autorach...................................................................................... 11
                Wstęp ............................................................................................. 13
Część I         Strojenie instancji.............................................................. 15
Rozdział 1. Podstawy strojenia .......................................................................... 17
                Podstawowe pojęcia................................................................................................17
                    Czym jest strojenie? ..........................................................................................17
                    Czy strojenie jest konieczne? .............................................................................18
                    Kiedy zaprzestać strojenia? ................................................................................18
                Cele strojenia..........................................................................................................19
                    Strojenie wydajności przetwarzania ....................................................................19
                    Strojenie czasu odpowiedzi ................................................................................19
                    Strojenie dla du ej liczby u ytkowników.............................................................20
                    Strojenie niezawodności ....................................................................................20
                    Strojenie ładowania danych................................................................................21
                Metodologia strojenia..............................................................................................21
                    Badanie problemu .............................................................................................22
                    Wyznaczenie problemu......................................................................................24
                    Wyznaczenie rozwiązania i ustanowienie celów...................................................24
                    Testowanie rozwiązania.....................................................................................26
                    Analiza rezultatu ...............................................................................................27
                Co wpływa na wydajność serwera Oracle? ................................................................27
                    Wąskie gardła systemu ......................................................................................28
                    Strojenie systemu..............................................................................................29
                    Ograniczenia systemowe ...................................................................................31
                Wyznaczanie rozmiaru i pojemności systemu ............................................................31
                    Ró nica między rozmiarem a pojemnością ..........................................................32
                    Etapy wyznaczania rozmiaru systemu .................................................................32
                    Etapy wyznaczania pojemności ..........................................................................33
                Podsumowanie .......................................................................................................33
Rozdział 2. Parametry konfiguracyjne systemu Oracle ........................................ 35
                Uruchamianie instancji Oracle .................................................................................36
                    Łączenie się z Oracle.........................................................................................36
                    Polecenie STARTUP ........................................................................................37
                    Uruchamianie instancji ......................................................................................37
                    Usuwanie typowych błędów...............................................................................38
                    Zatrzymywanie instancji ....................................................................................39
                Parametry inicjalizacyjne.........................................................................................42
                    Parametry strojenia instancji ..............................................................................43
                    Parametry wyznaczające wielkości zasobów........................................................43
                Podsumowanie .......................................................................................................44
4                                                                                      Oracle. Optymalizacja wydajności


Rozdział 3. Strojenie serwera Oracle.................................................................. 45
               Parametry inicjalizujące wymieniane w niniejszym rozdziale......................................46
                   Parametry SGA.................................................................................................46
                   Parametry obszaru PGA i obszaru u ytkownika ...................................................47
                   Parametry Undo................................................................................................48
                   Inne parametry .................................................................................................48
               Skalowanie SGA.....................................................................................................49
                   Strojenie systemu operacyjnego..........................................................................49
                   Strojenie prywatnych obszarów SQL i PL/SQL ...................................................50
                   Strojenie obszaru wspólnego ..............................................................................51
                   Strojenie bufora danych.....................................................................................56
               Zarządzanie segmentami wycofania i informacją wycofania .......................................61
                   Strojenie serwera w trybie SMU.........................................................................62
                   Strojenie serwera w trybie RBU .........................................................................63
                   Podsumowanie strojenia obszarem wycofania......................................................69
               Bufor dziennika powtórzeń ......................................................................................70
                   Rywalizacja o bufor dziennika............................................................................70
               Strojenie punktów kontrolnych.................................................................................70
               Strojenie sortowań ..................................................................................................71
                   Strojenie obszaru SORT AREA..........................................................................72
                   Strojenie pozostawianego obszaru sortowania......................................................72
                   Strojenie obszarem tymczasowym ......................................................................72
               Minimalizacja rywalizacji o listę wolnych bloków .....................................................73
               Podsumowanie .......................................................................................................74
Rozdział 4. Wydajność — opcje zaawansowane.................................................. 75
               Parametry wykorzystywane w tym rozdziale .............................................................75
               Indeksy..................................................................................................................77
                   Koncepcja indeksu ............................................................................................77
                   Rodzaje indeksów .............................................................................................78
                   Indeksy B*-tree ................................................................................................78
                   Jak działają indeksy bitmapowe..........................................................................81
                   Co warto indeksować?.......................................................................................82
                   Sposób indeksowania ........................................................................................83
               Równoległe wykonywanie zapytań w systemie Oracle ...............................................85
                   Wykonywanie równoległe..................................................................................85
                   Równoległe tworzenie indeksu ...........................................................................91
                   Równoległe ładowanie.......................................................................................92
                   Równoległe odtwarzanie....................................................................................92
               Klastry...................................................................................................................93
               Klastry haszowe .....................................................................................................96
                   Kiedy haszować? ..............................................................................................97
               Odczyty wieloblokowe ............................................................................................98
               Partycjonowanie .....................................................................................................99
                   Koncepcja partycjonowania ...............................................................................99
                   Partycjonowanie zakresowe ............................................................................. 100
                   Partycje z listą wartości ................................................................................... 101
                   Partycjonowanie z kluczem haszowym ............................................................. 102
                   Partycje zło one.............................................................................................. 102
                   Korzyści z partycjonowania ............................................................................. 103
                   Partycje a indeksy ........................................................................................... 104
               Stabilność planu.................................................................................................... 104
               Serwer wielokanałowy .......................................................................................... 104
                   Serwer dedykowany........................................................................................ 105
                   Serwer wielokanałowy..................................................................................... 105
               Podsumowanie ..................................................................................................... 107
Spis treści                                                                                                                            5


Rozdział 5. Strojenie wydajności przetwarzania ................................................ 109
              Parametry zaprezentowane w niniejszym rozdziale .................................................. 109
              Korzystanie z mechanizmu Grupy Konsumenckiej................................................... 110
                  Przegląd Grup Konsumenckich ........................................................................ 110
                  Konfiguracja Grup Konsumenckich .................................................................. 111
                  Dodawanie u ytkowników do planu.................................................................. 114
                  Monitorowanie grup konsumenckich ................................................................ 115
              Strojenie zasobów u ytkownika ............................................................................. 115
                  Systemy OLTP............................................................................................... 116
                  Czas odpowiedzi ............................................................................................. 116
              Przenoszenie niektórych funkcji do innego systemu ................................................. 116
                  Dystrybucja raportów historycznych................................................................. 117
                  Dystrybucja bie ących raportów....................................................................... 118
                  Obsługa rozproszenia w aplikacjach.................................................................. 118
              Podsumowanie ..................................................................................................... 119
Rozdział 6. Perspektywy wydajnościowe systemu Oracle.................................. 121
              Perspektywy V$ a perspektywy G$ ........................................................................ 122
              Przegląd dynamicznych perspektyw wydajnościowych............................................. 122
              Wykorzystywanie perspektyw................................................................................ 127
                  Zapytania wykorzystujące perspektywy dynamiczne .......................................... 127
                  Skrypty UTLBSTAT/UTLESTAT i pakiet STATSPACK .................................. 128
                  Narzędzia do badania wydajności ..................................................................... 128
              Podsumowanie ..................................................................................................... 129
Rozdział 7. Skrypty UTLBSTAT i UTLESTAT ...................................................... 131
              UTLBSTAT/UTLESTAT ..................................................................................... 131
                 Uruchamianie skryptów UTLBSTAT/UTLESTAT ............................................ 131
                 Wynik wykonania skryptów UTLBSTAT/UTLESTAT ...................................... 132
                 Interpretacja statystyk BSTAT/ESTAT............................................................. 132
              Pakiet STATSPACK............................................................................................. 148
                 Instalowanie pakietu STATSPACK .................................................................. 149
                 Korzystanie z pakietu STATSPACK................................................................. 149
                 Administrowanie pakietem STATSPACK......................................................... 150
                 Raport STATSPACK ...................................................................................... 151
              Podsumowanie ..................................................................................................... 166

Część II      Strojenie sprzętu komputerowego .......................................167
Rozdział 8. System Oracle i sprzęt komputerowy.............................................. 169
              Parametry opisane w tym rozdziale......................................................................... 169
              Instancja Oracle od środka..................................................................................... 170
                  Struktura pamięci ............................................................................................ 171
                  Procesy.......................................................................................................... 173
              Architektura systemu ............................................................................................ 175
                  Procesory i bufory........................................................................................... 175
                  Rodzaje procesorów........................................................................................ 176
                  Procesory 32- i 64-bitowe ................................................................................ 179
                  Architektura pamięci komputera....................................................................... 180
                  Rodzaje magistral............................................................................................ 181
                  Magistrale wejścia-wyjścia .............................................................................. 182
                  Sieć ............................................................................................................... 182
                  Klastry ........................................................................................................... 182
              Podsumowanie ..................................................................................................... 182
6                                                                                    Oracle. Optymalizacja wydajności


Rozdział 9. Operacje wejścia-wyjścia ............................................................... 183
               Dysk twardy......................................................................................................... 183
                   Przegląd ......................................................................................................... 184
                   Wydajność dysku............................................................................................ 187
               Macierze RAID .................................................................................................... 190
                   Macierze sprzętowe i programowe.................................................................... 191
                   Rozcinanie ..................................................................................................... 191
                   RAID 0 .......................................................................................................... 192
                   RAID 1 .......................................................................................................... 192
                   RAID 10 ........................................................................................................ 193
                   RAID 2 .......................................................................................................... 194
                   RAID 3 .......................................................................................................... 195
                   RAID 4 .......................................................................................................... 195
                   RAID 5 .......................................................................................................... 197
                   Podsumowanie kontroli parzystości .................................................................. 198
                   Przegląd wydajności RAID-ów ........................................................................ 199
               Optymalizacja wydajności ..................................................................................... 201
                   Optymalizacja ruchu głowicy ........................................................................... 201
                   Bufor kontrolera ............................................................................................. 202
                   Sprzętowy XOR ............................................................................................. 203
                   Rozmiar paska ................................................................................................ 203
               RAID wewnętrzny i zewnętrzny............................................................................. 204
                   Wewnętrzne systemy RAID............................................................................. 204
                   Zewnętrzne systemy RAID .............................................................................. 204
               Systemy SAN....................................................................................................... 205
               Systemy sieciowego przechowywania danych NAS ................................................. 207
               Podsumowanie ..................................................................................................... 208
Rozdział 10. System Oracle i operacje wejścia-wyjścia ....................................... 209
               Parametry przedstawione w tym rozdziale............................................................... 209
               Zale ność Oracle od urządzeń wejścia-wyjścia ........................................................ 210
                   Dlaczego opóźnienie odczytu jest wa ne........................................................... 211
                   Opóźnienie zapisu ........................................................................................... 212
                   Odporność na awarie....................................................................................... 213
               Konfiguracja operacji wejścia-wyjścia w bazie Oracle.............................................. 214
                   Wydajność, odporność na awarie i koszty ......................................................... 214
                   Bezpieczeństwo inwestycji............................................................................... 214
               Strojenie operacji wejścia-wyjścia .......................................................................... 217
                   Rywalizacja o dysk ......................................................................................... 217
                   Badanie rywalizacji dysków............................................................................. 218
                   Rozwiązywanie problemów rywalizacji o dysk.................................................. 220
               Redukcja niepotrzebnych odwołań ......................................................................... 224
                   Migracja rekordów i łańcuchy bloków .............................................................. 225
                   Dynamiczne rozszerzanie................................................................................. 226
                   Parametry PCTFREE i PCTUSED ................................................................... 227
                   Przegląd technik zmniejszania liczby operacji wejścia-wyjścia............................ 231
               Rozmiar bloku ...................................................................................................... 231
                   Bloki ró nych rozmiarów................................................................................. 233
               Fragmentacja........................................................................................................ 234
               Podsumowanie ..................................................................................................... 236
Spis treści                                                                                                                          7


Część III       Strojenie aplikacji i zapytań SQL.........................................237
Rozdział 11. Wykorzystywanie planu wykonania i śledzenie SQL.......................... 239
                Śledzenie SQL...................................................................................................... 240
                    Przygotowania do śledzenia ............................................................................. 240
                    Kontrolowanie śledzenia.................................................................................. 240
                    Funkcjonalność śledzenia SQL......................................................................... 241
                    Funkcjonalność TKPROF................................................................................ 242
                    Interpretowanie raportu śledzenia ..................................................................... 244
                Polecenie EXPLAIN PLAN................................................................................... 249
                    Przygotowanie do analizy planu wykonania....................................................... 249
                    Wywołanie EXPLAIN PLAN .......................................................................... 250
                    Pobieranie wyniku analizy ............................................................................... 250
                Rejestracja aplikacji .............................................................................................. 251
                Podsumowanie ..................................................................................................... 252
Rozdział 12. Strojenie indeksów ........................................................................ 255
                Parametry omówione w tym rozdziale .................................................................... 256
                Rodzaje indeksów................................................................................................. 257
                Korzystanie z indeksów B*-tree ............................................................................. 258
                    Co powinno być indeksowane? ........................................................................ 259
                    Utrzymywanie indeksów.................................................................................. 261
                Tabele zorganizowane indeksowo .......................................................................... 262
                Indeksy bitmapowe ............................................................................................... 262
                    Kiedy korzystać z indeksów bitmapowych ........................................................ 263
                Indeksy oparte na funkcji....................................................................................... 264
                Wskazówki optymalizatora .................................................................................... 264
                Monitorowanie i analiza indeksów.......................................................................... 265
                    Monitorowanie indeksów................................................................................. 265
                Podsumowanie ..................................................................................................... 265
Rozdział 13. Optymalizator Oracle...................................................................... 267
                Co to jest optymalizator? ....................................................................................... 268
                    Jak pracuje optymalizator?............................................................................... 268
                    Parametry inicjalizujące................................................................................... 269
                    Metody optymalizowania................................................................................. 270
                Korzystanie z pakietu DBMS_STATS.................................................................... 272
                    Tworzenie tabel statystyk ................................................................................ 272
                    Zbieranie statystyk .......................................................................................... 273
                    Kasowanie statystyk........................................................................................ 274
                    Odtwarzanie statystyk ..................................................................................... 274
                    Inne funkcji pakietu DBMS_STATS ................................................................ 275
                    Praca ze statystykami ...................................................................................... 275
                Polecenie ANALYZE............................................................................................ 276
                    Wywoływanie polecenia ANALYZE ................................................................ 276
                    Statystyki słownika danych.............................................................................. 278
                Przetwarzanie transakcyjne.................................................................................... 280
                Realizacja polecenia SQL ...................................................................................... 282
                    Tworzenie kursora .......................................................................................... 282
                    Parsowanie polecenia ...................................................................................... 282
                    Przygotowanie zapytania SELECT ................................................................... 284
                    Zmienne wiązane ............................................................................................ 284
                    Wykonywanie polecenia .................................................................................. 284
                    Równoległe wykonywanie poleceń ................................................................... 285
                    Przesyłanie rekordów ...................................................................................... 285
                Analiza poleceń SQL ............................................................................................ 286
8                                                                                    Oracle. Optymalizacja wydajności


               Projektowanie poleceń SQL................................................................................... 287
                   Pakiety, procedury i funkcje............................................................................. 288
               U ywanie wskazówek ........................................................................................... 288
               Podsumowanie ..................................................................................................... 289
Rozdział 14. Strojenie poleceń SQL.................................................................... 291
               Optymalne polecenia SQL ..................................................................................... 291
               Jak zidentyfikować niepoprawnie zoptymalizowane polecenia .................................. 292
               Rodzaje złączeń.................................................................................................... 292
                   Algorytm nested loops..................................................................................... 292
                   Algorytm sort-merge ....................................................................................... 293
                   Algorytm hash join.......................................................................................... 294
               Strojenie poleceń SQL........................................................................................... 294
                   Strojenie istniejącej aplikacji............................................................................ 295
                   Projektowanie nowych aplikacji ....................................................................... 299
               Podsumowanie ..................................................................................................... 304
Rozdział 15. Wskazówki optymalizatora ............................................................. 307
               Implementacja wskazówek .................................................................................... 308
                  Składnia wskazówek ....................................................................................... 308
                  Błędy stosowania ............................................................................................ 309
                  Wskazówki wielokrotne................................................................................... 309
               Wskazówki .......................................................................................................... 310
                  Cele optymalizatora......................................................................................... 310
                  Metody dostępu .............................................................................................. 312
                  Kolejność łączenia .......................................................................................... 316
                  Operacje łączenia ............................................................................................ 317
                  Wskazówki zapytań równoległych.................................................................... 319
                  Transformacje zapytań .................................................................................... 321
                  Pozostałe wskazówki....................................................................................... 323
               Podsumowanie ..................................................................................................... 326

Część IV       Zagadnienia zaawansowane...............................................327
Rozdział 16. Oracle9i Real Application Clusters ................................................. 329
               Przegląd technologii RAC ..................................................................................... 329
                   Systemy komputerowe .................................................................................... 331
                   Podsystem dysku wspólnego ............................................................................ 331
                   Połączenie międzyserwerowe ........................................................................... 331
                   Blokady ......................................................................................................... 332
                   Konfiguracja klastra ........................................................................................ 333
               Kiedy u ywać konfiguracji RAC ............................................................................ 338
               Strojenie RAC ...................................................................................................... 338
                   Konfiguracja i określanie mocy komputera........................................................ 339
                   Instancja i strojenie blokad............................................................................... 339
                   Strojenie aplikacji ........................................................................................... 339
               Podsumowanie ..................................................................................................... 339
Rozdział 17. Strojenie tworzenia kopii zapasowych i odtwarzania........................ 341
               Parametry wymieniane w tym rozdziale .................................................................. 342
               Zapis na dysk — przypomnienie ............................................................................ 343
                   Tworzenie kopii bezpieczeństwa ...................................................................... 343
                   Proces odtwarzania ......................................................................................... 344
               Sposoby tworzenia kopii zapasowej........................................................................ 344
                   Ręczne wykonywanie zimnej kopii zapasowej ................................................... 344
                   Ręczne wykonywanie gorącej kopii zapasowej .................................................. 345
                   Wykonywanie gorącej kopii zapasowej za pomocą narzędzia RMAN .................. 345
Spis treści                                                                                                                             9


                   Wykonywanie gorącej kopii zapasowej w architekturze SAN ............................. 346
                   Charakterystyka dostępu do danych podczas ręcznego tworzenia kopii zapasowej ... 346
                   Charakterystyka dostępu do danych w narzędziu RMAN .................................... 347
                   Obcią enie systemu w czasie tworzenia kopii bezpieczeństwa............................. 347
                   Cele wykonywania kopii zapasowej.................................................................. 348
               Dopasowywanie metody do systemu ...................................................................... 348
                   Wykonywanie zimnej kopii zapasowej bazy...................................................... 349
                   Gorąca kopia zapasowa ................................................................................... 350
               Strojenie ręcznego sporządzania kopii zapasowych .................................................. 354
               Strojenie sporządzania kopii zapasowej wykonywanej narzędziem RMAN ................ 354
                   Bufor RMAN ................................................................................................. 354
                   Synchroniczne i asynchroniczne operacje wejścia-wyjścia .................................. 355
                   Parametry strojenia narzędzia RMAN ............................................................... 355
                   Monitorowanie pracy narzędzia RMAN ............................................................ 356
               Wydajność tworzenia kopii.................................................................................... 356
                   Procesor......................................................................................................... 356
                   Operacje wejścia-wyjścia................................................................................. 357
                   Sieć ............................................................................................................... 358
                   Podział kopii................................................................................................... 358
               Weryfikacja wydajności ........................................................................................ 360
                   Co mo na testować na serwerze? ..................................................................... 360
                   Co mo na testować w systemie operacyjnym?................................................... 360
               Podsumowanie ..................................................................................................... 363
Rozdział 18. Tworzenie systemu odpornego na awarie ........................................ 365
               Parametry opisane w niniejszym rozdziale .............................................................. 365
               Dlaczego nale y planować awarie .......................................................................... 366
               Jak przetrwać awarię? ........................................................................................... 366
                   Odległa kopia lustrzana ................................................................................... 367
                   Oracle9i Data Guard ....................................................................................... 367
                   Replikacja ...................................................................................................... 369
               Planowanie awarii................................................................................................. 370
                   Etapy planowania............................................................................................ 370
                   Dokumentacja ................................................................................................ 371
                   Scenariusze .................................................................................................... 372
               Odtwarzanie po awarii........................................................................................... 373
               Strojenie kopii systemów....................................................................................... 373
               Podsumowanie ..................................................................................................... 374
Rozdział 19. Wydajność systemu Oracle w sieci ................................................ 375
               Architektura sieci.................................................................................................. 375
                   Komponenty sprzętowe ................................................................................... 376
                   Protokoły sieciowe .......................................................................................... 378
               Strojenie komponentów sieciowych........................................................................ 379
               Strojenie oprogramowania ..................................................................................... 379
                   Strojenie Oracle .............................................................................................. 379
               Projekt sieci.......................................................................................................... 380
                   Rozwa ania na temat przepustowości ............................................................... 380
                   Segmentacja sieci............................................................................................ 381
                   Mostki, routery i koncentratory ........................................................................ 381
               Podsumowanie ..................................................................................................... 382

Dodatki............................................................................................383
               Skorowidz...................................................................................... 385
Rozdział 5.
Strojenie wydajności
przetwarzania
   Jedną z metod strojenia systemu jest strojenie przetwarzania (ang. workload). Mo na
   to przeprowadzić przypisując poszczególnym zadaniom pewne atrybuty, aby w ten sposób
   zmniejszyć lub zwiększyć ich wydajność. Do tego celu mogą słu yć ró ne narzędzia:
       mechanizm zarządzania grupami konsumenckimi i zasobami;
       mechanizm profili u ytkowników;
       mechanizm baz rozproszonych.

   Powy sza lista nie jest zamknięta — zawsze mo na odnaleźć własne rozwiązanie.

   Wybór metody strojenia systemu zale y od wyznaczonego celu. Poni ej wymieniono
   kilka takich przykładowych celów:
       optymalizacja wydajności dla wszystkich aplikacji i u ytkowników;
       optymalizacja wydajności dla jednego u ytkownika lub grupy u ytkowników;
       optymalizacja wydajności dla określonego zadania lub typów zadań;
       cele związane ze specyfiką aplikacji.

   W niniejszym rozdziale zostaną opisane metody optymalizacji systemu pod kątem wydaj-
   ności przetwarzania.



Parametry zaprezentowane
w niniejszym rozdziale
   Rozdział 2. Parametry konfiguracyjne systemu Oracle zawiera wprowadzenie dotyczące
   sposobu korzystania z parametrów inicjalizujących. W niniejszym rozdziale zaprezento-
   wano tematy związane z poni szymi parametrami:
110                                                            Część I ♦ Strojenie instancji


           4'5174%'A.+/+6 — określa, czy limity zdefiniowane w profilach u ytkownika
           będą stosowane;
           4'5174%'A/#0#)'4A2.#0 — specyfikacja głównego planu dla instancji.
           Mened er zasobów wczytuje ten plan, jak równie wszystkie plany podrzędne,
           dyrektywy i grupy konsumenckie.



Korzystanie z mechanizmu
Grupy Konsumenckiej
      Serwer Oracle umo liwia alokację zasobów przyznanych grupie, do której nale y dany
      u ytkownik. Pozwala to na definiowanie grup i podgrup u ytkowników oraz na rozdział
      zasobów pomiędzy te grupy. W systemie Oracle9i funkcjonalność mened era zasobów
      została zoptymalizowana pod kątem wzrostu wydajności i pozwala teraz na bardziej pre-
      cyzyjną kontrolę grup konsumenckich.

      Mechanizm grup konsumenckich udostępnia płynny, konfigurowalny system, dzięki któ-
      remu mo na skalować system z du ą dokładnością. Korzystanie z grup konsumenckich
      pozwala na:
           przydzielanie minimalnej ilości czasu procesora dla pewnych procesów
           lub grup procesów;
           ograniczanie stopnia zrównoleglenia wykonywania zapytań w zale ności
           od właściwości u ytkownika lub grupy u ytkowników;
           kontrolowanie długo trwających procesów, tak aby nie przekraczały ustalonych
           limitów.

      W kolejnych podrozdziałach opisano mechanizm grup konsumenckich, sposobu ich kon-
      figuracji. Podano tak e odpowiedni przykład ich wykorzystania.


Przegląd Grup Konsumenckich
      Podstawową zaletą grup konsumenckich jest zdolność do klasyfikowania ró nego rodzaju
      u ytkowników. Tym grupom mo na następnie wyznaczać limity poszczególnych zasobów,
      których będą mogli u ywać. Nie jest to równoznaczne z ograniczaniem zasobów dla wy-
      konywania poszczególnych zadań lub typów zadań. Ale te i ograniczanie zasobów dla
      poszczególnych zadań nie jest wykluczone — mo na stosować oba te rodzaje limitów.

      Z uwzględnieniem tych ograniczeń pewne zadania, jak np. raporty, procesy wsadowe lub
      te inne, wymagające wielu zasobów, mogą być wykonywane równolegle z innymi,
      bie ącymi zadaniami. Ich wpływ na wydajność jest jednak ograniczony. Takie rozwią-
      zania stosuje się, aby zaspokoić potrzeby zarówno u ytkowników OLTP, jak i tych, którzy
      wykonują du o raportów.
Rozdział 5. ♦ Strojenie wydajności przetwarzania                                            111


        Sposób realizowania tego rozwiązania jest wyznaczony przez potrzeby u ytkowników
        i konfigurację bazy danych. W dalszej części niniejszego rozdziału znajdują się przykłady
        wykorzystania grup konsumenckich.


Konfiguracja Grup Konsumenckich
        Do zarządzania grupami konsumenckimi słu ą dwa pakiety: &$/5A4'5174%'A/#0#)'4
        i &$/5A4'5174%' /#0#)'4A24+85. Parametr 4'5174%'A/#0#)'4A2.#0 włącza mechanizm
        kontroli zasobów. Te trzy elementy sterują konfiguracją grup konsumenckich.

        Pierwszym etapem konfiguracji jest utworzenie planu zasobów (ang. resource manager
        plan) i wskazanie, e właśnie ten plan ma być wykonywany. Plan zawiera definicje wielu
        grup i przypisane im limity zasobów, z których te grupy mogą korzystać.

        Ka dy u ytkownik jest członkiem jakiejś grupy. Jedna grupa konsumencka mo e tak e
        być przypisana do innej. Grupy są następnie zarządzane za pomocą planów zasobów.
        Odpowiedni przykład pokazano na rysunku 5.1, gdzie zaprezentowano schemat rozdziału
        czasu procesora pomiędzy cztery ró ne grupy — ka dej z nich przydzielono pewien
        procent czasu.

Rysunek 5.1.
Zasoby rozdzielone
pomiędzy cztery grupy




        W ramach ka dej grupy mo na wyspecyfikować limit dotyczący:
             stopnia zrównoleglenia;
             liczby aktywnych sesji;
             czasu procesora;
             maksymalnego czasu wykonania;
             wielkości dostępnego obszaru wycofania.

        Konfiguracja mened era zasobów polega na utworzeniu planu, jego zmodyfikowaniu
        i przydziale u ytkowników do grup.
112                                                             Część I ♦ Strojenie instancji


Tworzenie planu
      Pierwszym etapem tworzenia planu jest utworzenie obszaru tymczasowego (ang. pending
      area). Obszar ten jest wykorzystywany do definiowania planu i jego weryfikacji, zanim
      zostanie on wykorzystany w systemie. Tworzy się go za pomocą polecenia:
        ':'% &$/5A4'5174%'A/#0#)'4%4'#6'A2'0+0)A#4'#

      Plan tworzy się za pomocą procedury %4'#6'A2.#0, zdefiniowanej w pakiecie $/5A
      4'5174%'A/#0#)'4:
        ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0
2.#0      UCORNGARNCP  
          %1//'06    5CORNG 2NCP 

      Wydanie tego polecenia powoduje utworzenie planu o nazwie UCORNGARNCP. Przed przy-
      pisaniem go do systemu trzeba zdefiniować grupy i limity.

Tworzenie grupy konsumenckiej
      Grupę konsumencką tworzy się za pomocą procedury %4'#6'A%1057/'4A)4172:
        ':'% $/5A4'5174%'A/#0#)'4%4'#6'A%1057/'4A)4172
%1057/'4A)4172     UCNGU  
          %1//'06    UCORNG UCNGU ITQWR 

      Procedura ta tworzy grupę, ale podobnie jak w poprzednim przypadku, przed jej wdro-
       eniem nale y zdefiniować jej limity.

Ustawienie limitów w grupie
      Po utworzeniu grupy mo na zdefiniować zasady funkcjonowania planu. Dyrektywy
      planu mogą zawierać ograniczenia na czas procesora, stopień zrównoleglenia, maksymalny
      czas wykonywania, itd. Przykład definiowania takich reguł pokazano poni ej:
        ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8'
2.#0    UCORNGARNCP  
          )4172A14A57$2.#0    UCNGU  %1//'06    UCORNG UCNGU RNCP  
          %27A2   2#4#..'.A')4''A.+/+6A2   
          /#:A'56A':'%A6+/'   701A211.  

      Oczywiście definiowanie limitów tylko dla jednej grupy nie ma większego sensu,
      dlatego te konieczne jest utworzenie innych grup. Podobnie jak grupy mo na te defi-
      niować plany podrzędne. Definicja planu podrzędnego jest podobna do definicji grupy.
      W poleceniu, zamiast nazwy grupy, podaje się nazwę pod-planu.

      Do zakończenia definicji planu, podobnego do tego zaprezentowanego na rysunku 5.1,
      dodaje się kolejne ograniczenia:
        ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8'
2.#0    UCORNGARNCP  
          )4172A14A57$2.#0    OCTMGVKPI  %1//'06    UCORNG OCTMGVKPI RNCP  
          %27A2   2#4#..'.A')4''A.+/+6A2   
          /#:A'56A':'%A6+/'   701A211.  

        ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8'
2.#0     UCORNGARNCP  
          )4172A14A57$2.#0    JT  %1//'06    UCORNG JT RNCP  
          %27A2   2#4#..'.A')4''A.+/+6A2   
          /#:A'56A':'%A6+/'   701A211.
Rozdział 5. ♦ Strojenie wydajności przetwarzania                                               113

             ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8'
2.#0    UCORNGARNCP  
               )4172A14A57$2.#0    16*'4A)41725  %1//'06    TGSWKTGF ITQWR  
               %27A2   2#4#..'.A')4''A.+/+6A2   
               /#:A'56A':'%A6+/'   701A211.  

          Przykładowy sposób rozdzielenia zasobów między cztery grupy przedstawiono na ry-
          sunku 5.2.

Rysunek 5.2.
Szczegółowy
plan rozdzielenia
zasobów pomiędzy
cztery grupy




          Jak wcześniej wspomniano, plan uwzględniany przez system Oracle jest określony w pa-
          rametrze inicjalizacyjnym, ale parametry te są odczytywane tylko przy starcie instancji.
          Aby plan mo na było włączyć bezpośrednio po jego utworzeniu (bez zatrzymywania
          i ponownego uruchamiania instancji), nale y posłu yć się poleceniem #.6'4 5;56'/.
          Wydanie poni szego polecenia spowoduje natychmiastowe wskazanie planu UCORNGARNCP:
                                                                    1
             #.6'4 5;56'/ 5'6 4'5174%'A/#0#)'4A2.#0  UCORNGARNCP

          Je eli zachodzi potrzeba wyłączenia mened era zasobów, wykonuje się podobne pole-
          cenie, zamiast nazwy planu podając wartość 07..:
             #.6'4 5;56'/ 5'6 4'5174%'A/#0#)'4A2.#0     

          Polecenie to wyłącza mened era i wprowadza bazę w zwykły tryb pracy.

          Plany podrzędne mogą być tworzone i podpinane do planów za pomocą tych samych
          poleceń. Plan podrzędny tworzy się tak samo jak plan zwykły, ale przy specyfikacji
          ograniczeń definiuje się je dla planu, a nie dla grupy. Jak łatwo sobie to wyobrazić, plan
          mo e być bardzo skomplikowany. Przykładowy schemat takiego planu zaprezentowano
          na rysunku 5.3.

          Zarządzanie zasobami za pomocą grup konsumenckich jest u yteczną metodą, ale jak
          ka de zaawansowane narzędzie wymaga ostro ności i zwracania szczególnej uwagi na
          mo liwe niepo ądane skutki.


1
    Brakuje tutaj wcześniejszego zatwierdzenia zmian dokonanych w obszarze
    RGPFKPI CTGC ':'% $/5A4'5174%'A/#0#)'457$/+6A2'0+0)A#4'# — przyp. tłum.
114                                                               Część I ♦ Strojenie instancji


Rysunek 5.3.
Plan zasobów
z podplanami




Dodawanie użytkowników do planu
       Aby umieszczać u ytkowników w grupach, najpierw nadaje się im uprawnienia a następ-
       nie dodaje się ich do określonej grupy. Dodanie u ytkownika do grupy powoduje, e
       podczas ka dej swojej nowej sesji korzysta on z limitów tej grupy. Poni ej znajduje
       się przykładowe polecenie, powodujące przydzielenie u ytkownika UEQVV do grupy
       UCNGUAITQWR:
          ':'% $/5A4'5174%'A/#0#)'4A24+85)4#06A59+6%*A%1057/'4A)4172 
            
 UEQVV  UCNGU  647'
          ':'% $/5A4'5174%'A/#0#)'45'6A+0+6+#.A%1057/'4A)4172
 UEQVV     UCNGU 

       Mo na równie , za pomocą procedury 59+6%*A%1057/'4A)4172A(14A5'55, wprowadzić
       do grupy sesję aktywną. Nale y tylko najpierw określić identyfikator (5+) i numer seryjny
       przełączanej sesji.
          ':'% $/5A4'5174%'A/#0#)'459+6%*A%1057/'4A)4172A(14A5'55 
            
     UCNGU 

       Identyfikator i numer seryjny sesji mo na uzyskać przeglądając perspektywę 8 5'55+10.

       Po zdefiniowaniu planu, grup, limitów zasobów i po przydzieleniu u ytkowników do grup
       mo na przystąpić do dalszej pracy.

 Uwaga na niepożądane skutki uboczne
 Stosowanie zaawansowanych metod strojenia jest skomplikowanym zadaniem i może skutkować
 nieprzewidzianymi konsekwencjami. Należy bardzo uważać wykorzystując takie możliwości.
 Zaleca się przetestowanie działania zmodyfikowanej konfiguracji na oddzielnym, nieprodukcyj-
 nym serwerze.
Rozdział 5. ♦ Strojenie wydajności przetwarzania                                                      115


Monitorowanie grup konsumenckich
           Nie ma potrzeby monitorowania grup konsumenckich, aczkolwiek warto zapoznać się
           z pewnymi informacjami na temat sposobu dystrybuowania zasobów w systemie. Naj-
           łatwiej mo na to sprawdzić przeglądając perspektywę 8 454%A%1057/'4A)4172. Poni ej
           zaprezentowano przykładowe zapytanie, które wyszukuje odpowiednie informacje:
              5'.'%6 PCOG CEVKXGAUGUUKQPU EQPUWOGFAERWAVKOG SWGWGANGPIVJ
              (41/ X TUTEAEQPUWOGTAITQWR

              0#/'                             #%6+8'A5'55+105 %1057/'A%27A6+/' 37'7'A.'0)6*
                 
              5;5A)4172                                                                
              16*'4A)41725                                                             
              .19A)4172                                                                   

           Je eli zbyt du o czasu procesora przydzielono grupie QVJGTAITQWR, nale y do grup
           przydzielić większą liczbę u ytkowników.



Strojenie zasobów użytkownika
           Strojenie indywidualnych zasobów u ytkownika jest kolejną mo liwością wpływania
           na wydajność systemu. Robi się to poprzez tworzenie profili i przypisywanie ich poszcze-
           gólnym u ytkownikom. Ka dy u ytkownik powinien posiadać zdefiniowany profil.
           Je eli nie zrobiono tego jawnie, to i tak u ytkownikom domyślnie jest przypisywany
           profil '(#7.6.

           Poprzez profile tworzy się klasy u ytkowników. Uprawnienia i limity zasobów wyznacza
           się dla profili, a te z kolei przypisuje się u ytkownikom. Mo na definiować następujące
           atrybuty profilu:

            Atrybut           Komentarz
            5'55+105A2'4A75'4 Liczba sesji, którą ka dy u ytkownik mo e nawiązać jednocześnie. Gdy
                            limit ten zostanie osiągnięty, próba nawiązania nowego połączenia zakończy
                            się wywołaniem błędu.
            %27A2'4A5'55+10 Limit czasu wyra ony w 1/100 s. Po upływie tego czasu sesja będzie przerywana.
            %27A2'4A%#..    Limit czasu wyra ony w 1/100s. Tyle czasu mo e trwać ka de odwołanie
                            (ang. call) w sesji.
            %100'%6A6+/'      Całkowity czas połączenia wyra ony w minutach, po upływie którego sesja
                              u ytkownika będzie przerywana.
            +.'A6+/'         Maksymalny czas wyra ony w minutach, w ciągu którego sesja mo e
                              pozostawać nieaktywna.
            .1)+%#.A4'#5     Limit logicznych odczytów danych dostępnych w ramach jednego odwołania.
            A2'4A%#..
            .1)+%#.A4'#5     Limit logicznych odczytów danych dostępnych w ramach jednej sesji.
            A2'4A5'55+10
            %1/215+6'A.+/+6   Limit kombinacji wa onej kilku zasobów 2.

2
    Kombinacja ta jest ustalana za pomocą polecenia #.6'4 4'5174%' %156 — przyp. tłum.
116                                                              Część I ♦ Strojenie instancji


      W profilu mo na skonfigurować więcej parametrów. Tutaj opisane są tylko te związane
      z wydajnością i ograniczaniem dostępu do zasobów. Poni ej zaprezentowano przykładowe
      polecenie tworzenia profilu.
        %4'#6' 241(+.' UCNGUAWUGT .+/+6
          5'55+105A2'4A75'4          
          %27A2'4A5'55+10            70.+/+6'
          %27A2'4A%#..               
          %100'%6A6+/'               
          +.'A6+/'                  
          .1)+%#.A4'#5A2'4A5'55+10 '(#7.6
          .1)+%#.A4'#5A2'4A%#..     

      Po utworzeniu profilu mo na przypisać do niego poszczególnych u ytkowników.

      Wykorzystanie mechanizmu profili do ograniczania ilości dostępnych zasobów dla po-
      szczególnych sesji jest kolejną metodą strojenia wydajności przetwarzania systemu. Mo e
      być to u yteczne w wielu sytuacjach.


Systemy OLTP
      Typowy system OLTP składa się z wielu podłączonych u ytkowników, wykonujących
      liczne, krótkie operacje i ądających uzyskiwania szybkiej odpowiedzi. Ka dy długo trwa-
      jący proces wsadowy lub du e zapytanie ogranicza wydajność systemu. Dzięki wyko-
      rzystaniu mechanizmu profili i ograniczeniu długich operacji wydajność całego sys-
      temu mo e się poprawić. Długie zapytania mogą być wykonywane za pomocą konta
      u ytkownika, który jako jedyny mo e je wykonywać po godzinach pracy lub pracując
      na innym systemie.


Czas odpowiedzi
      Profile są wykorzystywane do organizowania środowisk, gdzie są dozwolone tylko pewne
      typy operacji. Profile składają się z limitów, a zatem skutecznie ograniczają wykonywanie
      długich operacji, które te limity przekraczają. Mo na przyspieszyć działanie krótkich
      operacji eliminując z systemu te, które trwają bardzo długo. To mo e ale nie musi zwięk-
      szyć wydajność systemu, ale na pewno w większości przypadków czas uzyskiwania od-
      powiedzi będzie krótszy.



Przenoszenie niektórych funkcji
do innego systemu
      Innym wspaniałym rozwiązaniem umo liwiającym zwiększenie wydajności przetwa-
      rzania jest przeniesienie funkcji do innego systemu. Systemy, w których jednocześnie
      wykonuje się transakcje OLTP i bardzo długie zapytania, mogą być mało wydajne z uwagi
      na efekt wykonywania długich zapytań. Je eli jest mo liwość pozostawienia wszystkich
Rozdział 5. ♦ Strojenie wydajności przetwarzania                                           117


        funkcji OLTP i przeniesienia długich zapytań na inny serwer, mo e to jednocześnie zwięk-
        szyć wydajność obu systemów.

        Istnieje wiele sposobów przeprowadzenia takiej operacji w zale ności od indywidualnych
        potrzeb i mo liwości systemu. W dalszej części niniejszego rozdziału przedstawiono kilka
        rozwiązań.


Dystrybucja raportów historycznych
        Raporty historyczne, które swoim zakresem obejmują miesiące, a nierzadko lata, często
        nie muszą uwzględniać danych wygenerowanych przed sekundą. Zazwyczaj takie ra-
        porty mogą być uruchamiane na starych danych. W takich sytuacjach istnieje kilka spo-
        sobów na utworzenie serwera raportów. Serwer raportów mo e się opierać na kopiach
        bezpieczeństwa lub Oracle Data Guard (dawniej znanym jako Standby Database).

Raportowanie z użyciem kopii zapasowych
        W przypadku raportów, które mogą bazować na danych pochodzących sprzed kilku dni,
        mo na u yć kopii zapasowych, które mogą być odtwarzane na serwerze raportów. W ciągu
        dnia taki serwer mo e pracować na tych danych wiedząc, e w ciągu nocy zostaną one
        uaktualnione. Jest to dobra metoda organizowania pracy serwera raportów pod warun-
        kiem, e rozmiar bazy umo liwia wykonywanie kopii bezpieczeństwa oraz jej zapisywa-
        nie na serwerze raportowym w ciągu nocy. Takie rozwiązanie ma kilka zalet:
             właściwy serwer OLTP nie jest przecią any. W większości przypadków takie
             kopie zapasowe i tak są wykonywane;
             serwer raportów jest dedykowany specjalnie w celu sporządzania raportów
             i nie wpływa negatywnie na wydajność serwera OLTP;
             rozwiązanie to jest bardzo proste i eleganckie. Charakteryzuje się wysoką
             bezawaryjnością.

        Metoda wykorzystania kopii zapasowych nie jest odpowiednia dla wszystkich sytuacji.
        Rozmiar bazy musi umo liwiać wykonywanie kopii zapasowych w ciągu nocy. Procedura
        ta nie mo e wpływać na wydajność serwera OLTP. Dodatkowo, funkcje raportujące mogą
        tylko odczytywać dane, poniewa ka dej nocy dane i tak są odtwarzane od nowa.

Raportowanie z użyciem Data Guard
        Zasada działania raportowania z zastosowaniem systemów Data Guard lub Automated
        Standby-Database jest podobna do tej omówionej poprzednio. Ró nica polega na tym,
         e dane są bardziej aktualne. Wymaga to od serwera raportów ciągłego odczytywania
        danych. Pochodzą one z archiwalnych plików dziennika powtórzeń i serwer odczytuje je
        w miarę ich generowania. Taki serwer raportowy będzie zawsze nieco opóźniony w sto-
        sunku do systemu OLTP, ale dla większości zastosowań takie opóźnienia są dopuszczalne.
        Podobnie jak w przypadku raportowania z zastosowaniem kopii zapasowych mo na wy-
        szczególnić kilka zalet omawianego rozwiązania:
118                                                                   Część I ♦ Strojenie instancji


                obcią enie głównego serwera OLTP wzrasta tylko nieznacznie. Generowanie
                archiwalnych plików dziennika zachodzi niezale nie od dalszych losów tych plików3;
                serwer raportów jest dedykowany specjalnie do generowania raportów i nie obni a
                wydajności serwera OLTP;
                dodatkową korzyścią jest ochrona systemu OLTP przed awariami
                — system Data Guard powstał właśnie w tym celu;
                wdro enie tego rozwiązania jest nieco bardziej skomplikowane w porównaniu
                do omówionego poprzednio, ale jest to tylko niewielki wzrost trudności.

           Nale y jednak mieć na uwadze, e takie rozwiązanie nie będzie odpowiednie w ka dej
           sytuacji, ale tym razem nie istnieje konieczność sporządzania kopii bezpieczeństwa ka dej
           nocy. Dodatkowo funkcje raportujące muszą znajdować się w trybie tylko do odczytu, po-
           niewa system i tak jest ciągle zasilany nowymi danymi.

           Powy sze rozwiązania są dobre w systemach, gdzie konieczne jest wykonywanie rapor-
           tów historycznych. Jeśli natomiast konieczne jest sporządzanie raportów na podstawie
           danych bie ących, trzeba wdro yć inne rozwiązania.


Dystrybucja bieżących raportów
           Raporty bie ące są raportami, których rezultat musi być otrzymywany w jak najkrótszym
           terminie. Takie raporty wykonują się dłu ej ni normalne transakcje OLTP, a do ich
           sporządzenia są konieczne najświe sze dane. W przypadku potrzeby generowania takich
           raportów jedynym rozwiązaniem wydaje się być replikacja. Rozwiązanie to daje zwłokę
           serwera raportów rzędu zaledwie paru sekund w stosunku do serwera głównego OLTP.

           Proces replikacji pozwala na ciągły przesył danych z serwera głównego do raportowego,
           utrzymując obydwa w ścisłej synchronizacji. W specyficznych sytuacjach, jeśli dane
           serwera raportowego miałyby być modyfikowane, mo na zastosować technikę replikacji
           wielobazowej (ang. multi-master replication). Taka replikacja pozwala wielu systemom
           działać jako baza podstawowa, a dane są wtedy przesyłane do pozostałych „kopii”.


Obsługa rozproszenia w aplikacjach
           Po przeniesieniu raportów na inny serwer nale y jeszcze zmodyfikować aplikację, tak
           aby mo liwe było odszukiwanie wygenerowanych raportów. W tym celu mo na dokonać
           zmian bezpośrednio w kodzie aplikacji. Innym sposobem jest utworzenie specjalnej
           tabeli, w której pojawiłyby się wpisy dotyczące miejsca lokalizacji danego raportu. Ko-
           rzystając z takiej tabeli łatwo jest rozproszyć wykonywanie raportów pomiędzy kilka
           serwerów lub wykonywać te raporty na serwerze głównym OLTP, jeśli tamte akurat nie
           pracują. Zastosowanie tej tabeli jest rozwiązaniem elastycznym.



3
    Tylko je eli baza pracuje w trybie #4%*+8'.1) — przyp. tłum.
Rozdział 5. ♦ Strojenie wydajności przetwarzania                                      119



Podsumowanie
        W niniejszym rozdziale zaprezentowano najczęściej spotykany rodzaj strojenia: stro-
        jenie przetwarzania. Nie jest rzadkością wykorzystywanie wielu z prezentowanych
        tutaj rozwiązań, w zale ności od rodzaju funkcji spełnianych przez serwer. Rozwią-
        zaniami opisanymi w tym rozdziale są:
             wykorzystanie grup konsumenckich i mened era zasobów;
             wykorzystanie profili u ytkowników;
             wykorzystanie rozproszenia systemu.

        Prawdopodobnie ka dy administrator wykonuje takie zadanie w inny sposób, ale za-
        sada działania jest taka sama: nale y dą yć do ograniczenia wykonywania pewnych
        zadań, tak aby pozostałe otrzymały więcej zasobów i mogły się wykonywać bardziej
        efektywnie. W następnych rozdziałach przedstawiono bardziej tradycyjne metody ba-
        dania statystyk wydajnościowych.

Mais conteúdo relacionado

Mais procurados

PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychWydawnictwo Helion
 
Oracle9i. Administrowanie bazami danych od podstaw
Oracle9i. Administrowanie bazami danych od podstawOracle9i. Administrowanie bazami danych od podstaw
Oracle9i. Administrowanie bazami danych od podstawWydawnictwo Helion
 
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danychOracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danychWydawnictwo Helion
 
Excel. Praktyczne zastosowania w biznesie
Excel. Praktyczne zastosowania w biznesieExcel. Praktyczne zastosowania w biznesie
Excel. Praktyczne zastosowania w biznesieWydawnictwo Helion
 
SQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoSQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoWydawnictwo Helion
 
CATIA V5. Podstawy budowy modeli autogenerujących
CATIA V5. Podstawy budowy modeli autogenerującychCATIA V5. Podstawy budowy modeli autogenerujących
CATIA V5. Podstawy budowy modeli autogenerującychWydawnictwo Helion
 
SQL Server 2005. Programowanie. Od podstaw
SQL Server 2005. Programowanie. Od podstawSQL Server 2005. Programowanie. Od podstaw
SQL Server 2005. Programowanie. Od podstawWydawnictwo Helion
 
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danych
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danychOracle Database 10g RMAN. Archiwizacja i odzyskiwanie danych
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danychWydawnictwo Helion
 
Access 2002/XP PL dla każdego
Access 2002/XP PL dla każdegoAccess 2002/XP PL dla każdego
Access 2002/XP PL dla każdegoWydawnictwo Helion
 
Microsoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyMicrosoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyWydawnictwo Helion
 
Excel. Analiza danych biznesowych
Excel. Analiza danych biznesowychExcel. Analiza danych biznesowych
Excel. Analiza danych biznesowychWydawnictwo Helion
 

Mais procurados (20)

MySQL. Opis języka
MySQL. Opis językaMySQL. Opis języka
MySQL. Opis języka
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
 
Oracle9i. Administrowanie bazami danych od podstaw
Oracle9i. Administrowanie bazami danych od podstawOracle9i. Administrowanie bazami danych od podstaw
Oracle9i. Administrowanie bazami danych od podstaw
 
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danychOracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
 
MySQL. Podstawy
MySQL. PodstawyMySQL. Podstawy
MySQL. Podstawy
 
Excel. Praktyczne zastosowania w biznesie
Excel. Praktyczne zastosowania w biznesieExcel. Praktyczne zastosowania w biznesie
Excel. Praktyczne zastosowania w biznesie
 
Po prostu Excel 2007 PL
Po prostu Excel 2007 PLPo prostu Excel 2007 PL
Po prostu Excel 2007 PL
 
Oracle Discoverer
Oracle DiscovererOracle Discoverer
Oracle Discoverer
 
Po prostu Excel 2003 PL
Po prostu Excel 2003 PLPo prostu Excel 2003 PL
Po prostu Excel 2003 PL
 
SQL Server 2005
SQL Server 2005SQL Server 2005
SQL Server 2005
 
SQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoSQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystko
 
CATIA V5. Podstawy budowy modeli autogenerujących
CATIA V5. Podstawy budowy modeli autogenerującychCATIA V5. Podstawy budowy modeli autogenerujących
CATIA V5. Podstawy budowy modeli autogenerujących
 
Algorytmy. Od podstaw
Algorytmy. Od podstawAlgorytmy. Od podstaw
Algorytmy. Od podstaw
 
SQL Server 2005. Programowanie. Od podstaw
SQL Server 2005. Programowanie. Od podstawSQL Server 2005. Programowanie. Od podstaw
SQL Server 2005. Programowanie. Od podstaw
 
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danych
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danychOracle Database 10g RMAN. Archiwizacja i odzyskiwanie danych
Oracle Database 10g RMAN. Archiwizacja i odzyskiwanie danych
 
ABC Excel 2007 PL
ABC Excel 2007 PLABC Excel 2007 PL
ABC Excel 2007 PL
 
SQL. Od podstaw
SQL. Od podstawSQL. Od podstaw
SQL. Od podstaw
 
Access 2002/XP PL dla każdego
Access 2002/XP PL dla każdegoAccess 2002/XP PL dla każdego
Access 2002/XP PL dla każdego
 
Microsoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programistyMicrosoft SQL Server 2005. Podręcznik programisty
Microsoft SQL Server 2005. Podręcznik programisty
 
Excel. Analiza danych biznesowych
Excel. Analiza danych biznesowychExcel. Analiza danych biznesowych
Excel. Analiza danych biznesowych
 

Semelhante a Oracle. Optymalizacja wydajności

Perl. Zaawansowane programowanie
Perl. Zaawansowane programowaniePerl. Zaawansowane programowanie
Perl. Zaawansowane programowanieWydawnictwo Helion
 
Ajax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązaniaAjax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązaniaWydawnictwo Helion
 
Oracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLOracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLWydawnictwo Helion
 
Struktury danych i techniki obiektowe na przykładzie Javy 5.0
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Struktury danych i techniki obiektowe na przykładzie Javy 5.0
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Wydawnictwo Helion
 
Windows Server 2003. Wysoko wydajne rozwiązania
Windows Server 2003. Wysoko wydajne rozwiązaniaWindows Server 2003. Wysoko wydajne rozwiązania
Windows Server 2003. Wysoko wydajne rozwiązaniaWydawnictwo Helion
 
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie II
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie IIOkablowanie strukturalne sieci. Teoria i praktyka. Wydanie II
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie IIWydawnictwo Helion
 
Oracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychOracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychWydawnictwo Helion
 
Programowanie w języku C. Szybki start
Programowanie w języku C. Szybki startProgramowanie w języku C. Szybki start
Programowanie w języku C. Szybki startWydawnictwo Helion
 
Programowanie w języku C. FAQ
Programowanie w języku C. FAQProgramowanie w języku C. FAQ
Programowanie w języku C. FAQWydawnictwo Helion
 
Oracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLOracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLWydawnictwo Helion
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieWydawnictwo Helion
 
Projektowanie struktur Active Directory
Projektowanie struktur Active DirectoryProjektowanie struktur Active Directory
Projektowanie struktur Active DirectoryWydawnictwo Helion
 

Semelhante a Oracle. Optymalizacja wydajności (15)

Modelowanie danych
Modelowanie danychModelowanie danych
Modelowanie danych
 
Perl. Zaawansowane programowanie
Perl. Zaawansowane programowaniePerl. Zaawansowane programowanie
Perl. Zaawansowane programowanie
 
Ajax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązaniaAjax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązania
 
Praktyczny kurs SQL
Praktyczny kurs SQLPraktyczny kurs SQL
Praktyczny kurs SQL
 
Oracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQLOracle8. Programowanie w języku PL/SQL
Oracle8. Programowanie w języku PL/SQL
 
Struktury danych i techniki obiektowe na przykładzie Javy 5.0
Struktury danych i techniki obiektowe na przykładzie Javy 5.0Struktury danych i techniki obiektowe na przykładzie Javy 5.0
Struktury danych i techniki obiektowe na przykładzie Javy 5.0
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Windows Server 2003. Wysoko wydajne rozwiązania
Windows Server 2003. Wysoko wydajne rozwiązaniaWindows Server 2003. Wysoko wydajne rozwiązania
Windows Server 2003. Wysoko wydajne rozwiązania
 
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie II
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie IIOkablowanie strukturalne sieci. Teoria i praktyka. Wydanie II
Okablowanie strukturalne sieci. Teoria i praktyka. Wydanie II
 
Oracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychOracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danych
 
Programowanie w języku C. Szybki start
Programowanie w języku C. Szybki startProgramowanie w języku C. Szybki start
Programowanie w języku C. Szybki start
 
Programowanie w języku C. FAQ
Programowanie w języku C. FAQProgramowanie w języku C. FAQ
Programowanie w języku C. FAQ
 
Oracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLOracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQL
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
 
Projektowanie struktur Active Directory
Projektowanie struktur Active DirectoryProjektowanie struktur Active Directory
Projektowanie struktur Active Directory
 

Mais de Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++Wydawnictwo Helion
 

Mais de Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++
 

Oracle. Optymalizacja wydajności

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI Oracle. Optymalizacja wydajno ci KATALOG KSI¥¯EK Autorzy: Ed Whalen, Mitchell Schroeter KATALOG ONLINE T³umaczenie: Bart³omiej Jab³oñski ISBN: 83-7197-797-2 ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: Oracle Performance Tunning Format: B5, stron: 384 TWÓJ KOSZYK DODAJ DO KOSZYKA Uzyskanie maksymalnej wydajno ci z³o¿onego systemu, jakim jest Oracle, to zadanie skomplikowane i trudne. Ksi¹¿ka „Oracle. Optymalizacja wydajno ci”, napisana przez czo³owych specjalistów w dziedzinie strojenia wydajno ci i optymalizacji baz danych, CENNIK I INFORMACJE pomo¿e Ci stawiæ mu czo³a. Wyj¹tkowo æ tej ksi¹¿ki polega na jej ca³o ciowym podej ciu do tematu. Uzyskanie ZAMÓW INFORMACJE maksymalnej wydajno ci i dostrojenie bazy Oracle wymaga nie tylko optymalizacji O NOWO CIACH zapytañ SQL; nale¿y równie¿ zastanowiæ siê nad konfiguracj¹ sprzêtu, na którym ma byæ uruchomiony system, wydajno ci¹ podstawowych operacji wykonywanych na ZAMÓW CENNIK twardych dyskach, a tak¿e rozwa¿yæ, jakie cechy najnowszej wersji Oracle'a 9i mog¹ byæ przydatne do przyspieszenia pracy aplikacji. Ksi¹¿ka omawia: CZYTELNIA • Podstawowe pojêcia FRAGMENTY KSI¥¯EK ONLINE • Parametry konfiguracyjne Oracle'a • Strojenie serwera • Zaawansowane opcje wp³ywaj¹ce na wydajno æ • Strojenie wydajno ci przetwarzania • Perspektywy wydajno ciowe • Skrypty UTLBSTAT i UTLESTAT • Wp³yw sprzêtu na Oracle'a • Operacje wej cia-wyj cia i ich znaczenie dla strojenia serwera • Wykorzystywanie planu wykonania i ledzenie SQL, strojenie indeksów • U¿ycie optymalizatora Oracle'a • Strojenie zapytañ SQL • Oracle 9i Real Application Clusters Wydawnictwo Helion • Strojenie procesu tworzenia kopii zapasowych ul. Chopina 6 • Konfiguracja systemu odpornego na awarie 44-100 Gliwice • Wydajno æ Oracle'a w sieci tel. (32)230-98-63 e-mail: helion@helion.pl Przy opracowywaniu tej ksi¹¿ki autorzy wykorzystali swoj¹ bogat¹ wiedzê, nie tylko na temat Oracle'a, ale tak¿e na temat sprzêtu komputerowego i systemów operacyjnych. Skorzystaj z ich do wiadczenia i skonfiguruj serwer bazodanowy wydajny, stabilny i odporny na awarie.
  • 2. Spis treści O Autorach...................................................................................... 11 Wstęp ............................................................................................. 13 Część I Strojenie instancji.............................................................. 15 Rozdział 1. Podstawy strojenia .......................................................................... 17 Podstawowe pojęcia................................................................................................17 Czym jest strojenie? ..........................................................................................17 Czy strojenie jest konieczne? .............................................................................18 Kiedy zaprzestać strojenia? ................................................................................18 Cele strojenia..........................................................................................................19 Strojenie wydajności przetwarzania ....................................................................19 Strojenie czasu odpowiedzi ................................................................................19 Strojenie dla du ej liczby u ytkowników.............................................................20 Strojenie niezawodności ....................................................................................20 Strojenie ładowania danych................................................................................21 Metodologia strojenia..............................................................................................21 Badanie problemu .............................................................................................22 Wyznaczenie problemu......................................................................................24 Wyznaczenie rozwiązania i ustanowienie celów...................................................24 Testowanie rozwiązania.....................................................................................26 Analiza rezultatu ...............................................................................................27 Co wpływa na wydajność serwera Oracle? ................................................................27 Wąskie gardła systemu ......................................................................................28 Strojenie systemu..............................................................................................29 Ograniczenia systemowe ...................................................................................31 Wyznaczanie rozmiaru i pojemności systemu ............................................................31 Ró nica między rozmiarem a pojemnością ..........................................................32 Etapy wyznaczania rozmiaru systemu .................................................................32 Etapy wyznaczania pojemności ..........................................................................33 Podsumowanie .......................................................................................................33 Rozdział 2. Parametry konfiguracyjne systemu Oracle ........................................ 35 Uruchamianie instancji Oracle .................................................................................36 Łączenie się z Oracle.........................................................................................36 Polecenie STARTUP ........................................................................................37 Uruchamianie instancji ......................................................................................37 Usuwanie typowych błędów...............................................................................38 Zatrzymywanie instancji ....................................................................................39 Parametry inicjalizacyjne.........................................................................................42 Parametry strojenia instancji ..............................................................................43 Parametry wyznaczające wielkości zasobów........................................................43 Podsumowanie .......................................................................................................44
  • 3. 4 Oracle. Optymalizacja wydajności Rozdział 3. Strojenie serwera Oracle.................................................................. 45 Parametry inicjalizujące wymieniane w niniejszym rozdziale......................................46 Parametry SGA.................................................................................................46 Parametry obszaru PGA i obszaru u ytkownika ...................................................47 Parametry Undo................................................................................................48 Inne parametry .................................................................................................48 Skalowanie SGA.....................................................................................................49 Strojenie systemu operacyjnego..........................................................................49 Strojenie prywatnych obszarów SQL i PL/SQL ...................................................50 Strojenie obszaru wspólnego ..............................................................................51 Strojenie bufora danych.....................................................................................56 Zarządzanie segmentami wycofania i informacją wycofania .......................................61 Strojenie serwera w trybie SMU.........................................................................62 Strojenie serwera w trybie RBU .........................................................................63 Podsumowanie strojenia obszarem wycofania......................................................69 Bufor dziennika powtórzeń ......................................................................................70 Rywalizacja o bufor dziennika............................................................................70 Strojenie punktów kontrolnych.................................................................................70 Strojenie sortowań ..................................................................................................71 Strojenie obszaru SORT AREA..........................................................................72 Strojenie pozostawianego obszaru sortowania......................................................72 Strojenie obszarem tymczasowym ......................................................................72 Minimalizacja rywalizacji o listę wolnych bloków .....................................................73 Podsumowanie .......................................................................................................74 Rozdział 4. Wydajność — opcje zaawansowane.................................................. 75 Parametry wykorzystywane w tym rozdziale .............................................................75 Indeksy..................................................................................................................77 Koncepcja indeksu ............................................................................................77 Rodzaje indeksów .............................................................................................78 Indeksy B*-tree ................................................................................................78 Jak działają indeksy bitmapowe..........................................................................81 Co warto indeksować?.......................................................................................82 Sposób indeksowania ........................................................................................83 Równoległe wykonywanie zapytań w systemie Oracle ...............................................85 Wykonywanie równoległe..................................................................................85 Równoległe tworzenie indeksu ...........................................................................91 Równoległe ładowanie.......................................................................................92 Równoległe odtwarzanie....................................................................................92 Klastry...................................................................................................................93 Klastry haszowe .....................................................................................................96 Kiedy haszować? ..............................................................................................97 Odczyty wieloblokowe ............................................................................................98 Partycjonowanie .....................................................................................................99 Koncepcja partycjonowania ...............................................................................99 Partycjonowanie zakresowe ............................................................................. 100 Partycje z listą wartości ................................................................................... 101 Partycjonowanie z kluczem haszowym ............................................................. 102 Partycje zło one.............................................................................................. 102 Korzyści z partycjonowania ............................................................................. 103 Partycje a indeksy ........................................................................................... 104 Stabilność planu.................................................................................................... 104 Serwer wielokanałowy .......................................................................................... 104 Serwer dedykowany........................................................................................ 105 Serwer wielokanałowy..................................................................................... 105 Podsumowanie ..................................................................................................... 107
  • 4. Spis treści 5 Rozdział 5. Strojenie wydajności przetwarzania ................................................ 109 Parametry zaprezentowane w niniejszym rozdziale .................................................. 109 Korzystanie z mechanizmu Grupy Konsumenckiej................................................... 110 Przegląd Grup Konsumenckich ........................................................................ 110 Konfiguracja Grup Konsumenckich .................................................................. 111 Dodawanie u ytkowników do planu.................................................................. 114 Monitorowanie grup konsumenckich ................................................................ 115 Strojenie zasobów u ytkownika ............................................................................. 115 Systemy OLTP............................................................................................... 116 Czas odpowiedzi ............................................................................................. 116 Przenoszenie niektórych funkcji do innego systemu ................................................. 116 Dystrybucja raportów historycznych................................................................. 117 Dystrybucja bie ących raportów....................................................................... 118 Obsługa rozproszenia w aplikacjach.................................................................. 118 Podsumowanie ..................................................................................................... 119 Rozdział 6. Perspektywy wydajnościowe systemu Oracle.................................. 121 Perspektywy V$ a perspektywy G$ ........................................................................ 122 Przegląd dynamicznych perspektyw wydajnościowych............................................. 122 Wykorzystywanie perspektyw................................................................................ 127 Zapytania wykorzystujące perspektywy dynamiczne .......................................... 127 Skrypty UTLBSTAT/UTLESTAT i pakiet STATSPACK .................................. 128 Narzędzia do badania wydajności ..................................................................... 128 Podsumowanie ..................................................................................................... 129 Rozdział 7. Skrypty UTLBSTAT i UTLESTAT ...................................................... 131 UTLBSTAT/UTLESTAT ..................................................................................... 131 Uruchamianie skryptów UTLBSTAT/UTLESTAT ............................................ 131 Wynik wykonania skryptów UTLBSTAT/UTLESTAT ...................................... 132 Interpretacja statystyk BSTAT/ESTAT............................................................. 132 Pakiet STATSPACK............................................................................................. 148 Instalowanie pakietu STATSPACK .................................................................. 149 Korzystanie z pakietu STATSPACK................................................................. 149 Administrowanie pakietem STATSPACK......................................................... 150 Raport STATSPACK ...................................................................................... 151 Podsumowanie ..................................................................................................... 166 Część II Strojenie sprzętu komputerowego .......................................167 Rozdział 8. System Oracle i sprzęt komputerowy.............................................. 169 Parametry opisane w tym rozdziale......................................................................... 169 Instancja Oracle od środka..................................................................................... 170 Struktura pamięci ............................................................................................ 171 Procesy.......................................................................................................... 173 Architektura systemu ............................................................................................ 175 Procesory i bufory........................................................................................... 175 Rodzaje procesorów........................................................................................ 176 Procesory 32- i 64-bitowe ................................................................................ 179 Architektura pamięci komputera....................................................................... 180 Rodzaje magistral............................................................................................ 181 Magistrale wejścia-wyjścia .............................................................................. 182 Sieć ............................................................................................................... 182 Klastry ........................................................................................................... 182 Podsumowanie ..................................................................................................... 182
  • 5. 6 Oracle. Optymalizacja wydajności Rozdział 9. Operacje wejścia-wyjścia ............................................................... 183 Dysk twardy......................................................................................................... 183 Przegląd ......................................................................................................... 184 Wydajność dysku............................................................................................ 187 Macierze RAID .................................................................................................... 190 Macierze sprzętowe i programowe.................................................................... 191 Rozcinanie ..................................................................................................... 191 RAID 0 .......................................................................................................... 192 RAID 1 .......................................................................................................... 192 RAID 10 ........................................................................................................ 193 RAID 2 .......................................................................................................... 194 RAID 3 .......................................................................................................... 195 RAID 4 .......................................................................................................... 195 RAID 5 .......................................................................................................... 197 Podsumowanie kontroli parzystości .................................................................. 198 Przegląd wydajności RAID-ów ........................................................................ 199 Optymalizacja wydajności ..................................................................................... 201 Optymalizacja ruchu głowicy ........................................................................... 201 Bufor kontrolera ............................................................................................. 202 Sprzętowy XOR ............................................................................................. 203 Rozmiar paska ................................................................................................ 203 RAID wewnętrzny i zewnętrzny............................................................................. 204 Wewnętrzne systemy RAID............................................................................. 204 Zewnętrzne systemy RAID .............................................................................. 204 Systemy SAN....................................................................................................... 205 Systemy sieciowego przechowywania danych NAS ................................................. 207 Podsumowanie ..................................................................................................... 208 Rozdział 10. System Oracle i operacje wejścia-wyjścia ....................................... 209 Parametry przedstawione w tym rozdziale............................................................... 209 Zale ność Oracle od urządzeń wejścia-wyjścia ........................................................ 210 Dlaczego opóźnienie odczytu jest wa ne........................................................... 211 Opóźnienie zapisu ........................................................................................... 212 Odporność na awarie....................................................................................... 213 Konfiguracja operacji wejścia-wyjścia w bazie Oracle.............................................. 214 Wydajność, odporność na awarie i koszty ......................................................... 214 Bezpieczeństwo inwestycji............................................................................... 214 Strojenie operacji wejścia-wyjścia .......................................................................... 217 Rywalizacja o dysk ......................................................................................... 217 Badanie rywalizacji dysków............................................................................. 218 Rozwiązywanie problemów rywalizacji o dysk.................................................. 220 Redukcja niepotrzebnych odwołań ......................................................................... 224 Migracja rekordów i łańcuchy bloków .............................................................. 225 Dynamiczne rozszerzanie................................................................................. 226 Parametry PCTFREE i PCTUSED ................................................................... 227 Przegląd technik zmniejszania liczby operacji wejścia-wyjścia............................ 231 Rozmiar bloku ...................................................................................................... 231 Bloki ró nych rozmiarów................................................................................. 233 Fragmentacja........................................................................................................ 234 Podsumowanie ..................................................................................................... 236
  • 6. Spis treści 7 Część III Strojenie aplikacji i zapytań SQL.........................................237 Rozdział 11. Wykorzystywanie planu wykonania i śledzenie SQL.......................... 239 Śledzenie SQL...................................................................................................... 240 Przygotowania do śledzenia ............................................................................. 240 Kontrolowanie śledzenia.................................................................................. 240 Funkcjonalność śledzenia SQL......................................................................... 241 Funkcjonalność TKPROF................................................................................ 242 Interpretowanie raportu śledzenia ..................................................................... 244 Polecenie EXPLAIN PLAN................................................................................... 249 Przygotowanie do analizy planu wykonania....................................................... 249 Wywołanie EXPLAIN PLAN .......................................................................... 250 Pobieranie wyniku analizy ............................................................................... 250 Rejestracja aplikacji .............................................................................................. 251 Podsumowanie ..................................................................................................... 252 Rozdział 12. Strojenie indeksów ........................................................................ 255 Parametry omówione w tym rozdziale .................................................................... 256 Rodzaje indeksów................................................................................................. 257 Korzystanie z indeksów B*-tree ............................................................................. 258 Co powinno być indeksowane? ........................................................................ 259 Utrzymywanie indeksów.................................................................................. 261 Tabele zorganizowane indeksowo .......................................................................... 262 Indeksy bitmapowe ............................................................................................... 262 Kiedy korzystać z indeksów bitmapowych ........................................................ 263 Indeksy oparte na funkcji....................................................................................... 264 Wskazówki optymalizatora .................................................................................... 264 Monitorowanie i analiza indeksów.......................................................................... 265 Monitorowanie indeksów................................................................................. 265 Podsumowanie ..................................................................................................... 265 Rozdział 13. Optymalizator Oracle...................................................................... 267 Co to jest optymalizator? ....................................................................................... 268 Jak pracuje optymalizator?............................................................................... 268 Parametry inicjalizujące................................................................................... 269 Metody optymalizowania................................................................................. 270 Korzystanie z pakietu DBMS_STATS.................................................................... 272 Tworzenie tabel statystyk ................................................................................ 272 Zbieranie statystyk .......................................................................................... 273 Kasowanie statystyk........................................................................................ 274 Odtwarzanie statystyk ..................................................................................... 274 Inne funkcji pakietu DBMS_STATS ................................................................ 275 Praca ze statystykami ...................................................................................... 275 Polecenie ANALYZE............................................................................................ 276 Wywoływanie polecenia ANALYZE ................................................................ 276 Statystyki słownika danych.............................................................................. 278 Przetwarzanie transakcyjne.................................................................................... 280 Realizacja polecenia SQL ...................................................................................... 282 Tworzenie kursora .......................................................................................... 282 Parsowanie polecenia ...................................................................................... 282 Przygotowanie zapytania SELECT ................................................................... 284 Zmienne wiązane ............................................................................................ 284 Wykonywanie polecenia .................................................................................. 284 Równoległe wykonywanie poleceń ................................................................... 285 Przesyłanie rekordów ...................................................................................... 285 Analiza poleceń SQL ............................................................................................ 286
  • 7. 8 Oracle. Optymalizacja wydajności Projektowanie poleceń SQL................................................................................... 287 Pakiety, procedury i funkcje............................................................................. 288 U ywanie wskazówek ........................................................................................... 288 Podsumowanie ..................................................................................................... 289 Rozdział 14. Strojenie poleceń SQL.................................................................... 291 Optymalne polecenia SQL ..................................................................................... 291 Jak zidentyfikować niepoprawnie zoptymalizowane polecenia .................................. 292 Rodzaje złączeń.................................................................................................... 292 Algorytm nested loops..................................................................................... 292 Algorytm sort-merge ....................................................................................... 293 Algorytm hash join.......................................................................................... 294 Strojenie poleceń SQL........................................................................................... 294 Strojenie istniejącej aplikacji............................................................................ 295 Projektowanie nowych aplikacji ....................................................................... 299 Podsumowanie ..................................................................................................... 304 Rozdział 15. Wskazówki optymalizatora ............................................................. 307 Implementacja wskazówek .................................................................................... 308 Składnia wskazówek ....................................................................................... 308 Błędy stosowania ............................................................................................ 309 Wskazówki wielokrotne................................................................................... 309 Wskazówki .......................................................................................................... 310 Cele optymalizatora......................................................................................... 310 Metody dostępu .............................................................................................. 312 Kolejność łączenia .......................................................................................... 316 Operacje łączenia ............................................................................................ 317 Wskazówki zapytań równoległych.................................................................... 319 Transformacje zapytań .................................................................................... 321 Pozostałe wskazówki....................................................................................... 323 Podsumowanie ..................................................................................................... 326 Część IV Zagadnienia zaawansowane...............................................327 Rozdział 16. Oracle9i Real Application Clusters ................................................. 329 Przegląd technologii RAC ..................................................................................... 329 Systemy komputerowe .................................................................................... 331 Podsystem dysku wspólnego ............................................................................ 331 Połączenie międzyserwerowe ........................................................................... 331 Blokady ......................................................................................................... 332 Konfiguracja klastra ........................................................................................ 333 Kiedy u ywać konfiguracji RAC ............................................................................ 338 Strojenie RAC ...................................................................................................... 338 Konfiguracja i określanie mocy komputera........................................................ 339 Instancja i strojenie blokad............................................................................... 339 Strojenie aplikacji ........................................................................................... 339 Podsumowanie ..................................................................................................... 339 Rozdział 17. Strojenie tworzenia kopii zapasowych i odtwarzania........................ 341 Parametry wymieniane w tym rozdziale .................................................................. 342 Zapis na dysk — przypomnienie ............................................................................ 343 Tworzenie kopii bezpieczeństwa ...................................................................... 343 Proces odtwarzania ......................................................................................... 344 Sposoby tworzenia kopii zapasowej........................................................................ 344 Ręczne wykonywanie zimnej kopii zapasowej ................................................... 344 Ręczne wykonywanie gorącej kopii zapasowej .................................................. 345 Wykonywanie gorącej kopii zapasowej za pomocą narzędzia RMAN .................. 345
  • 8. Spis treści 9 Wykonywanie gorącej kopii zapasowej w architekturze SAN ............................. 346 Charakterystyka dostępu do danych podczas ręcznego tworzenia kopii zapasowej ... 346 Charakterystyka dostępu do danych w narzędziu RMAN .................................... 347 Obcią enie systemu w czasie tworzenia kopii bezpieczeństwa............................. 347 Cele wykonywania kopii zapasowej.................................................................. 348 Dopasowywanie metody do systemu ...................................................................... 348 Wykonywanie zimnej kopii zapasowej bazy...................................................... 349 Gorąca kopia zapasowa ................................................................................... 350 Strojenie ręcznego sporządzania kopii zapasowych .................................................. 354 Strojenie sporządzania kopii zapasowej wykonywanej narzędziem RMAN ................ 354 Bufor RMAN ................................................................................................. 354 Synchroniczne i asynchroniczne operacje wejścia-wyjścia .................................. 355 Parametry strojenia narzędzia RMAN ............................................................... 355 Monitorowanie pracy narzędzia RMAN ............................................................ 356 Wydajność tworzenia kopii.................................................................................... 356 Procesor......................................................................................................... 356 Operacje wejścia-wyjścia................................................................................. 357 Sieć ............................................................................................................... 358 Podział kopii................................................................................................... 358 Weryfikacja wydajności ........................................................................................ 360 Co mo na testować na serwerze? ..................................................................... 360 Co mo na testować w systemie operacyjnym?................................................... 360 Podsumowanie ..................................................................................................... 363 Rozdział 18. Tworzenie systemu odpornego na awarie ........................................ 365 Parametry opisane w niniejszym rozdziale .............................................................. 365 Dlaczego nale y planować awarie .......................................................................... 366 Jak przetrwać awarię? ........................................................................................... 366 Odległa kopia lustrzana ................................................................................... 367 Oracle9i Data Guard ....................................................................................... 367 Replikacja ...................................................................................................... 369 Planowanie awarii................................................................................................. 370 Etapy planowania............................................................................................ 370 Dokumentacja ................................................................................................ 371 Scenariusze .................................................................................................... 372 Odtwarzanie po awarii........................................................................................... 373 Strojenie kopii systemów....................................................................................... 373 Podsumowanie ..................................................................................................... 374 Rozdział 19. Wydajność systemu Oracle w sieci ................................................ 375 Architektura sieci.................................................................................................. 375 Komponenty sprzętowe ................................................................................... 376 Protokoły sieciowe .......................................................................................... 378 Strojenie komponentów sieciowych........................................................................ 379 Strojenie oprogramowania ..................................................................................... 379 Strojenie Oracle .............................................................................................. 379 Projekt sieci.......................................................................................................... 380 Rozwa ania na temat przepustowości ............................................................... 380 Segmentacja sieci............................................................................................ 381 Mostki, routery i koncentratory ........................................................................ 381 Podsumowanie ..................................................................................................... 382 Dodatki............................................................................................383 Skorowidz...................................................................................... 385
  • 9. Rozdział 5. Strojenie wydajności przetwarzania Jedną z metod strojenia systemu jest strojenie przetwarzania (ang. workload). Mo na to przeprowadzić przypisując poszczególnym zadaniom pewne atrybuty, aby w ten sposób zmniejszyć lub zwiększyć ich wydajność. Do tego celu mogą słu yć ró ne narzędzia: mechanizm zarządzania grupami konsumenckimi i zasobami; mechanizm profili u ytkowników; mechanizm baz rozproszonych. Powy sza lista nie jest zamknięta — zawsze mo na odnaleźć własne rozwiązanie. Wybór metody strojenia systemu zale y od wyznaczonego celu. Poni ej wymieniono kilka takich przykładowych celów: optymalizacja wydajności dla wszystkich aplikacji i u ytkowników; optymalizacja wydajności dla jednego u ytkownika lub grupy u ytkowników; optymalizacja wydajności dla określonego zadania lub typów zadań; cele związane ze specyfiką aplikacji. W niniejszym rozdziale zostaną opisane metody optymalizacji systemu pod kątem wydaj- ności przetwarzania. Parametry zaprezentowane w niniejszym rozdziale Rozdział 2. Parametry konfiguracyjne systemu Oracle zawiera wprowadzenie dotyczące sposobu korzystania z parametrów inicjalizujących. W niniejszym rozdziale zaprezento- wano tematy związane z poni szymi parametrami:
  • 10. 110 Część I ♦ Strojenie instancji 4'5174%'A.+/+6 — określa, czy limity zdefiniowane w profilach u ytkownika będą stosowane; 4'5174%'A/#0#)'4A2.#0 — specyfikacja głównego planu dla instancji. Mened er zasobów wczytuje ten plan, jak równie wszystkie plany podrzędne, dyrektywy i grupy konsumenckie. Korzystanie z mechanizmu Grupy Konsumenckiej Serwer Oracle umo liwia alokację zasobów przyznanych grupie, do której nale y dany u ytkownik. Pozwala to na definiowanie grup i podgrup u ytkowników oraz na rozdział zasobów pomiędzy te grupy. W systemie Oracle9i funkcjonalność mened era zasobów została zoptymalizowana pod kątem wzrostu wydajności i pozwala teraz na bardziej pre- cyzyjną kontrolę grup konsumenckich. Mechanizm grup konsumenckich udostępnia płynny, konfigurowalny system, dzięki któ- remu mo na skalować system z du ą dokładnością. Korzystanie z grup konsumenckich pozwala na: przydzielanie minimalnej ilości czasu procesora dla pewnych procesów lub grup procesów; ograniczanie stopnia zrównoleglenia wykonywania zapytań w zale ności od właściwości u ytkownika lub grupy u ytkowników; kontrolowanie długo trwających procesów, tak aby nie przekraczały ustalonych limitów. W kolejnych podrozdziałach opisano mechanizm grup konsumenckich, sposobu ich kon- figuracji. Podano tak e odpowiedni przykład ich wykorzystania. Przegląd Grup Konsumenckich Podstawową zaletą grup konsumenckich jest zdolność do klasyfikowania ró nego rodzaju u ytkowników. Tym grupom mo na następnie wyznaczać limity poszczególnych zasobów, których będą mogli u ywać. Nie jest to równoznaczne z ograniczaniem zasobów dla wy- konywania poszczególnych zadań lub typów zadań. Ale te i ograniczanie zasobów dla poszczególnych zadań nie jest wykluczone — mo na stosować oba te rodzaje limitów. Z uwzględnieniem tych ograniczeń pewne zadania, jak np. raporty, procesy wsadowe lub te inne, wymagające wielu zasobów, mogą być wykonywane równolegle z innymi, bie ącymi zadaniami. Ich wpływ na wydajność jest jednak ograniczony. Takie rozwią- zania stosuje się, aby zaspokoić potrzeby zarówno u ytkowników OLTP, jak i tych, którzy wykonują du o raportów.
  • 11. Rozdział 5. ♦ Strojenie wydajności przetwarzania 111 Sposób realizowania tego rozwiązania jest wyznaczony przez potrzeby u ytkowników i konfigurację bazy danych. W dalszej części niniejszego rozdziału znajdują się przykłady wykorzystania grup konsumenckich. Konfiguracja Grup Konsumenckich Do zarządzania grupami konsumenckimi słu ą dwa pakiety: &$/5A4'5174%'A/#0#)'4 i &$/5A4'5174%' /#0#)'4A24+85. Parametr 4'5174%'A/#0#)'4A2.#0 włącza mechanizm kontroli zasobów. Te trzy elementy sterują konfiguracją grup konsumenckich. Pierwszym etapem konfiguracji jest utworzenie planu zasobów (ang. resource manager plan) i wskazanie, e właśnie ten plan ma być wykonywany. Plan zawiera definicje wielu grup i przypisane im limity zasobów, z których te grupy mogą korzystać. Ka dy u ytkownik jest członkiem jakiejś grupy. Jedna grupa konsumencka mo e tak e być przypisana do innej. Grupy są następnie zarządzane za pomocą planów zasobów. Odpowiedni przykład pokazano na rysunku 5.1, gdzie zaprezentowano schemat rozdziału czasu procesora pomiędzy cztery ró ne grupy — ka dej z nich przydzielono pewien procent czasu. Rysunek 5.1. Zasoby rozdzielone pomiędzy cztery grupy W ramach ka dej grupy mo na wyspecyfikować limit dotyczący: stopnia zrównoleglenia; liczby aktywnych sesji; czasu procesora; maksymalnego czasu wykonania; wielkości dostępnego obszaru wycofania. Konfiguracja mened era zasobów polega na utworzeniu planu, jego zmodyfikowaniu i przydziale u ytkowników do grup.
  • 12. 112 Część I ♦ Strojenie instancji Tworzenie planu Pierwszym etapem tworzenia planu jest utworzenie obszaru tymczasowego (ang. pending area). Obszar ten jest wykorzystywany do definiowania planu i jego weryfikacji, zanim zostanie on wykorzystany w systemie. Tworzy się go za pomocą polecenia: ':'% &$/5A4'5174%'A/#0#)'4%4'#6'A2'0+0)A#4'# Plan tworzy się za pomocą procedury %4'#6'A2.#0, zdefiniowanej w pakiecie $/5A 4'5174%'A/#0#)'4: ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0 2.#0 UCORNGARNCP %1//'06 5CORNG 2NCP Wydanie tego polecenia powoduje utworzenie planu o nazwie UCORNGARNCP. Przed przy- pisaniem go do systemu trzeba zdefiniować grupy i limity. Tworzenie grupy konsumenckiej Grupę konsumencką tworzy się za pomocą procedury %4'#6'A%1057/'4A)4172: ':'% $/5A4'5174%'A/#0#)'4%4'#6'A%1057/'4A)4172 %1057/'4A)4172 UCNGU %1//'06 UCORNG UCNGU ITQWR Procedura ta tworzy grupę, ale podobnie jak w poprzednim przypadku, przed jej wdro- eniem nale y zdefiniować jej limity. Ustawienie limitów w grupie Po utworzeniu grupy mo na zdefiniować zasady funkcjonowania planu. Dyrektywy planu mogą zawierać ograniczenia na czas procesora, stopień zrównoleglenia, maksymalny czas wykonywania, itd. Przykład definiowania takich reguł pokazano poni ej: ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8' 2.#0 UCORNGARNCP )4172A14A57$2.#0 UCNGU %1//'06 UCORNG UCNGU RNCP %27A2 2#4#..'.A')4''A.+/+6A2 /#:A'56A':'%A6+/' 701A211. Oczywiście definiowanie limitów tylko dla jednej grupy nie ma większego sensu, dlatego te konieczne jest utworzenie innych grup. Podobnie jak grupy mo na te defi- niować plany podrzędne. Definicja planu podrzędnego jest podobna do definicji grupy. W poleceniu, zamiast nazwy grupy, podaje się nazwę pod-planu. Do zakończenia definicji planu, podobnego do tego zaprezentowanego na rysunku 5.1, dodaje się kolejne ograniczenia: ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8' 2.#0 UCORNGARNCP )4172A14A57$2.#0 OCTMGVKPI %1//'06 UCORNG OCTMGVKPI RNCP %27A2 2#4#..'.A')4''A.+/+6A2 /#:A'56A':'%A6+/' 701A211. ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8' 2.#0 UCORNGARNCP )4172A14A57$2.#0 JT %1//'06 UCORNG JT RNCP %27A2 2#4#..'.A')4''A.+/+6A2 /#:A'56A':'%A6+/' 701A211.
  • 13. Rozdział 5. ♦ Strojenie wydajności przetwarzania 113 ':'% $/5A4'5174%'A/#0#)'4%4'#6'A2.#0A+4'%6+8' 2.#0 UCORNGARNCP )4172A14A57$2.#0 16*'4A)41725 %1//'06 TGSWKTGF ITQWR %27A2 2#4#..'.A')4''A.+/+6A2 /#:A'56A':'%A6+/' 701A211. Przykładowy sposób rozdzielenia zasobów między cztery grupy przedstawiono na ry- sunku 5.2. Rysunek 5.2. Szczegółowy plan rozdzielenia zasobów pomiędzy cztery grupy Jak wcześniej wspomniano, plan uwzględniany przez system Oracle jest określony w pa- rametrze inicjalizacyjnym, ale parametry te są odczytywane tylko przy starcie instancji. Aby plan mo na było włączyć bezpośrednio po jego utworzeniu (bez zatrzymywania i ponownego uruchamiania instancji), nale y posłu yć się poleceniem #.6'4 5;56'/. Wydanie poni szego polecenia spowoduje natychmiastowe wskazanie planu UCORNGARNCP: 1 #.6'4 5;56'/ 5'6 4'5174%'A/#0#)'4A2.#0 UCORNGARNCP Je eli zachodzi potrzeba wyłączenia mened era zasobów, wykonuje się podobne pole- cenie, zamiast nazwy planu podając wartość 07..: #.6'4 5;56'/ 5'6 4'5174%'A/#0#)'4A2.#0 Polecenie to wyłącza mened era i wprowadza bazę w zwykły tryb pracy. Plany podrzędne mogą być tworzone i podpinane do planów za pomocą tych samych poleceń. Plan podrzędny tworzy się tak samo jak plan zwykły, ale przy specyfikacji ograniczeń definiuje się je dla planu, a nie dla grupy. Jak łatwo sobie to wyobrazić, plan mo e być bardzo skomplikowany. Przykładowy schemat takiego planu zaprezentowano na rysunku 5.3. Zarządzanie zasobami za pomocą grup konsumenckich jest u yteczną metodą, ale jak ka de zaawansowane narzędzie wymaga ostro ności i zwracania szczególnej uwagi na mo liwe niepo ądane skutki. 1 Brakuje tutaj wcześniejszego zatwierdzenia zmian dokonanych w obszarze RGPFKPI CTGC ':'% $/5A4'5174%'A/#0#)'457$/+6A2'0+0)A#4'# — przyp. tłum.
  • 14. 114 Część I ♦ Strojenie instancji Rysunek 5.3. Plan zasobów z podplanami Dodawanie użytkowników do planu Aby umieszczać u ytkowników w grupach, najpierw nadaje się im uprawnienia a następ- nie dodaje się ich do określonej grupy. Dodanie u ytkownika do grupy powoduje, e podczas ka dej swojej nowej sesji korzysta on z limitów tej grupy. Poni ej znajduje się przykładowe polecenie, powodujące przydzielenie u ytkownika UEQVV do grupy UCNGUAITQWR: ':'% $/5A4'5174%'A/#0#)'4A24+85)4#06A59+6%*A%1057/'4A)4172 UEQVV UCNGU 647' ':'% $/5A4'5174%'A/#0#)'45'6A+0+6+#.A%1057/'4A)4172 UEQVV UCNGU Mo na równie , za pomocą procedury 59+6%*A%1057/'4A)4172A(14A5'55, wprowadzić do grupy sesję aktywną. Nale y tylko najpierw określić identyfikator (5+) i numer seryjny przełączanej sesji. ':'% $/5A4'5174%'A/#0#)'459+6%*A%1057/'4A)4172A(14A5'55 UCNGU Identyfikator i numer seryjny sesji mo na uzyskać przeglądając perspektywę 8 5'55+10. Po zdefiniowaniu planu, grup, limitów zasobów i po przydzieleniu u ytkowników do grup mo na przystąpić do dalszej pracy. Uwaga na niepożądane skutki uboczne Stosowanie zaawansowanych metod strojenia jest skomplikowanym zadaniem i może skutkować nieprzewidzianymi konsekwencjami. Należy bardzo uważać wykorzystując takie możliwości. Zaleca się przetestowanie działania zmodyfikowanej konfiguracji na oddzielnym, nieprodukcyj- nym serwerze.
  • 15. Rozdział 5. ♦ Strojenie wydajności przetwarzania 115 Monitorowanie grup konsumenckich Nie ma potrzeby monitorowania grup konsumenckich, aczkolwiek warto zapoznać się z pewnymi informacjami na temat sposobu dystrybuowania zasobów w systemie. Naj- łatwiej mo na to sprawdzić przeglądając perspektywę 8 454%A%1057/'4A)4172. Poni ej zaprezentowano przykładowe zapytanie, które wyszukuje odpowiednie informacje: 5'.'%6 PCOG CEVKXGAUGUUKQPU EQPUWOGFAERWAVKOG SWGWGANGPIVJ (41/ X TUTEAEQPUWOGTAITQWR 0#/' #%6+8'A5'55+105 %1057/'A%27A6+/' 37'7'A.'0)6* 5;5A)4172 16*'4A)41725 .19A)4172 Je eli zbyt du o czasu procesora przydzielono grupie QVJGTAITQWR, nale y do grup przydzielić większą liczbę u ytkowników. Strojenie zasobów użytkownika Strojenie indywidualnych zasobów u ytkownika jest kolejną mo liwością wpływania na wydajność systemu. Robi się to poprzez tworzenie profili i przypisywanie ich poszcze- gólnym u ytkownikom. Ka dy u ytkownik powinien posiadać zdefiniowany profil. Je eli nie zrobiono tego jawnie, to i tak u ytkownikom domyślnie jest przypisywany profil '(#7.6. Poprzez profile tworzy się klasy u ytkowników. Uprawnienia i limity zasobów wyznacza się dla profili, a te z kolei przypisuje się u ytkownikom. Mo na definiować następujące atrybuty profilu: Atrybut Komentarz 5'55+105A2'4A75'4 Liczba sesji, którą ka dy u ytkownik mo e nawiązać jednocześnie. Gdy limit ten zostanie osiągnięty, próba nawiązania nowego połączenia zakończy się wywołaniem błędu. %27A2'4A5'55+10 Limit czasu wyra ony w 1/100 s. Po upływie tego czasu sesja będzie przerywana. %27A2'4A%#.. Limit czasu wyra ony w 1/100s. Tyle czasu mo e trwać ka de odwołanie (ang. call) w sesji. %100'%6A6+/' Całkowity czas połączenia wyra ony w minutach, po upływie którego sesja u ytkownika będzie przerywana. +.'A6+/' Maksymalny czas wyra ony w minutach, w ciągu którego sesja mo e pozostawać nieaktywna. .1)+%#.A4'#5 Limit logicznych odczytów danych dostępnych w ramach jednego odwołania. A2'4A%#.. .1)+%#.A4'#5 Limit logicznych odczytów danych dostępnych w ramach jednej sesji. A2'4A5'55+10 %1/215+6'A.+/+6 Limit kombinacji wa onej kilku zasobów 2. 2 Kombinacja ta jest ustalana za pomocą polecenia #.6'4 4'5174%' %156 — przyp. tłum.
  • 16. 116 Część I ♦ Strojenie instancji W profilu mo na skonfigurować więcej parametrów. Tutaj opisane są tylko te związane z wydajnością i ograniczaniem dostępu do zasobów. Poni ej zaprezentowano przykładowe polecenie tworzenia profilu. %4'#6' 241(+.' UCNGUAWUGT .+/+6 5'55+105A2'4A75'4 %27A2'4A5'55+10 70.+/+6' %27A2'4A%#.. %100'%6A6+/' +.'A6+/' .1)+%#.A4'#5A2'4A5'55+10 '(#7.6 .1)+%#.A4'#5A2'4A%#.. Po utworzeniu profilu mo na przypisać do niego poszczególnych u ytkowników. Wykorzystanie mechanizmu profili do ograniczania ilości dostępnych zasobów dla po- szczególnych sesji jest kolejną metodą strojenia wydajności przetwarzania systemu. Mo e być to u yteczne w wielu sytuacjach. Systemy OLTP Typowy system OLTP składa się z wielu podłączonych u ytkowników, wykonujących liczne, krótkie operacje i ądających uzyskiwania szybkiej odpowiedzi. Ka dy długo trwa- jący proces wsadowy lub du e zapytanie ogranicza wydajność systemu. Dzięki wyko- rzystaniu mechanizmu profili i ograniczeniu długich operacji wydajność całego sys- temu mo e się poprawić. Długie zapytania mogą być wykonywane za pomocą konta u ytkownika, który jako jedyny mo e je wykonywać po godzinach pracy lub pracując na innym systemie. Czas odpowiedzi Profile są wykorzystywane do organizowania środowisk, gdzie są dozwolone tylko pewne typy operacji. Profile składają się z limitów, a zatem skutecznie ograniczają wykonywanie długich operacji, które te limity przekraczają. Mo na przyspieszyć działanie krótkich operacji eliminując z systemu te, które trwają bardzo długo. To mo e ale nie musi zwięk- szyć wydajność systemu, ale na pewno w większości przypadków czas uzyskiwania od- powiedzi będzie krótszy. Przenoszenie niektórych funkcji do innego systemu Innym wspaniałym rozwiązaniem umo liwiającym zwiększenie wydajności przetwa- rzania jest przeniesienie funkcji do innego systemu. Systemy, w których jednocześnie wykonuje się transakcje OLTP i bardzo długie zapytania, mogą być mało wydajne z uwagi na efekt wykonywania długich zapytań. Je eli jest mo liwość pozostawienia wszystkich
  • 17. Rozdział 5. ♦ Strojenie wydajności przetwarzania 117 funkcji OLTP i przeniesienia długich zapytań na inny serwer, mo e to jednocześnie zwięk- szyć wydajność obu systemów. Istnieje wiele sposobów przeprowadzenia takiej operacji w zale ności od indywidualnych potrzeb i mo liwości systemu. W dalszej części niniejszego rozdziału przedstawiono kilka rozwiązań. Dystrybucja raportów historycznych Raporty historyczne, które swoim zakresem obejmują miesiące, a nierzadko lata, często nie muszą uwzględniać danych wygenerowanych przed sekundą. Zazwyczaj takie ra- porty mogą być uruchamiane na starych danych. W takich sytuacjach istnieje kilka spo- sobów na utworzenie serwera raportów. Serwer raportów mo e się opierać na kopiach bezpieczeństwa lub Oracle Data Guard (dawniej znanym jako Standby Database). Raportowanie z użyciem kopii zapasowych W przypadku raportów, które mogą bazować na danych pochodzących sprzed kilku dni, mo na u yć kopii zapasowych, które mogą być odtwarzane na serwerze raportów. W ciągu dnia taki serwer mo e pracować na tych danych wiedząc, e w ciągu nocy zostaną one uaktualnione. Jest to dobra metoda organizowania pracy serwera raportów pod warun- kiem, e rozmiar bazy umo liwia wykonywanie kopii bezpieczeństwa oraz jej zapisywa- nie na serwerze raportowym w ciągu nocy. Takie rozwiązanie ma kilka zalet: właściwy serwer OLTP nie jest przecią any. W większości przypadków takie kopie zapasowe i tak są wykonywane; serwer raportów jest dedykowany specjalnie w celu sporządzania raportów i nie wpływa negatywnie na wydajność serwera OLTP; rozwiązanie to jest bardzo proste i eleganckie. Charakteryzuje się wysoką bezawaryjnością. Metoda wykorzystania kopii zapasowych nie jest odpowiednia dla wszystkich sytuacji. Rozmiar bazy musi umo liwiać wykonywanie kopii zapasowych w ciągu nocy. Procedura ta nie mo e wpływać na wydajność serwera OLTP. Dodatkowo, funkcje raportujące mogą tylko odczytywać dane, poniewa ka dej nocy dane i tak są odtwarzane od nowa. Raportowanie z użyciem Data Guard Zasada działania raportowania z zastosowaniem systemów Data Guard lub Automated Standby-Database jest podobna do tej omówionej poprzednio. Ró nica polega na tym, e dane są bardziej aktualne. Wymaga to od serwera raportów ciągłego odczytywania danych. Pochodzą one z archiwalnych plików dziennika powtórzeń i serwer odczytuje je w miarę ich generowania. Taki serwer raportowy będzie zawsze nieco opóźniony w sto- sunku do systemu OLTP, ale dla większości zastosowań takie opóźnienia są dopuszczalne. Podobnie jak w przypadku raportowania z zastosowaniem kopii zapasowych mo na wy- szczególnić kilka zalet omawianego rozwiązania:
  • 18. 118 Część I ♦ Strojenie instancji obcią enie głównego serwera OLTP wzrasta tylko nieznacznie. Generowanie archiwalnych plików dziennika zachodzi niezale nie od dalszych losów tych plików3; serwer raportów jest dedykowany specjalnie do generowania raportów i nie obni a wydajności serwera OLTP; dodatkową korzyścią jest ochrona systemu OLTP przed awariami — system Data Guard powstał właśnie w tym celu; wdro enie tego rozwiązania jest nieco bardziej skomplikowane w porównaniu do omówionego poprzednio, ale jest to tylko niewielki wzrost trudności. Nale y jednak mieć na uwadze, e takie rozwiązanie nie będzie odpowiednie w ka dej sytuacji, ale tym razem nie istnieje konieczność sporządzania kopii bezpieczeństwa ka dej nocy. Dodatkowo funkcje raportujące muszą znajdować się w trybie tylko do odczytu, po- niewa system i tak jest ciągle zasilany nowymi danymi. Powy sze rozwiązania są dobre w systemach, gdzie konieczne jest wykonywanie rapor- tów historycznych. Jeśli natomiast konieczne jest sporządzanie raportów na podstawie danych bie ących, trzeba wdro yć inne rozwiązania. Dystrybucja bieżących raportów Raporty bie ące są raportami, których rezultat musi być otrzymywany w jak najkrótszym terminie. Takie raporty wykonują się dłu ej ni normalne transakcje OLTP, a do ich sporządzenia są konieczne najświe sze dane. W przypadku potrzeby generowania takich raportów jedynym rozwiązaniem wydaje się być replikacja. Rozwiązanie to daje zwłokę serwera raportów rzędu zaledwie paru sekund w stosunku do serwera głównego OLTP. Proces replikacji pozwala na ciągły przesył danych z serwera głównego do raportowego, utrzymując obydwa w ścisłej synchronizacji. W specyficznych sytuacjach, jeśli dane serwera raportowego miałyby być modyfikowane, mo na zastosować technikę replikacji wielobazowej (ang. multi-master replication). Taka replikacja pozwala wielu systemom działać jako baza podstawowa, a dane są wtedy przesyłane do pozostałych „kopii”. Obsługa rozproszenia w aplikacjach Po przeniesieniu raportów na inny serwer nale y jeszcze zmodyfikować aplikację, tak aby mo liwe było odszukiwanie wygenerowanych raportów. W tym celu mo na dokonać zmian bezpośrednio w kodzie aplikacji. Innym sposobem jest utworzenie specjalnej tabeli, w której pojawiłyby się wpisy dotyczące miejsca lokalizacji danego raportu. Ko- rzystając z takiej tabeli łatwo jest rozproszyć wykonywanie raportów pomiędzy kilka serwerów lub wykonywać te raporty na serwerze głównym OLTP, jeśli tamte akurat nie pracują. Zastosowanie tej tabeli jest rozwiązaniem elastycznym. 3 Tylko je eli baza pracuje w trybie #4%*+8'.1) — przyp. tłum.
  • 19. Rozdział 5. ♦ Strojenie wydajności przetwarzania 119 Podsumowanie W niniejszym rozdziale zaprezentowano najczęściej spotykany rodzaj strojenia: stro- jenie przetwarzania. Nie jest rzadkością wykorzystywanie wielu z prezentowanych tutaj rozwiązań, w zale ności od rodzaju funkcji spełnianych przez serwer. Rozwią- zaniami opisanymi w tym rozdziale są: wykorzystanie grup konsumenckich i mened era zasobów; wykorzystanie profili u ytkowników; wykorzystanie rozproszenia systemu. Prawdopodobnie ka dy administrator wykonuje takie zadanie w inny sposób, ale za- sada działania jest taka sama: nale y dą yć do ograniczenia wykonywania pewnych zadań, tak aby pozostałe otrzymały więcej zasobów i mogły się wykonywać bardziej efektywnie. W następnych rozdziałach przedstawiono bardziej tradycyjne metody ba- dania statystyk wydajnościowych.