SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   Oracle 9i. Podrêcznik
                                         administratora baz danych
           KATALOG KSI¥¯EK
                                         Autorzy: Kevin Looney, Marlene Theriault
                      KATALOG ONLINE     T³umaczenie: Bart³omiej Garbacz, S³awomir Dzieniszewski
                                         ISBN: 83-7361-063-4
       ZAMÓW DRUKOWANY KATALOG           Tytu³ orygina³u: Oracle9i DBA Handbook
                                         Format: B5, stron: 1016

              TWÓJ KOSZYK
                                         Jak sprawiæ, aby najwa¿niejsze firmowe systemy internetowe i e-biznesowe by³y
                    DODAJ DO KOSZYKA     wszechstronne, bezpieczne i ³atwo dostêpne? Wydana przez Helion, a pierwotnie przez
                                         wydawnictwo OraclePress ksi¹¿ka „Oracle9i. Podrêcznik administratora baz danych”
                                         odpowiada na te pytania, wyja niaj¹c, jak przygotowaæ i obs³ugiwaæ rozbudowan¹
         CENNIK I INFORMACJE             i intensywnie wykorzystywan¹ bazê danych oraz jak wykorzystaæ w pe³ni nowe
                                         narzêdzia i mo¿liwo ci, których dostarcza Oracle9i.
                   ZAMÓW INFORMACJE      Kevin Looney i Marie Thieriault, dwoje znakomitych ekspertów w dziedzinie Oracle,
                     O NOWO CIACH        opisuj¹ tutaj podstawy dzia³ania systemu i dostarczaj¹ licznych, zaczerpniêtych z ¿ycia
                                         przyk³adów oraz prezentuj¹ wiele u¿ytecznych technik u³atwiaj¹cych obs³ugê systemu
                       ZAMÓW CENNIK      Oracle. Ksi¹¿k¹ ta jest niezbêdn¹ pozycj¹ w bibliotece ka¿dego administratora baz
                                         danych Oracle.

                 CZYTELNIA               Wewn¹trz miêdzy innymi:
                                            • Tworzenie i konfigurowanie bazy danych z wykorzystaniem narzêdzia Database
          FRAGMENTY KSI¥¯EK ONLINE            Configuration Assistant systemu Oracle9i
                                            • Monitorowanie i strojenie pamiêci, wykorzystania plików, transakcji oraz zapytañ
                                            • Implementowanie w systemie segmentów wycofania lub automatycznego
                                              zarz¹dzania wycofywanymi danymi wprowadzonego w Oracle9i
                                            • Sposoby przenoszenia aplikacji oraz zmieniania otwartych tabel bazy danych
                                            • Diagnozowanie i optymalizacja dzia³ania systemu z pomoc¹ pakietu STATSPACK
                                            • Implementowanie jak najlepszych procedur bezpieczeñstwa i obserwacja
                                              bazy danych
                                            • Automatyzacja procedur tworzenia rezerwowych kopii korzystaj¹c
                                              z programu RMAN
                                            • Wykorzystanie partycjonowania do radzenia sobie z wielkimi bazami danych
                                            • Rozdzielanie zadañ i danych pomiêdzy ró¿ne serwery dzia³aj¹ce w sieci
Wydawnictwo Helion
                                              korzystaj¹c z Oracle Net
ul. Chopina 6
44-100 Gliwice                              • Korzystanie z serwera aplikacji Oracle9iAS, który pozwalaj¹ na poprawienie
tel. (32)230-98-63                            wszechstronno ci i dostêpno ci bazy danych oraz na ³atwiejsze jej rozbudowê
e-mail: helion@helion.pl
Spis treści
             O Autorach............................................................................................15
             Wstęp ...................................................................................................17

Część I      Architektura bazy danych......................................................19
Rozdział 1. Wprowadzenie do architektury systemu Oracle .......................................21
             Bazy danych i instancje ................................................................................................. 22
                 Bazy danych ........................................................................................................... 22
                 Inne pliki ................................................................................................................ 23
                 Mechanizm Oracle Managed Files ............................................................................ 25
                 Instancje................................................................................................................. 26
             Instalacja oprogramowania............................................................................................. 27
                 Opcje i komponenty instalacji systemu Oracle............................................................ 28
             Tworzenie bazy danych ................................................................................................. 30
                 Korzystanie z narzędzia Oracle Database Configuration Assistant................................ 31
                 Konfiguracja parametrów inicjalizacji: pamięć ........................................................... 36
                 Samodzielne tworzenie bazy danych ......................................................................... 47
             Procesy drugoplanowe ................................................................................................... 48
             Wewnętrzne struktury bazy danych ................................................................................ 52
                 Tabele, kolumny oraz typy danych............................................................................ 53
                 Ograniczenia........................................................................................................... 55
                 Abstrakcyjne typy danych ........................................................................................ 57
                 Partycje i podpartycje .............................................................................................. 58
                 U ytkownicy........................................................................................................... 59
                 Schematy................................................................................................................ 59
                 Indeksy .................................................................................................................. 60
                 Klastry ................................................................................................................... 61
                 Klastry haszowane................................................................................................... 62
                 Perspektywy ........................................................................................................... 62
                 Sekwencje .............................................................................................................. 63
                 Procedury............................................................................................................... 64
                 Funkcje .................................................................................................................. 64
                 Pakiety ................................................................................................................... 64
                 Wyzwalacze............................................................................................................ 65
                 Synonimy ............................................................................................................... 66
                 Uprawnienia i role ................................................................................................... 66
                 Powiązania baz danych ............................................................................................ 67
                 Segmenty, obszary i bloki ........................................................................................ 68
                 Segmenty odwołania i wycofania .............................................................................. 69
6          Oracle9i. Podręcznik administratora baz danych


                    Perspektywy materializowane................................................................................... 70
                    Obszary kontekstowe............................................................................................... 70
                    Globalny obszar programu (PGA)............................................................................. 70
                    Archiwizacja i odtwarzanie ...................................................................................... 71
                    Mo liwości zabezpieczenia systemu.......................................................................... 73
                    U ycie narzędzia Oracle Enterprise Manager (OEM).................................................. 75
Rozdział 2. Konfiguracja sprzętowa..........................................................................77
               Przegląd architektury ..................................................................................................... 77
               Autonomiczne hosty...................................................................................................... 78
                   Autonomiczny host z zestawem dysków.................................................................... 79
                   Autonomiczny host z opcją powielania dysku ............................................................ 82
                   Autonomiczny host z wieloma bazami danych ........................................................... 84
               Hosty sieciowe.............................................................................................................. 85
                   Połączone bazy danych............................................................................................ 86
                   Zdalna modyfikacja danych — zaawansowana opcja replikacji.................................... 88
                   Konfiguracja Real Application Clusters ..................................................................... 90
                   Konfiguracje wieloprocesorowe: opcje równoległego przetwarzania zapytań
                    oraz równoległego ładowania danych...................................................................... 92
                   Aplikacje typu klient-serwer..................................................................................... 93
                   Architektura trójwarstwowa ..................................................................................... 94
                   Dostęp poprzez Oracle Enterprise Gateway ............................................................... 95
                   Rezerwowe bazy danych (typu Standby) ................................................................... 96
                   Replikowane bazy danych........................................................................................ 97
                   Dostęp do plików zewnętrznych ............................................................................... 98
                   Dostęp do tabel zewnętrznych .................................................................................. 99
Rozdział 3. Logiczny układ bazy danych .................................................................101
               Produkt końcowy ........................................................................................................ 101
               OFA (optymalna elastyczna architektura) ...................................................................... 102
                  Punkt startowy — przestrzeń tabel SYSTEM........................................................... 102
                  Oddzielenie segmentów danych — przestrzeń tabel DATA ....................................... 103
                  Przestrzenie tabel zarządzane lokalnie ..................................................................... 104
                  Oddzielenie rzadziej u ywanych segmentów danych — przestrzeń tabel DATA_2...... 104
                  Oddzielenie segmentów indeksowych — przestrzeń tabel INDEXES......................... 105
                  Oddzielenie mniej u ywanych indeksów — przestrzeń tabel INDEXES_2 ................. 107
                  Oddzielenie segmentów dla narzędzi — przestrzeń tabel TOOLS .............................. 107
                  Oddzielenie indeksów dla narzędzi — przestrzeń tabel TOOLS_I.............................. 108
                  Oddzielenie segmentów wycofania — przestrzeń tabel RBS ..................................... 108
                  Oddzielenie specjalnych segmentów wycofania — przestrzeń tabel RBS_2 ................ 109
                  U ywanie przestrzeni odwołania............................................................................. 109
                  Oddzielenie segmentów tymczasowych — przestrzeń tabel TEMP ............................ 110
                  Oddzielenie specyficznych segmentów tymczasowych
                    — przestrzeń tabel TEMP_USER......................................................................... 111
                  Oddzielenie u ytkowników — przestrzeń tabel USERS ............................................ 112
                  Dodatkowe typy przestrzeni tabel ........................................................................... 112
                  Zaawansowane typy przestrzeni tabel...................................................................... 113
               Logiczny podział bazy danych a jej funkcjonalność ....................................................... 114
               Rozwiązania ............................................................................................................... 115
Rozdział 4. Fizyczny układ bazy danych..................................................................119
               Fizyczny układ plików bazy danych.............................................................................. 119
                   Rywalizacja operacji wejścia-wyjścia o pliki danych ................................................ 120
                   Wąskie gardła dla operacji wejścia-wyjścia we wszystkich plikach bazy danych ......... 123
                   Współbie ne operacje wejścia-wyjścia procesów drugoplanowych ............................ 125
Spis treści                   7


                  Określanie celów dotyczących odtwarzalności i wydajności systemu ......................... 126
                  Określanie architektury sprzętowej oraz architektury powielania danych .................... 127
                  Określenie dysków przeznaczonych do u ycia w bazie danych.................................. 128
                  Wybór właściwego układu ..................................................................................... 129
              Weryfikacja przybli onych wartości obcią enia związanego z operacjami wejścia-wyjścia... 132
              Rozwiązania ............................................................................................................... 134
                  Układ dla małej bazy wykorzystywanej przez programistów ..................................... 134
                  Układ dla produkcyjnej bazy danych typu OLTP ..................................................... 135
                  Układ dla produkcyjnej bazy danych typu OLTP zawierającej dane archiwalne........... 136
                  Układ dla hurtowni danych..................................................................................... 136
              Poło enie plików......................................................................................................... 139
              Wykorzystanie przestrzeni przez bazę danych................................................................ 139
                  Znaczenie klauzuli składowania.............................................................................. 141
                  Przestrzenie tabel zarządzane lokalnie ..................................................................... 141
                  Segmenty tabel...................................................................................................... 143
                  Segmenty indeksów ............................................................................................... 144
                  Segmenty wycofania.............................................................................................. 145
                  Segmenty tymczasowe........................................................................................... 145
                  Wolna przestrzeń................................................................................................... 146
              Zmiana rozmiaru plików danych................................................................................... 148
                  Automatyczne rozszerzanie plików danych.............................................................. 148
              Przenoszenie plików bazy danych................................................................................. 149
                  Przenoszenie plików danych................................................................................... 149
                  Przenoszenie plików danych za pomocą pakietu Oracle Enterprise Manager ............... 152
                  Przenoszenie plików czynnego dziennika powtórzeń ................................................ 157
                  Przenoszenie plików sterujących............................................................................. 157
              Zwalnianie przestrzeni przydzielonej segmentom danych................................................ 158
                  Odzyskiwanie wolnej przestrzeni z plików danych ................................................... 158
                  Odzyskiwanie wolnej przestrzeni z tabel, klastrów oraz indeksów ............................. 159
                  Przebudowywanie indeksów................................................................................... 161
                  Przebudowywanie indeksów na bie ąco .................................................................. 162
              Wykorzystanie mechanizmu Oracle Managed Files (OMF)............................................. 162
                  Konfigurowanie środowiska ................................................................................... 163
                  Tworzenie plików OMF ......................................................................................... 163
                  Konserwacja plików OMF...................................................................................... 165
              Fizyczne dopasowanie ................................................................................................. 165

Część II      Zarządzanie bazą danych ....................................................167
Rozdział 5. Zarządzanie procesem tworzenia aplikacji ............................................169
              Trzy podstawowe warunki powodzenia ......................................................................... 169
              Prawidłowa współpraca ............................................................................................... 170
              Proces zarządzania ...................................................................................................... 171
                 Definiowanie środowiska ....................................................................................... 171
                 Definicje ról.......................................................................................................... 172
                 Zadania ................................................................................................................ 174
                 Zarządzanie zasobami i składowane plany wykonania............................................... 177
                 Rozmiary obiektów bazy danych ............................................................................ 184
                 Tworzenie iteracyjne ............................................................................................. 208
                 Iteracyjne definicje kolumn .................................................................................... 208
                 Przenoszenie tabel przy otwartej bazie danych ......................................................... 209
                 Wymuszanie współu ytkowania kursorów............................................................... 211
              Technologia................................................................................................................ 212
                 Narzędzia typu CASE ............................................................................................ 212
                 Katalogi współu ytkowane..................................................................................... 213
8          Oracle9i. Podręcznik administratora baz danych


                   Bazy danych kontroli projektu ................................................................................ 213
                   Dyskusyjne bazy danych........................................................................................ 213
               Zarządzanie pakietami ................................................................................................. 213
                   Tworzenie diagramów............................................................................................ 214
                   Wymagania dotyczące przestrzeni........................................................................... 214
                   Cele strojenia ........................................................................................................ 214
                   Wymagania związane z ochroną danych.................................................................. 214
                   Wymagania związane z obsługą danych .................................................................. 215
                   Wymagania związane z wersjami............................................................................ 215
                   Plany wykonania ................................................................................................... 215
                   Procedury testów przyjęcia..................................................................................... 216
                   Obszar testowania ................................................................................................. 216
               Zarządzanie środowiskiem ........................................................................................... 217
Rozdział 6. Monitorowanie wykorzystania przestrzeni .............................................219
               Najczęściej spotykane przyczyny problemów ................................................................ 219
                  Brak wolnego miejsca w przestrzeni tabel................................................................ 220
                  Niewystarczająca przestrzeń dla segmentów tymczasowych ...................................... 221
                  Osiągnięcie maksymalnych rozmiarów przez segmenty wycofania............................. 221
                  Fragmentacja segmentów danych............................................................................ 222
                  Fragmentacja wolnej przestrzeni ............................................................................. 223
                  Niewłaściwie dobrane rozmiary obszarów SGA ....................................................... 223
               Wybór celów monitorowania........................................................................................ 224
               Produkt końcowy ........................................................................................................ 224
               Utworzenie bazy monitorującej, będącej centrum dowodzenia ........................................ 228
                  Zbieranie danych................................................................................................... 231
                  Generowanie raportów ostrze eń ............................................................................ 237
                  Raport sumaryczny dotyczący przestrzeni................................................................ 240
                  Usuwanie danych .................................................................................................. 243
               Monitorowanie struktur pamięciowych.......................................................................... 244
               Dodatkowe alerty i ostrze enia ..................................................................................... 244
                  Operacje wejścia-wyjścia na plikach bazy danych .................................................... 245
                  Tempo przydziału przestrzeni w obiektach............................................................... 249
               Dobrze zarządzana baza danych ................................................................................... 252
Rozdział 7. Zarządzanie transakcjami ....................................................................253
               Przegląd segmentów wycofania .................................................................................... 253
                   Wykorzystanie segmentów wycofania przez bazę danych ......................................... 254
                   Aktywowanie segmentów wycofania....................................................................... 257
                   Określenie segmentu wycofania transakcji ............................................................... 259
               Wykorzystanie przestrzeni wewnątrz segmentów wycofania ........................................... 259
                   Optymalna klauzula składowania ............................................................................ 262
               Monitorowanie wykorzystania segmentu wycofania ....................................................... 264
                   Zmniejszanie segmentów wycofania ....................................................................... 265
                   Monitorowanie bie ącego statusu............................................................................ 265
                   Monitorowanie dynamicznych rozszerzeń................................................................ 266
                   Transakcje przypadające na segment wycofania ....................................................... 269
                   Rozmiary danych w segmentach wycofania ............................................................. 269
               Wykorzystanie pakietu Oracle Enterprise Manager do zarządzania segmentami wycofania... 270
                   Tworzenie segmentu wycofania za pomocą pakietu OEM ......................................... 270
                   Tworzenie segmentu wycofania o właściwościach istniejącego segmentu wycofania ... 273
                   Nadawanie segmentowi wycofania statusu online..................................................... 273
                   Nadawanie segmentowi wycofania statusu offline .................................................... 274
                   Usuwanie segmentu wycofania ............................................................................... 274
Spis treści                   9


               Określenie liczby i rozmiaru segmentów wycofania ....................................................... 274
                  Wielkość rekordu transakcji ................................................................................... 275
                  Liczba transakcji ................................................................................................... 276
                  Wyznaczenie optymalnego rozmiaru ....................................................................... 276
                  Tworzenie segmentów wycofania ........................................................................... 277
                  Produkcyjne segmenty wycofania a segmenty wycofania
                    związane z procesem ładowania danych ................................................................ 278
               Rozwiązania ............................................................................................................... 279
                  Aplikacje OLTP.................................................................................................... 279
                  Hurtownie danych i aplikacje wsadowe ................................................................... 280
               Korzystanie z przestrzeni odwołania ............................................................................. 281
                  Ustawianie wstrzymywania odwoływanych danych.................................................. 282
                  Tworzenie przestrzeni odwołania ............................................................................ 282
                  Monitorowanie przestrzeni odwołania ..................................................................... 283
                  Zasady stosowania przestrzeni odwołania ................................................................ 283
Rozdział 8. Strojenie bazy danych..........................................................................285
               Strojenie projektu aplikacji........................................................................................... 285
                   Efektywny projekt tabeli ........................................................................................ 286
                   Podział zasobów procesora..................................................................................... 287
                   Efektywny projekt aplikacji.................................................................................... 289
               Strojenie kodu SQL..................................................................................................... 290
                   Wpływ uporządkowania na tempo ładowania........................................................... 292
                   Dodatkowe opcje indeksowania .............................................................................. 293
                   Generowanie planów wykonania............................................................................. 295
               Strojenie wykorzystywania pamięci .............................................................................. 298
                   Definiowanie rozmiaru obszaru SGA ...................................................................... 302
                   U ycie optymalizatora kosztowego ......................................................................... 303
               Strojenie przechowywania danych ................................................................................ 305
                   Defragmentacja segmentów.................................................................................... 306
                   Szacowanie wykorzystania indeksów ...................................................................... 309
                   Przestrzenie tabel zarządzane lokalnie ..................................................................... 310
                   Defragmentacja wolnych obszarów ......................................................................... 311
                   Identyfikowanie wierszy rozdzielonych ................................................................... 314
                   Zwiększenie rozmiaru bloku Oracle ........................................................................ 315
                   Korzystanie z tabel indeksowych ............................................................................ 316
               Strojenie manipulacji danymi ....................................................................................... 318
                   Wstawienia masowe — wykorzystanie opcji bezpośredniego ładowania
                     programu SQL*Loader ........................................................................................ 318
                   Wstawienia masowe — praktyczne porady.............................................................. 321
                   Usunięcia masowe: polecenie truncate..................................................................... 323
                   Partycje................................................................................................................ 324
               Strojenie pamięci fizycznej .......................................................................................... 324
                   Stosowanie urządzeń bezpośrednich........................................................................ 325
                   Stosowanie macierzy RAID i powielanie dysków..................................................... 325
               Strojenie pamięci logicznej .......................................................................................... 325
               Zredukowanie ruchu w sieci ......................................................................................... 326
                   Dane replikacji ...................................................................................................... 326
                   Zastosowanie wywołań odległych procedur ............................................................. 332
               Wykorzystanie programu OEM oraz pakietów strojenia wydajności ................................ 334
                   Pakiet Oracle Expert .............................................................................................. 334
                   Opcja mened era wydajności Performance Manager ................................................ 337
               Rozwiązania strojenia .................................................................................................. 340
10        Oracle9i. Podręcznik administratora baz danych


Rozdział 9. Korzystanie z pakietu STATSPACK .......................................................343
              Instalowanie pakietu STATSPACK .............................................................................. 343
                  Zabezpieczenia konta PERFSTAT.......................................................................... 344
                  Po instalacji .......................................................................................................... 344
                  Zbieranie statystyk ................................................................................................ 345
                  Uruchamianie raportów statystycznych ................................................................... 348
                  Zarządzanie danymi zebranymi przez STATSPACK ................................................ 351
                  Odinstalowanie pakietu STATSPACK .................................................................... 352
Rozdział 10. Zabezpieczenie i monitorowanie bazy danych........................................353
              Mo liwości zabezpieczenia .......................................................................................... 353
                 Zabezpieczenie konta............................................................................................. 354
                 Uprawnienia obiektowe.......................................................................................... 354
                 Uprawnienia i role systemowe ................................................................................ 354
              Wdra anie zabezpieczeń .............................................................................................. 355
                 Punkt wyjścia: zabezpieczenie systemu operacyjnego ............................................... 355
                 Tworzenie u ytkowników ...................................................................................... 355
                 Usuwanie u ytkowników ....................................................................................... 359
                 Uprawnienia systemowe ........................................................................................ 359
                 Profile u ytkownika............................................................................................... 363
                 Zarządzanie hasłem ............................................................................................... 365
                 Uniemo liwianie ponownego zastosowania hasła ..................................................... 367
                 Ustawienie zło oności haseł ................................................................................... 368
                 Wiązanie kont bazy danych z kontami hosta ............................................................ 373
                 Wykorzystanie pliku haseł do identyfikacji .............................................................. 376
                 Ochrona za pomocą haseł....................................................................................... 377
                 Uprawnienia obiektowe.......................................................................................... 378
                 Wykazy uprawnień................................................................................................ 382
              Ograniczanie dostępnych poleceń za pomocą tabel Product User Profile .......................... 384
              Zabezpieczenie hasła podczas logowania....................................................................... 385
              Szyfrowanie haseł zwiększa mo liwości kontroli ........................................................... 386
                 Składowanie haseł ................................................................................................. 386
                 Ustawianie niemo liwych haseł .............................................................................. 386
                 Przejmowanie konta innego u ytkownika ................................................................ 387
              Wirtualne Prywatne Bazy Danych ................................................................................ 391
                 Tworzenie bazy VPD ............................................................................................ 392
              Obserwacja................................................................................................................. 398
                 Obserwacja logowania ........................................................................................... 399
                 Obserwacja działań................................................................................................ 399
                 Obserwacja obiektów............................................................................................. 401
                 Ochrona zapisu obserwacji ..................................................................................... 403
              Zabezpieczenie w środowisku rozproszonym................................................................. 403
              Rozwiązania ............................................................................................................... 404
Rozdział 11. Procedury tworzenia kopii zapasowych i odtwarzania danych.................405
              Mo liwości................................................................................................................. 405
              Logiczne kopie zapasowe............................................................................................. 406
                  Programy Export i Import ...................................................................................... 406
              Fizyczne kopie zapasowe ............................................................................................. 407
                  Kopie zapasowe zamkniętych plików danych........................................................... 407
                  Kopie zapasowe otwartych plików danych............................................................... 408
              Wdro enia .................................................................................................................. 409
                  Eksportowanie ...................................................................................................... 409
                  Importowanie........................................................................................................ 418
                  Kopie zapasowe zamkniętych plików danych........................................................... 424
Spis treści                11


                   Kopie zapasowe otwartych plików danych............................................................... 426
                   U ywanie programu LogMiner ............................................................................... 438
                   Rezerwowe bazy danych (typu standby).................................................................. 446
               Integracja procedur wykonywania kopii zapasowych...................................................... 448
                   Integracja logicznych i fizycznych kopii zapasowych ............................................... 448
                   Integracja operacji wykonywania kopii zapasowych bazy danych
                     i systemu operacyjnego........................................................................................ 450
Rozdział 12. Wykorzystanie narzędzia Recovery Manager (RMAN)............................453
               Ogólne informacje na temat narzędzia Recovery Manager .............................................. 453
                   Architektura narzędzia Recovery Manager............................................................... 455
                   Korzystanie z narzędzia Recovery Manager i programu RMAN................................. 459
                   U ywanie narzędzia OEM Backup Manager ............................................................ 465
                   Odtwarzanie za pomocą narzędzia OEM ................................................................. 474
                   Generowanie list i raportów.................................................................................... 479
               Zalecenia odnośnie wykorzystania programu RMAN ..................................................... 482

Część III System Oracle w sieci ........................................................487
Rozdział 13. Narzędzie Oracle Net............................................................................489
               Ogólne wiadomości na temat Oracle Net ....................................................................... 489
                   Deskryptory połączeń ............................................................................................ 493
                   Nazwy usług ......................................................................................................... 494
                   Zastąpienie pliku tnsnames.ora narzędziem Oracle Internet Directory......................... 494
                   Procesy nasłuchujące ............................................................................................. 495
                   Procesy nasłuchujące w systemie Oracle9i............................................................... 496
               Stosowanie narzędzia Oracle Net Configuration Assistant............................................... 498
                   Konfigurowanie procesu nasłuchującego ................................................................. 499
               Stosowanie narzędzia Oracle Net Manager .................................................................... 505
                   Narzędzie Oracle Connection Manager.................................................................... 507
                   Stosowanie narzędzia Connection Manager.............................................................. 508
                   Nazewnictwo katalogów w Oracle Internet Directory................................................ 511
                   U ywanie serwera Oracle Names............................................................................ 514
               Uruchamianie procesu nasłuchującego serwera .............................................................. 515
               Kontrolowanie procesu nasłuchującego serwera............................................................. 517
               Przykład zastosowania — aplikacje klient-serwer........................................................... 519
               Przykład zastosowania — powiązania baz danych.......................................................... 519
               Przykład zastosowania — polecenie copy...................................................................... 521
               Serwer Oracle Names a konfiguracje klienta lub serwery katalogowe............................... 523
               Strojenie interfejsu Oracle Net...................................................................................... 524
               System Unix i Oracle Net............................................................................................. 525
                   Identyfikacja hostów.............................................................................................. 526
                   Identyfikacja baz danych........................................................................................ 526
                   Rozwiązywanie problemów z połączeniami ............................................................. 527
Rozdział 14. Strojenie serwera 9iAS ........................................................................529
               Uruchamianie, zatrzymywanie oraz ponowne uruchamianie serwera iAS (Apache) ........... 530
               Strojenie serwera Apache oraz protokołu TCP ............................................................... 532
                   Zwiększanie poziomu bezpieczeństwa instalacji serwera Apache............................... 533
               Strojenie konfiguracji serwera Oracle HTTP Server ....................................................... 534
               Korzystanie z usług Oracle Caching.............................................................................. 535
               Oracle Web Cache ...................................................................................................... 535
                   Korzystanie z Oracle Web Cache............................................................................ 536
                   Oracle Web Cache Manager ................................................................................... 537
12         Oracle9i. Podręcznik administratora baz danych


                  Uniewa nianie buforowanych dokumentów............................................................. 550
                  Równowa enie obcią enia pomiędzy serwerami aplikacji ......................................... 552
               Oracle9iAS Database Cache......................................................................................... 553
                  Sposób działania Database Cache ........................................................................... 553
                  Wykorzystywanie Oracle9iAS Database Cache........................................................ 555
Rozdział 15. Zarządzanie dużymi bazami danych.......................................................557
               Konfiguracja środowiska.............................................................................................. 557
                   Ustalanie rozmiarów du ych baz danych ................................................................. 558
                   Ustalanie rozmiarów obszarów wspomagania........................................................... 563
                   Wybór układu fizycznego....................................................................................... 564
                   Partycje................................................................................................................ 565
                   Tworzenie perspektyw materializowanych............................................................... 574
                   Tworzenie i zarządzanie tabelami indeksowymi ....................................................... 575
                   Tworzenie i zarządzanie tabelami zewnętrznymi ...................................................... 576
                   Tworzenie i zarządzanie globalnymi tabelami tymczasowymi.................................... 577
                   Tworzenie i zarządzanie indeksami bitmapowymi .................................................... 577
               Zarządzanie transakcjami ............................................................................................. 579
                   Konfigurowanie środowiska transakcji wsadowych .................................................. 580
                   Ładowanie danych................................................................................................. 582
                   Wstawianie danych................................................................................................ 583
                   Usuwanie danych .................................................................................................. 584
               Kopie zapasowe .......................................................................................................... 587
                   Określenie potrzeb i strategii wykonywania kopii zapasowych .................................. 587
                   Opracowanie planu wykonywania kopii zapasowych ................................................ 589
               Strojenie..................................................................................................................... 590
                   Strojenie zapytań wobec du ych tabel ..................................................................... 591
               Stosowanie przenośnych przestrzeni tabel...................................................................... 593
                   Generowanie zestawu przenośnych przestrzeni tabel................................................. 594
                   Podłączanie zestawu przenośnych przestrzeni tabel .................................................. 595
               Przestrzenie tabel zarządzane lokalnie ........................................................................... 596
Rozdział 16. Zarządzanie rozproszonymi bazami danych............................................599
               Odległe zapytania........................................................................................................ 600
               Operacje na odległych danych — zatwierdzanie dwufazowe ........................................... 601
               Dynamiczna replikacja danych ..................................................................................... 602
               Zarządzanie danymi rozproszonymi .............................................................................. 603
                   Infrastruktura — wymuszenie przezroczystości lokalizacji ........................................ 604
                   Zarządzanie powiązaniami baz danych .................................................................... 609
                   Zarządzanie wyzwalaczami baz danych................................................................... 611
                   Zarządzanie perspektywami materializowanymi....................................................... 613
                   U ywanie narzędzia OEM w celu tworzenia perspektyw materializowanych............... 625
               Zarządzanie transakcjami rozproszonymi ...................................................................... 631
                   Rozwiązywanie nierozstrzygniętych transakcji rozproszonych................................... 631
               Monitorowanie rozproszonych baz danych ....................................................................... 633
               Strojenie rozproszonych baz danych ............................................................................. 634
               Stosowanie kolejek zadań ............................................................................................ 637
                   Zarządzanie zadaniami........................................................................................... 638

Dodatki ...............................................................................................641
Dodatek A Zestawienie poleceń SQL dla administratorów baz danych ....................643
                    ALTER DATABASE ............................................................................................ 643
                    ALTER INDEX .................................................................................................... 665
                    ALTER MATERIALIZED VIEW .......................................................................... 679
Spis treści                 13


                    ALTER MATERIALIZED VIEW LOG .................................................................. 688
                    ALTER OUTLINE................................................................................................ 692
                    ALTER PROFILE ................................................................................................ 693
                    ALTER ROLE...................................................................................................... 694
                    ALTER ROLLBACK SEGMENT.......................................................................... 695
                    ALTER SEQUENCE ............................................................................................ 697
                    ALTER SYSTEM................................................................................................. 699
                    ALTER TABLE.................................................................................................... 708
                    ALTER TABLESPACE......................................................................................... 759
                    ALTER TRIGGER................................................................................................ 765
                    ALTER USER ...................................................................................................... 767
                    ASSOCIATE STATISTICS................................................................................... 770
                    AUDIT................................................................................................................. 773
                    CREATE CONTROLFILE .................................................................................... 780
                    CREATE DATABASE.......................................................................................... 784
                    CREATE DATABASE LINK ................................................................................ 792
                    CREATE DIRECTORY ........................................................................................ 794
                    CREATE INDEX.................................................................................................. 795
                    CREATE LIBRARY ............................................................................................. 810
                    CREATE MATERIALIZED VIEW ........................................................................ 811
                    CREATE MATERIALIZED VIEW LOG................................................................ 824
                    CREATE OUTLINE ............................................................................................. 828
                    CREATE PFILE ................................................................................................... 831
                    CREATE PROFILE .............................................................................................. 832
                    CREATE ROLE ................................................................................................... 836
                    CREATE ROLLBACK SEGMENT ....................................................................... 837
                    CREATE SEQUENCE .......................................................................................... 839
                    CREATE SPFILE ................................................................................................. 842
                    CREATE SYNONYM........................................................................................... 844
                    CREATE TABLE ................................................................................................. 846
                    CREATE TABLESPACE ...................................................................................... 881
                    CREATE TEMPORARY TABLESPACE ............................................................... 888
                    CREATE TRIGGER ............................................................................................. 890
                    CREATE USER.................................................................................................... 898
                    CREATE VIEW.................................................................................................... 901
                    EXPLAIN PLAN .................................................................................................. 907
                    GRANT ............................................................................................................... 909
                    klauzula_składowania ............................................................................................ 924
                    klauzula_warunku ................................................................................................. 929
                    NOAUDIT ........................................................................................................... 944
                    RENAME............................................................................................................. 946
                    REVOKE ............................................................................................................. 947
                    SET CONSTRAINT[S] ......................................................................................... 952
                    SET ROLE ........................................................................................................... 953
                    SET TRANSACTION ........................................................................................... 954
                    specyfikacja_pliku................................................................................................. 956
                    TRUNCATE ........................................................................................................ 958
Dodatek B Parametry inicjalizacji..........................................................................963
               Od tłumacza ............................................................................................................... 963
               Lista parametrów inicjalizacji systemu Oracle9i............................................................. 963

               Skorowidz............................................................................................985
Rozdział 10.
Zabezpieczenie
i monitorowanie
bazy danych
    Celem tworzenia i wymuszania procedur zabezpieczenia jest ochrona jednego z najcen-
    niejszych zasobów firmy — danych. Składowanie danych w bazie danych czyni je bar-
    dziej u ytecznymi i dostępnymi dla całej firmy ale równie zwiększa prawdopodobień-
    stwo uzyskiwania do nich nieautoryzowanego dostępu. Takie próby dostępu muszą być
    wykrywane i nale y im zapobiegać.

    Baza danych Oracle posiada kilka poziomów zabezpieczeń i zapewnia mo liwość mo-
    nitorowania ka dego z nich. W niniejszym rozdziale podano opis wszystkich poziomów
    zabezpieczeń oraz omówiono proces ich obserwacji. Przedstawiono równie metody
    ustawiania niemo liwych do wykrycia haseł oraz wymuszanie na hasłach uniewa nień.



Możliwości zabezpieczenia
    Baza danych Oracle udostępnia administratorowi bazy danych kilka poziomów zabez-
    pieczeń:
       zabezpieczenie konta w celu kontroli działania u ytkowników;
       zabezpieczenie konta dla obiektów bazy danych;
       zabezpieczenie na poziomie systemu w celu zarządzania uprawnieniami
       globalnymi.

    Ka da z tych mo liwości zostanie omówiona w następnych podrozdziałach. Podroz-
    dział Wdra anie zabezpieczeń zawiera szczegółowe informacje dotyczące efektywnego
    wykorzystania dostępnych opcji.
354   Część II   Zarządzanie bazą danych


Zabezpieczenie konta
      Aby uzyskać dostęp do bazy danych Oracle, konieczne jest uzyskanie dostępu do konta
      w bazie danych. Ten dostęp mo e być albo bezpośredni — przez połączenia u ytkow-
      nika z bazą danych, albo pośredni. Do połączeń pośrednich zalicza się uzyskiwanie do-
      stępu przez wstępnie ustawione autoryzacje wewnątrz powiązań między bazami danych.
      Ka de konto musi posiadać swoje hasło. Konto bazy danych mo e być związane z kon-
      tem systemu operacyjnego.

      Hasło jest ustawiane przez u ytkownika podczas tworzenia konta u ytkownika i mo e
      być zmienione po utworzeniu konta. Mo liwość zmiany hasła konta przez u ytkownika
      jest ograniczona właściwościami programów narzędziowych, do których u ytkownikowi
      przyznano dostęp. Baza danych przechowuje zaszyfrowaną wersję hasła w tabeli słow-
      nika danych. Je eli konto jest bezpośrednio związane z kontem systemu operacyjnego,
      istnieje mo liwość pominięcia procesu sprawdzania hasła i zamiast tego poleganie na
      systemowej metodzie identyfikacji u ytkowników.

      Od wersji Oracle8 hasło mo e być ponownie wykorzystane (za pomocą ustawienia hi-
      storii hasła bazy danych). Mo na równie u yć profili do wymuszenia standardowych
      parametrów hasła (takich jak minimalna długość). Mo na równie automatycznie blo-
      kować hasła, je eli występuje wiele kolejnych błędów podczas łączenia się z kontem.


Uprawnienia obiektowe
      Dostęp do poszczególnych obiektów bazy danych jest uaktywniany przez uprawnienia
      (ang. privileges). Uprawnienia są nadawane za pomocą polecenia ITCPV i umo liwiają
      wykonywanie określonych poleceń w odniesieniu do określonych obiektów bazy danych.
      Na przykład, je eli u ytkownik 6*7/2'4 jest właścicielem tabeli '/2.1;'' i wykonuje
      polecenie
       ITCPV UGNGEV QP '/2.1;'' VQ 27$.+%

      wtedy wszyscy u ytkownicy (27$.+%) będą mogli wybierać rekordy z tabeli '/2.1;''
      u ytkownika 6*7/2'4. W celu uproszczenia zarządzania uprawnieniami mo na tworzyć
      role, które są nazwanymi grupami uprawnień. W przypadku aplikacji, z których korzy-
      sta wielu u ytkowników, zastosowanie mechanizmu ról w du ym stopniu zmniejsza
      liczbę nadawanych uprawnień. Role mogą być zabezpieczone hasłem, mogą być dyna-
      micznie aktywowane i dezaktywowane, co umo liwia uzyskanie dodatkowej warstwy
      zabezpieczenia.

Uprawnienia i role systemowe
      Istnieje mo liwość wykorzystania roli do zarządzania dostępnymi dla u ytkowników
      poleceniami systemowymi. Do tych poleceń zalicza się: ETGCVG VCDNG oraz CNVGT KPFGZ.
      Operacje dotyczące ka dego typu obiektu bazy danych są autoryzowane za pomocą
      osobnych uprawnień. Na przykład u ytkownikowi mo na przyznać prawo %4'#6' 6#$.'
      ale nie prawo %4'#6' 6;2'. Tworzone role systemowe mo na dostosowywać do wymagań
      u ytkowników, co pozwala na przyznawanie dokładnie takich uprawnień, jakich u yt-
      kownicy ci potrzebują. Unika się w ten sposób przyznawania nadmiernych uprawnień
Rozdział 10.   Zabezpieczenie i monitorowanie bazy danych         355


     w bazie danych. Jak wspomniano w rozdziale 5., role %100'%6 oraz 4'5174%' zapewniają
     podstawowe uprawnienia systemowe wymagane, odpowiednio, przez końcowych u yt-
     kowników i programistów.

     U ytkownicy o przypisanej roli 4'5174%' posiadają tym samym prawo systemowe 70.+
     /+6' 6#$.'52#%', umo liwiające im tworzenie obiektów w dowolnym miejscu bazy
     danych. Z powodu tego dodatkowego prawa nale y ograniczać przyznawanie roli 4'51
     74%' do środowisk związanych z programowaniem oraz testowaniem aplikacji.



Wdrażanie zabezpieczeń
     W bazie danych Oracle mo na zastosować następujące mechanizmy zabezpieczające:
     role, profile oraz bezpośrednie przyznawanie uprawnień. Pakiet Oracle Enterprise Ma-
     nager udostępnia program narzędziowy Security Manager (Mened er zabezpieczeń), co
     umo liwia zarządzanie kontami u ytkowników, rolami, uprawnieniami i profilami.
     W następnych podrozdziałach omówiono sposoby wykorzystywania wszystkich tych
     mo liwości. Uwzględniono tak e kilka nieudokumentowanych opcji dodatkowych.

Punkt wyjścia: zabezpieczenie systemu operacyjnego
     Uzyskanie dostępu do bazy danych jest mo liwe dopiero po uzyskaniu pośredniego lub
     bezpośredniego dostępu do serwera, na którym jest uruchomiona baza danych. Pierw-
     szym krokiem zabezpieczania bazy danych jest zabezpieczenie platformy i sieci, w której
     rezyduje ta platforma. Po dokonaniu tej czynności nale y rozwa yć sposób zabezpie-
     czenia systemu operacyjnego.

     Pewne pliki bazy danych Oracle nie muszą być bezpośrednio udostępniane jej u ytkow-
     nikom. Na przykład, pliki danych oraz pliki czynnego dziennika powtórzeń są zapisywane
     i odczytywane tylko przez procesy drugoplanowe Oracle. Zatem jedynie administratorzy
     baz danych, którzy tworzą i usuwają te pliki, wymagają do nich bezpośredniego dostępu na
     poziomie systemu operacyjnego. Nale y pamiętać o zabezpieczeniu tych plików, jak rów-
     nie o zabezpieczeniu wynikowych plików eksportu i innych plików kopii zapasowych.

     Dane mogą być kopiowane do innych baz danych — albo jako część schematu replika-
     cji, albo podczas zapełniania projektowanej bazy danych. Zatem zabezpieczenie danych
     jest mo liwe pod warunkiem zabezpieczenia ka dej bazy danych, w której rezydują dane.
     Nale y tak e pamiętać o kopiach zapasowych ka dej z baz danych. Je eli istnieje mo -
     liwość uzyskania dostępu osób niepo ądanych do taśm archiwizowania zawierających
     kopie danych, cały wdro ony w bazie danych system zabezpieczeń staje się bezwarto-
     ściowy. Nie wolno dopuszczać do mo liwości zaistnienia nieuprawnionego dostępu do
     którejkolwiek kopii chronionych danych.

Tworzenie użytkowników
     Celem tworzenia u ytkowników jest zakładanie bezpiecznych, u ytecznych kont o ade-
     kwatnych uprawnieniach i odpowiednich ustawieniach domyślnych. Do tworzenia nowych
     kont bazy danych mo na u ywać polecenia ETGCVG WUGT. Bezpośrednio po utworzeniu konto
     nie posiada adnych mo liwości i jego u ytkownik nie jest się w stanie nawet zalogować.
356         Część II    Zarządzanie bazą danych


            Następuje to dopiero po przyznaniu uprawnień. Wszystkie konieczne ustawienia two-
            rzonego konta u ytkownika mogą być określone za pomocą pojedynczego polecenia
            ETGCVG WUGT. Do tych ustawień zaliczają się wartości wszystkich parametrów wykaza-
            nych w tabeli 10.1.

Tabela 10.1. Parametry polecenia create user

 Parametr              Zastosowanie
 WUGTPCOG              Nazwa schematu.
 RCUUYQTF              Hasło dla konta. Mo e być bezpośrednio związane z nazwą konta systemu
                       operacyjnego hosta lub identyfikowane przez sieciową usługę identyfikacyjną.
                       Dla identyfikacji bazującej na hoście nale y u yć klauzuli KFGPVKHKGF GZVGTPCNN[.
                       Dla identyfikacji bazującej na sieci nale y u yć klauzuli KFGPVKHKGF INQDCNN[ CU.
 FGHCWNV VCDNGURCEG    Domyślna przestrzeń tabel przeznaczona do składowania obiektów utworzonych
                       w danym schemacie. To ustawienie nie daje u ytkownikowi praw do tworzenia
                       obiektów, tylko ustawia wartość domyślną parametru wykorzystywanego w razie
                       przyznania u ytkownikowi takich uprawnień.
 VGORQTCT[             Przestrzeń tabel przeznaczona do składowania tymczasowych segmentów
 VCDNGURCEG            wykorzystywanych podczas operacji sortowania w ramach transakcji.
 SWQVC =QP             Umo liwia u ytkownikowi składowanie obiektów w określonej przestrzeni tabel
 VCDNGURCEG?           a do całkowitego rozmiaru określonego jako limit.
 RTQHKNG               Przydziela u ytkownikowi profil. Je eli nie określono adnego profilu, wtedy
                       jest stosowany profil domyślny. Profile umo liwiają ograniczenie wykorzystania
                       zasobów systemowych oraz wymuszają stosowanie reguł zarządzania hasłem.
 RCUUYQTF GZRKTG       Uniewa nia hasło.
 CEEQWPV               Ustawia konto jako zablokowane bądź odblokowane.
 FGHCWNV TQNG=U?       Ustawia domyślne role, które mają być uaktywnione dla u ytkownika.


               Nie można ustawić domyślnych ról podczas tworzenia użytkownika:
                 ETGCVG WUGT (4' KFGPVKHKGF D[ (4' FGHCWNV TQNG #$%
                 14# '#(#7.6 41.' ENCWUG PQV XCNKF HQT %4'#6' 75'4


            Poni ej przedstawiono przykładowe polecenie ETGCVG WUGT. Tworzony jest tu u ytkow-
            nik 6*7/2'4 z hasłem 4$$ 6, z domyślną przestrzenią tabel 75'45, z tymczasową prze-
            strzenią tabel 6'/2 bez limitów wykorzystania przestrzeni oraz z profilem domyślnym.
               ETGCVG WUGT 6*7/2'4
               KFGPVKHKGF D[ 4$$ 6
               FGHCWNV VCDNGURCEG 75'45
               VGORQTCT[ VCDNGURCEG 6'/2

            Nie określono tu adnego profilu, zatem zastosowany będzie profil domyślny bazy da-
            nych. Jest to rzeczywisty profil o nazwie '(#7.6. Jego początkowe ustawienia dla
            wszystkich limitów korzystania z zasobów są ustawione na 70.+/+6' (nieograniczony).
            Szczegółowe informacje dotyczące profili znajdują się w podrozdziale Profile u ytkow-
            nika w dalszej części tego rozdziału.
Rozdział 10.    Zabezpieczenie i monitorowanie bazy danych            357


Ze względu na to, e nie określono adnych limitów, u ytkownik nie mo e tworzyć
obiektów w bazie danych. Przyznanie limitu zasobów przeprowadza się za pomocą pa-
rametru SWQVC polecenia ETGCVG WUGT lub polecenia CNVGT WUGT, jak pokazano poni ej.
W tym przykładzie u ytkownikowi 6*7/2'4 przyznano limit 100 MB w przestrzeni tabel
75'45.
 CNVGT WUGT 6*7/2'4
 SWQVC / QP 75'45

Po wykonaniu tego polecenia u ytkownik 6*7/2'4 mo e tworzyć segmenty o łącznej
wielkości do 100 MB w przestrzeni tabel 75'45.


  Użytkownicy nie potrzebują limitów przestrzeni w przestrzeni tabel 6'/2, aby dla swoich
  zapytań tworzyć tymczasowe segmenty w tej przestrzeni tabel.


Z wyjątkiem parametru WUGTPCOG (nazwa u ytkownika) wszystkie parametry w polece-
niu ETGCVG WUGT mogą być zmienione za pomocą polecenia CNVGT WUGT.

Program Security Manager z pakietu OEM umo liwia utworzenie nowego u ytkownika
lub utworzenie u ytkownika o tych samych atrybutach, jakie posiada ju istniejący u yt-
kownik. Na rysunku 10.1 przedstawiono wygląd początkowego okna interfejsu programu
Security Manager, gdzie zaznaczono nazwę u ytkownika 6*7/2'4. Podczas tworzenia
u ytkownika za pomocą programu narzędziowego OEM mo na przydzielać role, upraw-
nienia systemowe, uprawnienia obiektowe oraz limity. Początkowe okno programu Secu-
rity Manager, pokazane na rysunku 10.1, słu y do uaktywniania hasła identyfikującego
u ytkownika. Dzięki narzędziom OEM mo na określić role i uprawnienia systemowe
a tak e rozmiar przestrzeni przysługującej u ytkownikowi. Za pomocą odpowiedniego
oznaczenia hasła, co pokazano na rysunku 10.1, mo na określić rodzaj danego konta
u ytkownika. Dane konto mo e być globalne — słu ące do zarządzania odległą bazą
danych. Okno to umo liwia równie określenie, e dane konto ma być identyfikowane
zewnętrznie (na poziomie systemu operacyjnego). Dostępna jest tak e opcja umo li-
wiająca wstępne uniewa nienie hasła, dzięki czemu dane konto mo e być utworzone jako
zablokowane lub niezablokowane. Szczegółowe informacje na temat uniewa nienia hasła
oraz blokowania konta znajdują się w podrozdziale Zarządzanie hasłem w dalszej czę-
ści niniejszego rozdziału.

Aby utworzyć nowego u ytkownika za pomocą programu OEM, nale y zaznaczyć w ob-
szarze Users (U ytkownicy) przycisk General (Ogólne) i nacisnąć prawy przycisk myszy
lub przycisk Create (Utwórz) z menu Object (Obiekt). Po wybraniu opcji Create
(Utwórz) lub Create Like (Utwórz podobny do) uaktywnia się kreator User Creation
Wizard (Kreator u ytkownika), co pozwala na szczegółowe określenie atrybutów two-
rzonego u ytkownika (nadanie ról, uprawnień itd.). Domyślnie nowemu u ytkownikowi
nie jest przydzielana adna rola. Aby umo liwić mu łączenie się z bazą danych, nale y
przyznać mu prawo %4'#6'A5'55+10. W ten sposób utworzony u ytkownik będzie
w stanie połączyć się z bazą danych. Jeśli została określona domyślna wielkość prze-
strzeni tabel, zostanie ona przyznana nowemu u ytkownikowi.

Dla zwykłego u ytkownika tymczasowa przestrzeń tabel jest ustawiana jako 5[UVGO
#UUKIPGF (określona przez system) ale rozwijana lista pozwala na wybranie odpowiedniej
tymczasowej przestrzeni tabel. Na rysunku 10.2 przedstawiono wygląd okna Create User
358       Część II   Zarządzanie bazą danych


Rysunek 10.1.
Identyfikacja
u ytkownika
za pomocą hasła




Rysunek 10.2.
Okno Create User,
zakładka General




          z oznaczonymi opcjami umo liwiającymi utworzenie nowego u ytkownika o właściwo-
          ściach podobnych do właściwości u ytkownika 6*7/2'4, wykorzystywanego w przykła-
          dach prezentowanych w tym rozdziale. Domyślną przestrzenią tabel u ytkownika 6*7/2'4
          jest 75'45 a jego tymczasową przestrzenią tabel jest 6'/2. Z powy szego wynika, e no-
          wemu u ytkownikowi domyślnie przyznano wszystkie przydziały i uprawnienia, które
          posiada u ytkownik 6*7/2'4. Jedynymi informacjami, które trzeba wprowadzić w celu
Rozdział 10.   Zabezpieczenie i monitorowanie bazy danych         359


     utworzenia nowego u ytkownika, są nazwa tego u ytkownika i hasło. Istnieje równie
     mo liwość wprowadzania innych informacji, które będą ró niły nowo utworzonego
     u ytkownika od u ytkownika 6*7/2'4.

Usuwanie użytkowników
     Usuwanie u ytkownika z bazy danych przeprowadza się za pomocą polecenia FTQR
     WUGT. Polecenie FTQR WUGT posiada jeden parametr ECUECFG, którego zastosowanie po-
     woduje usunięcie wszystkich obiektów w schemacie u ytkownika przed usunięciem tego
     u ytkownika. Je eli u ytkownik posiada obiekty, konieczne jest określenie parametru
     ECUECFG w celu usunięcia u ytkownika. Przykładowe polecenie FTQR WUGT pokazano ni ej:
      FTQR WUGT 6*7/2'4 ECUECFG

     Wszystkie perspektywy, synonimy, procedury, funkcje lub pakiety odwołujące się do
     obiektów w schemacie usuniętego u ytkownika są oznaczane jako +08#.+. Jeśli póź-
     niej zostanie dodany u ytkownik o identycznej nazwie, nie uzyska adnych związanych
     z poprzednikiem. Struktury te pozostaną niedostępne nawet w przypadku późniejszego
     utworzenia innego u ytkownika o tej samej nazwie. Program narzędziowy Security Ma-
     nager pakietu OEM umo liwia usuwanie u ytkowników. Przed ostatecznym usunię-
     ciem u ytkownika program ten wyświetla okno z ądaniem potwierdzenia.


Uprawnienia systemowe
     Role systemowe mogą słu yć do ustalania, kto ma prawo do wykonywania poleceń
     systemowych, słu ących do zarządzania bazą danych. Mo na utworzyć odpowiadające
     rzeczywistym potrzebom role systemowe, albo te zastosować gotowe role, dostarczone
     wraz z bazą danych. Spis dostępnych uprawnień, które mogą być przyznane przez role
     systemowe, podano w dodatku A, w QRKUKG RQNGEGPKC )4#06.

     Klauzula YKVJ ITCPV QRVKQP polecenia ITCPV umo liwia przekazywanie uprawnień in-
     nym u ytkownikom.

     W tabeli 10.2 wyszczególniono 15 ról systemowych, dostarczanych wraz z bazą danych
     Oracle. Zastosowanie tych ról umo liwia ograniczenie uprawnień systemowych przyzna-
     wanym rolom zarządzania bazy. Oprócz ról pokazanych w tabeli 10.2 baza danych mo e
     uwzględniać role generowane przez opcję Advanced Queuing Option (#3A75'4A41.',
     ).1$#.A#3AA75'4A41.' oraz #3A#/+0+564#614A41.'), skrypty Java (,#8#75'424+8, ,#8#+
     24+8, ,#8#'$7)24+8, ,#8#A#/+0 i ,#8#A'2.1;), Oracle Context Management (%6:#22) oraz
     role generowane za pomocą modułu Intelligent Agents pakietu OEM (rola 1'/A/#0#)'4).


       Oprócz uprawnień wykazanych w tabeli 10.2 użytkownicy ról $# oraz 4'5174%'
       otrzymują również prawo 70.+/+6' 6#$.'52#%'.


     Rola %100'%6 jest zwykle przyznawana u ytkownikom końcowym. Rola ta daje pewne
     mo liwości tworzenia obiektów (włącznie z prawem %4'#6' 6#$.'), jednak nie nadaje
     u ytkownikowi adnego limitu (ang. quota) dla przestrzeni tabel. Zatem przed przy-
     dzieleniem limitów przestrzeni tabel u ytkownicy roli %100'%6 nie mogą tworzyć tabel.
360         Część II    Zarządzanie bazą danych


Tabela 10.2. Role systemowe dostarczone w Oracle9i

 Nazwa roli                  Uprawnienia przyznane roli
 %100'%6                     #.6'4 5'55+10, %4'#6' %.756'4, %4'#6' #6#$#5' .+0-, %4'#6' 5'37'0%',
                             %4'#6' 5;010;/, %4'#6' 6#$.', %4'#6' 8+'9
 4'5174%'                    %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 5'37'0%', %4'#6' 6#$.', %4'#6'
                             64+))'4
 $#                         Wszystkie uprawnienia systemowe 9+6* #/+0 126+10
 ':2A(7..A#6#$#5'           5'.'%6 #0; 6#$.', $#%-72 #0; 6#$.', instrukcje +05'46, '.'6' oraz 72#6'
                             na tabelach 5;5+0%8+, 5;5+0%(+. oraz 5;5+0%':2
 9/A#/+0A41.'               Wszystkie uprawnienia narzędzia Worspace Manger wraz z opcją )4#06
                             126+10
 +/2A(7..A#6#$#5'           $'%1/' 75'4
 '.'6'A%#6#.1)A41.'         prawo '.'6' na wszystkich pakietach słownika
 ':'%76'A%#6#.1)A41.'        prawo ':'%76' na wszystkich pakietach słownika
 5'.'%6A%#6#.1)A41.'         prawo 5'.'%6 na wszystkich tabelach i perspektywach katalogowych
 %4'#6'A6;2'                 %4'#6' 6;2', ':'%76', ':'%76' #0; 6;2', #/+0 126+10, )4#06 126+10
 4'%18'4;A%#6#.1)A190'4      412 41.', %4'#6' 41.', %4'#6' 64+))'4, %4'#6' 241%'74'
 1.#2A$#                    #.6'4 #0; +/'05+10, #.6'4 #0; 6#$.', #0#.;' #0;, %4'#6' #0; +/'05+10,
                             %4'#6' #0; +0':, %4'#6' #0; 6#$.', %4'#6' #0; 8+'9, 412 #0; +/'05+10,
                             412 #0; 6#$.', 412 #0; 8+'9, .1%- #0; 6#$.', 5'.'%6 #0; +%6+10#4;,
                             5'.'%6 #0; 6#$.'
 *5A#/+0A41.'               *5A':6'40#.A1$,'%6, *5A':6'40#.A75'4
 9-#/+0                     %4'#6' #0; +%6+10#4;, %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 6#$.',
                             %4'#6' 64+))'4, %4'#6' 6;2', 412 #0; +4'%614;
 9-75'4                      %4'#6' #0; +%6+10#4;, %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 6#$.',
                             %4'#6' 64+))'4, %4'#6' 6;2', 412 #0; +4'%614;

            Rola 4'5174%' jest przyznawana programistom. Zgodnie z informacjami przedstawionymi
            w rozdziale 5., rola 4'5174%' daje u ytkownikom najczęściej stosowane uprawnienia
            potrzebne do programowania aplikacji. Rola $# posiada wszystkie 124 uprawnienia
            dostępne na poziomie systemu z opcją nadawania tych uprawnień innym u ytkownikom
            ()4#06 126+10).

               Firma Oracle zaleca tworzenie własnych ról a nie poleganie na trzech opisanych powy-
               żej. Role $#, %100'%6 czy 4'5174%' mogą zostać zarzucone w przyszłych wersjach.


            Role +/2A(7..A#6#$#5' oraz ':2A(7..A#6#$#5' są stosowane, odpowiednio, podczas
            importowania i eksportowania danych z bazy (patrz rozdział 11.). Te role stanowią
            część roli $#. Role te mogą tak e słu yć do przyznania u ytkownikom ograniczonych
            uprawnień zarządzania bazą danych.

            Role 5'.'%6A%#6#.1)A41.', ':'%76'A%#6#.1)A41.' oraz '.'6'A%#6#.1)A41.' zostały
            wprowadzone w wersji Oracle8.
Rozdział 10.   Zabezpieczenie i monitorowanie bazy danych         361


Role 5'.'%6A%#6#.1)A41.' oraz ':'%76'A%#6#.1)A41.' przyznają u ytkownikom upraw-
nienia do wybierania lub wykonywania eksportowalnych obiektów słownika danych.
Warto tu wspomnieć, e nie ka dy obiekt bazy danych jest eksportowany podczas peł-
nego eksportu systemowego. Dokładniejsze informacje na ten temat znajdują się w roz-
dziale 11. Na przykład, dynamiczne perspektywy wydajności systemu (patrz rozdział 6.)
nie są eksportowane. Zatem rola 5'.'%6A%#6#.1)A41.' nie daje u ytkownikowi mo li-
wości wybierania danych z dynamicznych tabel wydajności 8 41..56#6, ale daje mu
mo liwość wykonywania zapytań na większości danych ze słownika danych. Podobnie
rola ':'%76'A%#6#.1)A41.' daje u ytkownikom mo liwość wykonywania procedur
i funkcji, które są częścią słownika danych.

Prawo %4'#6' 6;2' jest uaktywniane, je eli jest stosowana opcja Option. U ytkownicy,
którzy mają uaktywnione prawo %4'#6' 6;2', mogą tworzyć nowe, abstrakcyjne typy
danych.

Po udostępnieniu ról i uprawnień systemowych mo na ponownie sprawdzić proces two-
rzenia konta. Podobnie jak w przypadku procesu tworzenia kopii zapasowej bazy da-
nych, do utworzenia konta nale y posiadać uprawnienia na poziomie DBA. Jednak mo na
tak e określić inne uprawnienia, które umo liwiają tworzenie nowych u ytkowników.

Przykładowo, mo na utworzyć nową rolę systemową o nazwie #%%1706A%4'#614. Rola
ta umo liwiałaby tylko tworzenie u ytkowników bez mo liwości wykonywania innych
poleceń dostępnych administratorowi. Poni ej przedstawiono przykładowe polecenia,
które utworzą taką rolę.
 ETGCVG TQNG #%%1706A%4'#614
 ITCPV %4'#6' 5'55+10 %4'#6' 75'4 #.6'4 75'4
    VQ #%%1706A%4'#614

Pierwsze polecenie z powy szego przykładu tworzy rolę o nazwie #%%1706A%4'#614,
natomiast drugie przyznaje tej roli mo liwość zalogowania (%4'#6' 5'55+10) oraz tworze-
nia i zmiany kont (%4'#6' 75'4 oraz #.6'4 75'4). Przykładowo, rola #%%1706A%4'#614
mo e być wykorzystywana przez centralne biuro pomocy, którego zadaniem byłoby
koordynowanie tworzenia wszystkich nowych kont w danej aplikacji. Rolę tę mo na
utworzyć za pomocą pakietu OEM przez wybranie opcji Create Role (Utwórz rolę)
i wprowadzenie odpowiednich informacji. Na rysunku 10.3 przedstawiono sposób two-
rzenia roli #%%1706A%4'#614 za pomocą programu narzędziowego Security Manager pa-
kietu OEM. Rysunek 10.4 przedstawia sposób przypisania uprawnień do tej roli.

Centralne tworzenie kont jest pomocne w zapewnianiu odpowiednich procedur autory-
zacji ądań dostępu do poszczególnych kont. Elastyczność przyznawania uprawnień
i ról systemowych umo liwia przydzielenie u ytkownikowi (kontynuując przykład, mo-
głoby to być centralne biuro pomocy) uprawnień pozwalających na tworzenie kont bez
zapewnienia temu u ytkownikowi mo liwości wykonywania zapytań do bazy danych.

Mo liwość tworzenia roli #%%1706A%4'#614 jest szczególnie u yteczna podczas wdra ania
oprogramowania pakietowego. Liczni, niezale ni od siebie producenci aplikacji pakie-
towych zało yli, e u ytkownicy tych aplikacji będą posiadali pełne uprawnienia admi-
nistratora bazy danych, kiedy faktycznie są potrzebne jedynie mo liwości wykonywania
poleceń ETGCVG WUGT oraz CNVGT WUGT. Utworzenie roli #%%1706A%4'#614 pozwoli na
ograniczenie schematu pakietu uprawnień właściciela w pozostałej części bazy danych.
362       Część II   Zarządzanie bazą danych


Rysunek 10.3.
Tworzenie roli
ACCOUNT_
CREATOR




Rysunek 10.4.
Przypisanie
uprawnień
systemowych roli
ACCOUNT_
CREATOR




          Role określone jako domyślne są uaktywniane po ka dym zalogowaniu. Za pomocą
          klauzuli FGHCWNV TQNG polecenia CNVGT WUGT mo na zmieniać domyślną rolę u ytkownika.
          Mo na równie określić, e dany u ytkownik nie posiada adnych ról uaktywnianych
          domyślnie.
            CNVGT WUGT 6*7/2'4 FGHCWNV TQNG 010'

          Mo na określić role do uaktywnienia.
            CNVGT WUGT 6*7/2'4 FGHCWNV TQNG %100'%6
Rozdział 10.    Zabezpieczenie i monitorowanie bazy danych        363


      Mo na równie określić role, które nie powinny być uaktywniane po rozpoczęciu sesji.
       CNVGT WUGT 6*7/2'4 FGHCWNV TQNG CNN GZEGRV #%%1706A%4'#614

      Określenie danej roli jako domyślnej za pomocą polecenia CNVGT WUGT nie powiedzie
      się, je eli rola ta nie została ju wcześniej przyznana u ytkownikowi. Przykładowo, je eli
      dany u ytkownik nie posiada roli %100'%6 na poziomie systemu, wtedy próba ustawienia
      dla u ytkownika tej roli jako domyślnej zakończy się wystąpieniem następującego komu-
      nikatu o błędzie:
       14# TQNG    %100'%6    FQGU PQV GZKUVU

      Je eli określona rola jest specyficzną rolą bazy danych, która nie została przyznana
      u ytkownikowi, polecenie CNVGT WUGT nie powiedzie się i wystąpi następujący komunikat
      o błędzie:
       14# '(#7.6 41.'      #%%1706A%4'#614    PQV ITCPVGF VQ WUGT

      Zatem przed ustalaniem domyślnych ról u ytkowników jest konieczne przyznanie tych
      ról. W przypadku zastosowania klauzuli FGHCWNV TQNG CNN wszystkie role u ytkownika
      są uaktywniane po rozpoczęciu sesji u ytkownika. Je eli planowane jest dynamiczne
      aktywowanie i dezaktywowanie ról w ró nych częściach aplikacji (za pomocą poleceń
      UGV TQNG), wtedy nale y kontrolować, które role są uaktywniane domyślnie.


        Parametr /#:A'0#$.'A41.'5 pliku init.ora ogranicza liczbę ról, jakie każdy użytkow-
        nik może jednocześnie posiadać jako aktywne. Dla systemu Oracle9i wartością do-
        myślną jest .


        Przy tworzeniu roli jest ona uaktywniana domyślnie. Jeżeli jest tworzonych wiele ról,
        wtedy można przekroczyć ustawienie /#:A'0#$.'A41.'5, nawet jeżeli nie jest się
        użytkownikiem tych ról.


Profile użytkownika
      Profile u ytkownika mogą słu yć do określania limitów ilości zasobów systemu i bazy
      danych dostępnych dla u ytkownika oraz do zarządzania ograniczeniami hasła. Je eli
      w bazie danych nie określono adnych profili, wtedy jest wykorzystany profil domyślny
      określający brak ograniczeń dostępu do zasobów dla wszystkich u ytkowników.

      W tabeli 10.3 wyszczególniono zasoby, do których mo na ograniczyć dostęp za pomocą
      profili.


        Ustawienia 2#55914A4'75'A/#: oraz 2#55914A4'75'A6+/' wzajemnie się wykluczają.
        Jeżeli jeden z tych parametrów jest ustawiony na określoną wartość, wartość drugiego
        musi być ustawiona jako 70.+/+6'.
364          Część II   Zarządzanie bazą danych


Tabela 10.3. Zasoby, które mo na ograniczać przez odpowiednie ustawianie profili

 Zasób                           Opis
 5'55+10A2'4A75'4                Liczba współbie nych sesji otwieranych przez u ytkownika w instancji.
 %27A2'4A5'55+10                 Czas pracy procesora poświęcony jednej sesji, wyra ony w setnych
                                 częściach sekundy.
 %27A2'4A%#..                    Czas pracy procesora wykorzystany do przetwarzania jednego
                                 kroku instrukcji SQL: analizy składniowej, wykonywania instrukcji
                                 lub pobierania danych, wyra ony w setnych sekundy.
 %100'%6A6+/'                    Czas w minutach, w ciągu którego sesja mo e realizować połączenie
                                 z bazą danych.
 +.'A6+/'                       Czas w minutach, w ciągu którego niewykorzystywana sesja mo e
                                 realizować połączenie z bazą danych.
 .1)+%#.A4'#5A2'4A5'55+10       Liczba bloków bazy danych odczytywanych w czasie sesji.
 .1)+%#.A4'#5A2'4A%#..          Liczba bloków bazy danych odczytywanych w czasie kroku przetwarzania
                                 instrukcji SQL: analizy składniowej, wykonywania lub pobierania.
 24+8#6'A5)#                     Wielkość przestrzeni prywatnej, jaką sesja mo e przydzielić w dzielonym
                                 obszarze SQL (ang. Shared SQL Pool) globalnego obszaru systemu 5)#
                                 (dla serwera wielowątkowego MTS).
 %1/215+6'A.+/+6                 Limit zło ony, bazujący na poprzednich limitach.
 (#+.'A.1)+0A#66'/265           Liczba kolejnych nieudanych prób zalogowania, po przekroczeniu której
                                 nastąpi zablokowanie konta.
 2#55914A.+('A6+/'              Czas wa ności hasła wyra ony jako liczba dni.
 2#55914A4'75'A6+/'             Czas, po którym mo na ponownie wykorzystać hasło, wyra ony w dniach.
 2#55914A4'75'A/#:              Liczba określająca, ile razy trzeba zmienić hasło przed ponownym
                                 wykorzystaniem ju u ywanego hasła.
 2#55914A.1%-A6+/'              Czas zablokowania hasła po przekroczeniu ustawienia (#+.'A.1)+0A
                                 #66'/265, wyra ony w dniach.
 2#55914A)4#%'A6+/'             Okres „tymczasowego okresu wa ności”, kiedy hasło mo e być
                                 w dalszym ciągu zmienione, po osiągnięciu jego 2#55914A.+('A6+/'.
                                 Parametr ten wyra any jest jako liczba dni.
 2#55914A8'4+(;A(70%6+10        Nazwa funkcji wykorzystanej do oceny zło oności hasła. Baza danych
                                 Oracle dostarcza jedną taką funkcję. Istnieje mo liwość jej edytowania.

             Jak wynika z tabeli 10.3, istnieje mo liwość ograniczenia dostępu do pewnej liczby za-
             sobów. Warto podkreślić, e wszystkie te ograniczenia są reakcyjne — adna akcja nie
             występuje przed przekroczeniem limitu zasobu. Zatem profile nie mogą wspomagać za-
             pobiegania wykorzystywania przez niekontrolowane zapytania du ych ilości zasobów
             systemowych przed wyczerpaniem określonego limitu. Dopiero, gdy ten limit zostanie
             osiągnięty, wykonywanie instrukcji SQL będzie zatrzymane.

             Profile są tworzone za pomocą polecenia ETGCVG RTQHKNG. Polecenie CNVGT RTQHKNG,
             które przedstawiono w poni szym przykładzie, słu y do modyfikowania istniejących
             profili. Tutaj następuje zmiana profilu '(#7.6 bazy danych w celu ustawienia maksy-
             malnego czasu jałowego, tj. kiedy sesja jest nieaktywna, (ang. idle time) na 1 godzinę:
               CNVGT RTQHKNG '(#7.6
               KFNGAVKOG
Rozdział 10.   Zabezpieczenie i monitorowanie bazy danych          365


           Program narzędziowy Security Manager pakietu OEM daje mo liwość tworzenia i za-
           rządzania profilami poprzez graficzny interfejs u ytkownika. Na rysunku 10.5 przedsta-
           wiono wygląd okna z domyślnymi ustawieniami profilu, gdzie wykazano przydzielone
           zasoby profilu.

Rysunek 10.5.
Ustawienia profilu
DEFAULT




           Stosowanie profili umo liwia równie zarządzanie zło onością hasła i jego czasem ist-
           nienia. Zagadnienia te opisano w następnym podrozdziale.


Zarządzanie hasłem
           Profile mogą słu yć do zarządzania uniewa nianiem, ponownym wykorzystaniem i zło o-
           nością haseł. Na przykład, mo na ograniczyć czas istnienia hasła i zablokować konto, któ-
           rego hasło jest za stare. Mo liwe jest równie wymuszenie przynajmniej średniej zło o-
           ności haseł oraz ich blokowanie przy powtórzonych, nieudanych próbach zalogowania.

           Na przykład, je eli parametr (#+.'A.1)+0A#66'/265 profilu u ytkownika jest ustawio-
           ny na wartość , wtedy dozwolonych jest pięć kolejnych nieudanych prób zalogowania.
           Szósta próba zakończona niepowodzeniem spowoduje zablokowanie konta.

             Jeżeli podczas piątej próby zostanie podane prawidłowe hasło, wtedy licznik nieuda-
             nych prób zalogowania zostaje wyzerowany. Umożliwia to przeprowadzenie kolejnych 5
             nieudanych prób zalogowania przed zablokowaniem konta.

           Poni ej przedstawiono przykładowe polecenia prowadzące do utworzenia profilu .+/+
           6'A241(+.' dla u ytkownika ,#0':
             ETGCVG RTQHKNG .+/+6'A241(+.' NKOKV
             (#+.'A.1)+0A#66'/265
366   Część II   Zarządzanie bazą danych


       ETGCVG WUGT ,#0' KFGPVKHKGF D[ ';4'
       RTQHKNG .+/+6'A241(+.'

       ITCPV %4'#6' 5'55+10 VQ ,#0'

      W razie wystąpienia pięciu kolejnych nieudanych połączeń z kontem ,#0' system
      Oracle automatycznie zablokuje to konto. Jeśli następnie zostanie podane prawidłowe
      hasło dla konta ,#0', nastąpi wyświetlenie komunikatu o błędzie:
       %QPPGEV LCPGG[TG
       '4414 14# VJG CEEQWPV KU NQEMGF

      Aby odblokować konto, nale y zastosować klauzulę CEEQWPV WPNQEM polecenia CNVGT
      WUGT wydanego z poziomu konta $# —administratora bazy danych. Poni ej przedsta-
      wiono odpowiedni przykład:
       CNVGT WUGT ,#0' CEEQWPV WPNQEM

      Po odblokowaniu konta połączenia z kontem ,#0' są ponownie dozwolone. Istnieje rów-
      nie mo liwość ręcznego zablokowania konta za pomocą klauzuli CEEQWPV NQEM polece-
      nia CNVGT WUGT.
       CNVGT WUGT ,#0' CEEQWPV NQEM

      Jeśli konto zostanie zablokowane w związku z powtórzonymi nieudanymi próbami po-
      łączenia, jego odblokowanie nastąpi automatycznie po przekroczeniu wartości ustawie-
      nia profilu konta 2#55914A.1%-A6+/'. Na przykład, je eli parametr 2#55914A.1%-A6+/'
      jest ustawiony na , wtedy konto ,#0' z poprzedniego przykładu pozostanie zablokowane
      przez jeden dzień, po czym nastąpi jego odblokowanie.

      Mo na równie ustalić maksymalny czas wa ności hasła za pomocą ustawienia 2#5
      5914A.+('A6+/' w ramach profilu. Na przykład, mo na wymusić na u ytkownikach
      o profilu .+/+6'A241(+.' zmianę haseł co 30 dni.
       CNVGT RTQHKNG .+/+6'A241(+.' NKOKV
       2#55914A.+('A6+/' 

      W powy szym przykładzie zastosowano polecenie CNVGT RTQHKNG w celu modyfikacji
      profilu .+/+6'A241(+.'. Wartość 2#55914A.+('A6+/' jest ustawiona na , zatem
      uniewa nienie hasła ka dego konta korzystającego z tego profilu nastąpi po 30 dniach.
      Je eli hasło zostało uniewa nione, nale y je zmienić podczas następnego zalogowania.
      Konieczne jest dokonanie tego w czasie określonym w profilu jako tymczasowy okres
      wa ności. Parametr tymczasowego okresu wa ności nazywa się 2#55914A)4#%'A6+/'.
      Je eli hasło nie zostanie zmienione w ciągu tymczasowego okresu wa ności, konto zo-
      stanie uniewa nione.


        Jeżeli zastosowano parametr 2#55914A.+('A6+/', należy poinstruować użytkowni-
        ków o sposobach łatwej zmiany haseł.


      Istotna jest ró nica pomiędzy uniewa nieniem a zablokowaniem konta. Z treści tego
      podrozdziału wynika, e zablokowane konto mo e zostać z upływem czasu automatycz-
      nie odblokowane. Konto uniewa nione wymaga osobistej interwencji ze strony admini-
      stratora bazy danych w celu jego ponownego uaktywnienia.
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych
Oracle9i. Podręcznik administratora baz danych

Más contenido relacionado

La actualidad más candente (20)

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
 
MySQL
MySQLMySQL
MySQL
 
Oracle. Optymalizacja wydajności
Oracle. Optymalizacja wydajnościOracle. Optymalizacja wydajności
Oracle. Optymalizacja wydajności
 
MySQL. Szybki start
MySQL. Szybki startMySQL. Szybki start
MySQL. Szybki start
 
SQL. Leksykon kieszonkowy
SQL. Leksykon kieszonkowySQL. Leksykon kieszonkowy
SQL. Leksykon kieszonkowy
 
100 sposobów na Access
100 sposobów na Access100 sposobów na Access
100 sposobów na Access
 
SQL. Szybki start
SQL. Szybki startSQL. Szybki start
SQL. Szybki start
 
MySQL. Almanach
MySQL. AlmanachMySQL. Almanach
MySQL. Almanach
 
Projektowanie struktur Active Directory
Projektowanie struktur Active DirectoryProjektowanie struktur Active Directory
Projektowanie struktur Active Directory
 
Access 2007 PL. Kurs
Access 2007 PL. KursAccess 2007 PL. Kurs
Access 2007 PL. Kurs
 
Bazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktykaBazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktyka
 
Debian Linux. Ćwiczenia
Debian Linux. ĆwiczeniaDebian Linux. Ćwiczenia
Debian Linux. Ćwiczenia
 
MySQL. Podstawy
MySQL. PodstawyMySQL. Podstawy
MySQL. Podstawy
 
PHP 5. Nowe możliwości
PHP 5. Nowe możliwościPHP 5. Nowe możliwości
PHP 5. Nowe możliwości
 
Access 2003 PL. Kurs
Access 2003 PL. KursAccess 2003 PL. Kurs
Access 2003 PL. Kurs
 
Po prostu Access 2002/XP PL
Po prostu Access 2002/XP PLPo prostu Access 2002/XP PL
Po prostu Access 2002/XP PL
 
Po prostu Access 2003 PL
Po prostu Access 2003 PLPo prostu Access 2003 PL
Po prostu Access 2003 PL
 
hp wielodostęp
hp wielodostęphp wielodostęp
hp wielodostęp
 
Bazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstawBazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstaw
 
Access 2003 PL dla każdego
Access 2003 PL dla każdegoAccess 2003 PL dla każdego
Access 2003 PL dla każdego
 

Similar a Oracle9i. Podręcznik administratora baz danych

100 sposobów na tworzenie robotów sieciowych
100 sposobów na tworzenie robotów sieciowych100 sposobów na tworzenie robotów sieciowych
100 sposobów na tworzenie robotów sieciowychWydawnictwo Helion
 
100 sposobów na serwery Windows
100 sposobów na serwery Windows100 sposobów na serwery Windows
100 sposobów na serwery WindowsWydawnictwo 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
 
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
 
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
 
Zarządzanie zasobami. Wzorce projektowe
Zarządzanie zasobami. Wzorce projektoweZarządzanie zasobami. Wzorce projektowe
Zarządzanie zasobami. Wzorce projektoweWydawnictwo Helion
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIWydawnictwo 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
 

Similar a Oracle9i. Podręcznik administratora baz danych (16)

100 sposobów na tworzenie robotów sieciowych
100 sposobów na tworzenie robotów sieciowych100 sposobów na tworzenie robotów sieciowych
100 sposobów na tworzenie robotów sieciowych
 
SQL w mgnieniu oka
SQL w mgnieniu okaSQL w mgnieniu oka
SQL w mgnieniu oka
 
Praktyczny kurs SQL
Praktyczny kurs SQLPraktyczny kurs SQL
Praktyczny kurs SQL
 
Ajax w akcji
Ajax w akcjiAjax w akcji
Ajax w akcji
 
100 sposobów na serwery Windows
100 sposobów na serwery Windows100 sposobów na serwery Windows
100 sposobów na serwery Windows
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Delphi 7 i bazy danych
Delphi 7 i bazy danychDelphi 7 i bazy danych
Delphi 7 i bazy danych
 
Ajax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązaniaAjax. Wzorce i najlepsze rozwiązania
Ajax. Wzorce i najlepsze rozwiązania
 
Oracle Discoverer
Oracle DiscovererOracle Discoverer
Oracle Discoverer
 
Wprowadzenie do baz danych
Wprowadzenie do baz danychWprowadzenie do baz danych
Wprowadzenie do baz danych
 
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
 
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
 
Zarządzanie zasobami. Wzorce projektowe
Zarządzanie zasobami. Wzorce projektoweZarządzanie zasobami. Wzorce projektowe
Zarządzanie zasobami. Wzorce projektowe
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
 
SQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoSQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystko
 
Modelowanie danych
Modelowanie danychModelowanie danych
Modelowanie danych
 

Más 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
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieWydawnictwo Helion
 

Más 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
 
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
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
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
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
 

Oracle9i. Podręcznik administratora baz danych

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI Oracle 9i. Podrêcznik administratora baz danych KATALOG KSI¥¯EK Autorzy: Kevin Looney, Marlene Theriault KATALOG ONLINE T³umaczenie: Bart³omiej Garbacz, S³awomir Dzieniszewski ISBN: 83-7361-063-4 ZAMÓW DRUKOWANY KATALOG Tytu³ orygina³u: Oracle9i DBA Handbook Format: B5, stron: 1016 TWÓJ KOSZYK Jak sprawiæ, aby najwa¿niejsze firmowe systemy internetowe i e-biznesowe by³y DODAJ DO KOSZYKA wszechstronne, bezpieczne i ³atwo dostêpne? Wydana przez Helion, a pierwotnie przez wydawnictwo OraclePress ksi¹¿ka „Oracle9i. Podrêcznik administratora baz danych” odpowiada na te pytania, wyja niaj¹c, jak przygotowaæ i obs³ugiwaæ rozbudowan¹ CENNIK I INFORMACJE i intensywnie wykorzystywan¹ bazê danych oraz jak wykorzystaæ w pe³ni nowe narzêdzia i mo¿liwo ci, których dostarcza Oracle9i. ZAMÓW INFORMACJE Kevin Looney i Marie Thieriault, dwoje znakomitych ekspertów w dziedzinie Oracle, O NOWO CIACH opisuj¹ tutaj podstawy dzia³ania systemu i dostarczaj¹ licznych, zaczerpniêtych z ¿ycia przyk³adów oraz prezentuj¹ wiele u¿ytecznych technik u³atwiaj¹cych obs³ugê systemu ZAMÓW CENNIK Oracle. Ksi¹¿k¹ ta jest niezbêdn¹ pozycj¹ w bibliotece ka¿dego administratora baz danych Oracle. CZYTELNIA Wewn¹trz miêdzy innymi: • Tworzenie i konfigurowanie bazy danych z wykorzystaniem narzêdzia Database FRAGMENTY KSI¥¯EK ONLINE Configuration Assistant systemu Oracle9i • Monitorowanie i strojenie pamiêci, wykorzystania plików, transakcji oraz zapytañ • Implementowanie w systemie segmentów wycofania lub automatycznego zarz¹dzania wycofywanymi danymi wprowadzonego w Oracle9i • Sposoby przenoszenia aplikacji oraz zmieniania otwartych tabel bazy danych • Diagnozowanie i optymalizacja dzia³ania systemu z pomoc¹ pakietu STATSPACK • Implementowanie jak najlepszych procedur bezpieczeñstwa i obserwacja bazy danych • Automatyzacja procedur tworzenia rezerwowych kopii korzystaj¹c z programu RMAN • Wykorzystanie partycjonowania do radzenia sobie z wielkimi bazami danych • Rozdzielanie zadañ i danych pomiêdzy ró¿ne serwery dzia³aj¹ce w sieci Wydawnictwo Helion korzystaj¹c z Oracle Net ul. Chopina 6 44-100 Gliwice • Korzystanie z serwera aplikacji Oracle9iAS, który pozwalaj¹ na poprawienie tel. (32)230-98-63 wszechstronno ci i dostêpno ci bazy danych oraz na ³atwiejsze jej rozbudowê e-mail: helion@helion.pl
  • 2. Spis treści O Autorach............................................................................................15 Wstęp ...................................................................................................17 Część I Architektura bazy danych......................................................19 Rozdział 1. Wprowadzenie do architektury systemu Oracle .......................................21 Bazy danych i instancje ................................................................................................. 22 Bazy danych ........................................................................................................... 22 Inne pliki ................................................................................................................ 23 Mechanizm Oracle Managed Files ............................................................................ 25 Instancje................................................................................................................. 26 Instalacja oprogramowania............................................................................................. 27 Opcje i komponenty instalacji systemu Oracle............................................................ 28 Tworzenie bazy danych ................................................................................................. 30 Korzystanie z narzędzia Oracle Database Configuration Assistant................................ 31 Konfiguracja parametrów inicjalizacji: pamięć ........................................................... 36 Samodzielne tworzenie bazy danych ......................................................................... 47 Procesy drugoplanowe ................................................................................................... 48 Wewnętrzne struktury bazy danych ................................................................................ 52 Tabele, kolumny oraz typy danych............................................................................ 53 Ograniczenia........................................................................................................... 55 Abstrakcyjne typy danych ........................................................................................ 57 Partycje i podpartycje .............................................................................................. 58 U ytkownicy........................................................................................................... 59 Schematy................................................................................................................ 59 Indeksy .................................................................................................................. 60 Klastry ................................................................................................................... 61 Klastry haszowane................................................................................................... 62 Perspektywy ........................................................................................................... 62 Sekwencje .............................................................................................................. 63 Procedury............................................................................................................... 64 Funkcje .................................................................................................................. 64 Pakiety ................................................................................................................... 64 Wyzwalacze............................................................................................................ 65 Synonimy ............................................................................................................... 66 Uprawnienia i role ................................................................................................... 66 Powiązania baz danych ............................................................................................ 67 Segmenty, obszary i bloki ........................................................................................ 68 Segmenty odwołania i wycofania .............................................................................. 69
  • 3. 6 Oracle9i. Podręcznik administratora baz danych Perspektywy materializowane................................................................................... 70 Obszary kontekstowe............................................................................................... 70 Globalny obszar programu (PGA)............................................................................. 70 Archiwizacja i odtwarzanie ...................................................................................... 71 Mo liwości zabezpieczenia systemu.......................................................................... 73 U ycie narzędzia Oracle Enterprise Manager (OEM).................................................. 75 Rozdział 2. Konfiguracja sprzętowa..........................................................................77 Przegląd architektury ..................................................................................................... 77 Autonomiczne hosty...................................................................................................... 78 Autonomiczny host z zestawem dysków.................................................................... 79 Autonomiczny host z opcją powielania dysku ............................................................ 82 Autonomiczny host z wieloma bazami danych ........................................................... 84 Hosty sieciowe.............................................................................................................. 85 Połączone bazy danych............................................................................................ 86 Zdalna modyfikacja danych — zaawansowana opcja replikacji.................................... 88 Konfiguracja Real Application Clusters ..................................................................... 90 Konfiguracje wieloprocesorowe: opcje równoległego przetwarzania zapytań oraz równoległego ładowania danych...................................................................... 92 Aplikacje typu klient-serwer..................................................................................... 93 Architektura trójwarstwowa ..................................................................................... 94 Dostęp poprzez Oracle Enterprise Gateway ............................................................... 95 Rezerwowe bazy danych (typu Standby) ................................................................... 96 Replikowane bazy danych........................................................................................ 97 Dostęp do plików zewnętrznych ............................................................................... 98 Dostęp do tabel zewnętrznych .................................................................................. 99 Rozdział 3. Logiczny układ bazy danych .................................................................101 Produkt końcowy ........................................................................................................ 101 OFA (optymalna elastyczna architektura) ...................................................................... 102 Punkt startowy — przestrzeń tabel SYSTEM........................................................... 102 Oddzielenie segmentów danych — przestrzeń tabel DATA ....................................... 103 Przestrzenie tabel zarządzane lokalnie ..................................................................... 104 Oddzielenie rzadziej u ywanych segmentów danych — przestrzeń tabel DATA_2...... 104 Oddzielenie segmentów indeksowych — przestrzeń tabel INDEXES......................... 105 Oddzielenie mniej u ywanych indeksów — przestrzeń tabel INDEXES_2 ................. 107 Oddzielenie segmentów dla narzędzi — przestrzeń tabel TOOLS .............................. 107 Oddzielenie indeksów dla narzędzi — przestrzeń tabel TOOLS_I.............................. 108 Oddzielenie segmentów wycofania — przestrzeń tabel RBS ..................................... 108 Oddzielenie specjalnych segmentów wycofania — przestrzeń tabel RBS_2 ................ 109 U ywanie przestrzeni odwołania............................................................................. 109 Oddzielenie segmentów tymczasowych — przestrzeń tabel TEMP ............................ 110 Oddzielenie specyficznych segmentów tymczasowych — przestrzeń tabel TEMP_USER......................................................................... 111 Oddzielenie u ytkowników — przestrzeń tabel USERS ............................................ 112 Dodatkowe typy przestrzeni tabel ........................................................................... 112 Zaawansowane typy przestrzeni tabel...................................................................... 113 Logiczny podział bazy danych a jej funkcjonalność ....................................................... 114 Rozwiązania ............................................................................................................... 115 Rozdział 4. Fizyczny układ bazy danych..................................................................119 Fizyczny układ plików bazy danych.............................................................................. 119 Rywalizacja operacji wejścia-wyjścia o pliki danych ................................................ 120 Wąskie gardła dla operacji wejścia-wyjścia we wszystkich plikach bazy danych ......... 123 Współbie ne operacje wejścia-wyjścia procesów drugoplanowych ............................ 125
  • 4. Spis treści 7 Określanie celów dotyczących odtwarzalności i wydajności systemu ......................... 126 Określanie architektury sprzętowej oraz architektury powielania danych .................... 127 Określenie dysków przeznaczonych do u ycia w bazie danych.................................. 128 Wybór właściwego układu ..................................................................................... 129 Weryfikacja przybli onych wartości obcią enia związanego z operacjami wejścia-wyjścia... 132 Rozwiązania ............................................................................................................... 134 Układ dla małej bazy wykorzystywanej przez programistów ..................................... 134 Układ dla produkcyjnej bazy danych typu OLTP ..................................................... 135 Układ dla produkcyjnej bazy danych typu OLTP zawierającej dane archiwalne........... 136 Układ dla hurtowni danych..................................................................................... 136 Poło enie plików......................................................................................................... 139 Wykorzystanie przestrzeni przez bazę danych................................................................ 139 Znaczenie klauzuli składowania.............................................................................. 141 Przestrzenie tabel zarządzane lokalnie ..................................................................... 141 Segmenty tabel...................................................................................................... 143 Segmenty indeksów ............................................................................................... 144 Segmenty wycofania.............................................................................................. 145 Segmenty tymczasowe........................................................................................... 145 Wolna przestrzeń................................................................................................... 146 Zmiana rozmiaru plików danych................................................................................... 148 Automatyczne rozszerzanie plików danych.............................................................. 148 Przenoszenie plików bazy danych................................................................................. 149 Przenoszenie plików danych................................................................................... 149 Przenoszenie plików danych za pomocą pakietu Oracle Enterprise Manager ............... 152 Przenoszenie plików czynnego dziennika powtórzeń ................................................ 157 Przenoszenie plików sterujących............................................................................. 157 Zwalnianie przestrzeni przydzielonej segmentom danych................................................ 158 Odzyskiwanie wolnej przestrzeni z plików danych ................................................... 158 Odzyskiwanie wolnej przestrzeni z tabel, klastrów oraz indeksów ............................. 159 Przebudowywanie indeksów................................................................................... 161 Przebudowywanie indeksów na bie ąco .................................................................. 162 Wykorzystanie mechanizmu Oracle Managed Files (OMF)............................................. 162 Konfigurowanie środowiska ................................................................................... 163 Tworzenie plików OMF ......................................................................................... 163 Konserwacja plików OMF...................................................................................... 165 Fizyczne dopasowanie ................................................................................................. 165 Część II Zarządzanie bazą danych ....................................................167 Rozdział 5. Zarządzanie procesem tworzenia aplikacji ............................................169 Trzy podstawowe warunki powodzenia ......................................................................... 169 Prawidłowa współpraca ............................................................................................... 170 Proces zarządzania ...................................................................................................... 171 Definiowanie środowiska ....................................................................................... 171 Definicje ról.......................................................................................................... 172 Zadania ................................................................................................................ 174 Zarządzanie zasobami i składowane plany wykonania............................................... 177 Rozmiary obiektów bazy danych ............................................................................ 184 Tworzenie iteracyjne ............................................................................................. 208 Iteracyjne definicje kolumn .................................................................................... 208 Przenoszenie tabel przy otwartej bazie danych ......................................................... 209 Wymuszanie współu ytkowania kursorów............................................................... 211 Technologia................................................................................................................ 212 Narzędzia typu CASE ............................................................................................ 212 Katalogi współu ytkowane..................................................................................... 213
  • 5. 8 Oracle9i. Podręcznik administratora baz danych Bazy danych kontroli projektu ................................................................................ 213 Dyskusyjne bazy danych........................................................................................ 213 Zarządzanie pakietami ................................................................................................. 213 Tworzenie diagramów............................................................................................ 214 Wymagania dotyczące przestrzeni........................................................................... 214 Cele strojenia ........................................................................................................ 214 Wymagania związane z ochroną danych.................................................................. 214 Wymagania związane z obsługą danych .................................................................. 215 Wymagania związane z wersjami............................................................................ 215 Plany wykonania ................................................................................................... 215 Procedury testów przyjęcia..................................................................................... 216 Obszar testowania ................................................................................................. 216 Zarządzanie środowiskiem ........................................................................................... 217 Rozdział 6. Monitorowanie wykorzystania przestrzeni .............................................219 Najczęściej spotykane przyczyny problemów ................................................................ 219 Brak wolnego miejsca w przestrzeni tabel................................................................ 220 Niewystarczająca przestrzeń dla segmentów tymczasowych ...................................... 221 Osiągnięcie maksymalnych rozmiarów przez segmenty wycofania............................. 221 Fragmentacja segmentów danych............................................................................ 222 Fragmentacja wolnej przestrzeni ............................................................................. 223 Niewłaściwie dobrane rozmiary obszarów SGA ....................................................... 223 Wybór celów monitorowania........................................................................................ 224 Produkt końcowy ........................................................................................................ 224 Utworzenie bazy monitorującej, będącej centrum dowodzenia ........................................ 228 Zbieranie danych................................................................................................... 231 Generowanie raportów ostrze eń ............................................................................ 237 Raport sumaryczny dotyczący przestrzeni................................................................ 240 Usuwanie danych .................................................................................................. 243 Monitorowanie struktur pamięciowych.......................................................................... 244 Dodatkowe alerty i ostrze enia ..................................................................................... 244 Operacje wejścia-wyjścia na plikach bazy danych .................................................... 245 Tempo przydziału przestrzeni w obiektach............................................................... 249 Dobrze zarządzana baza danych ................................................................................... 252 Rozdział 7. Zarządzanie transakcjami ....................................................................253 Przegląd segmentów wycofania .................................................................................... 253 Wykorzystanie segmentów wycofania przez bazę danych ......................................... 254 Aktywowanie segmentów wycofania....................................................................... 257 Określenie segmentu wycofania transakcji ............................................................... 259 Wykorzystanie przestrzeni wewnątrz segmentów wycofania ........................................... 259 Optymalna klauzula składowania ............................................................................ 262 Monitorowanie wykorzystania segmentu wycofania ....................................................... 264 Zmniejszanie segmentów wycofania ....................................................................... 265 Monitorowanie bie ącego statusu............................................................................ 265 Monitorowanie dynamicznych rozszerzeń................................................................ 266 Transakcje przypadające na segment wycofania ....................................................... 269 Rozmiary danych w segmentach wycofania ............................................................. 269 Wykorzystanie pakietu Oracle Enterprise Manager do zarządzania segmentami wycofania... 270 Tworzenie segmentu wycofania za pomocą pakietu OEM ......................................... 270 Tworzenie segmentu wycofania o właściwościach istniejącego segmentu wycofania ... 273 Nadawanie segmentowi wycofania statusu online..................................................... 273 Nadawanie segmentowi wycofania statusu offline .................................................... 274 Usuwanie segmentu wycofania ............................................................................... 274
  • 6. Spis treści 9 Określenie liczby i rozmiaru segmentów wycofania ....................................................... 274 Wielkość rekordu transakcji ................................................................................... 275 Liczba transakcji ................................................................................................... 276 Wyznaczenie optymalnego rozmiaru ....................................................................... 276 Tworzenie segmentów wycofania ........................................................................... 277 Produkcyjne segmenty wycofania a segmenty wycofania związane z procesem ładowania danych ................................................................ 278 Rozwiązania ............................................................................................................... 279 Aplikacje OLTP.................................................................................................... 279 Hurtownie danych i aplikacje wsadowe ................................................................... 280 Korzystanie z przestrzeni odwołania ............................................................................. 281 Ustawianie wstrzymywania odwoływanych danych.................................................. 282 Tworzenie przestrzeni odwołania ............................................................................ 282 Monitorowanie przestrzeni odwołania ..................................................................... 283 Zasady stosowania przestrzeni odwołania ................................................................ 283 Rozdział 8. Strojenie bazy danych..........................................................................285 Strojenie projektu aplikacji........................................................................................... 285 Efektywny projekt tabeli ........................................................................................ 286 Podział zasobów procesora..................................................................................... 287 Efektywny projekt aplikacji.................................................................................... 289 Strojenie kodu SQL..................................................................................................... 290 Wpływ uporządkowania na tempo ładowania........................................................... 292 Dodatkowe opcje indeksowania .............................................................................. 293 Generowanie planów wykonania............................................................................. 295 Strojenie wykorzystywania pamięci .............................................................................. 298 Definiowanie rozmiaru obszaru SGA ...................................................................... 302 U ycie optymalizatora kosztowego ......................................................................... 303 Strojenie przechowywania danych ................................................................................ 305 Defragmentacja segmentów.................................................................................... 306 Szacowanie wykorzystania indeksów ...................................................................... 309 Przestrzenie tabel zarządzane lokalnie ..................................................................... 310 Defragmentacja wolnych obszarów ......................................................................... 311 Identyfikowanie wierszy rozdzielonych ................................................................... 314 Zwiększenie rozmiaru bloku Oracle ........................................................................ 315 Korzystanie z tabel indeksowych ............................................................................ 316 Strojenie manipulacji danymi ....................................................................................... 318 Wstawienia masowe — wykorzystanie opcji bezpośredniego ładowania programu SQL*Loader ........................................................................................ 318 Wstawienia masowe — praktyczne porady.............................................................. 321 Usunięcia masowe: polecenie truncate..................................................................... 323 Partycje................................................................................................................ 324 Strojenie pamięci fizycznej .......................................................................................... 324 Stosowanie urządzeń bezpośrednich........................................................................ 325 Stosowanie macierzy RAID i powielanie dysków..................................................... 325 Strojenie pamięci logicznej .......................................................................................... 325 Zredukowanie ruchu w sieci ......................................................................................... 326 Dane replikacji ...................................................................................................... 326 Zastosowanie wywołań odległych procedur ............................................................. 332 Wykorzystanie programu OEM oraz pakietów strojenia wydajności ................................ 334 Pakiet Oracle Expert .............................................................................................. 334 Opcja mened era wydajności Performance Manager ................................................ 337 Rozwiązania strojenia .................................................................................................. 340
  • 7. 10 Oracle9i. Podręcznik administratora baz danych Rozdział 9. Korzystanie z pakietu STATSPACK .......................................................343 Instalowanie pakietu STATSPACK .............................................................................. 343 Zabezpieczenia konta PERFSTAT.......................................................................... 344 Po instalacji .......................................................................................................... 344 Zbieranie statystyk ................................................................................................ 345 Uruchamianie raportów statystycznych ................................................................... 348 Zarządzanie danymi zebranymi przez STATSPACK ................................................ 351 Odinstalowanie pakietu STATSPACK .................................................................... 352 Rozdział 10. Zabezpieczenie i monitorowanie bazy danych........................................353 Mo liwości zabezpieczenia .......................................................................................... 353 Zabezpieczenie konta............................................................................................. 354 Uprawnienia obiektowe.......................................................................................... 354 Uprawnienia i role systemowe ................................................................................ 354 Wdra anie zabezpieczeń .............................................................................................. 355 Punkt wyjścia: zabezpieczenie systemu operacyjnego ............................................... 355 Tworzenie u ytkowników ...................................................................................... 355 Usuwanie u ytkowników ....................................................................................... 359 Uprawnienia systemowe ........................................................................................ 359 Profile u ytkownika............................................................................................... 363 Zarządzanie hasłem ............................................................................................... 365 Uniemo liwianie ponownego zastosowania hasła ..................................................... 367 Ustawienie zło oności haseł ................................................................................... 368 Wiązanie kont bazy danych z kontami hosta ............................................................ 373 Wykorzystanie pliku haseł do identyfikacji .............................................................. 376 Ochrona za pomocą haseł....................................................................................... 377 Uprawnienia obiektowe.......................................................................................... 378 Wykazy uprawnień................................................................................................ 382 Ograniczanie dostępnych poleceń za pomocą tabel Product User Profile .......................... 384 Zabezpieczenie hasła podczas logowania....................................................................... 385 Szyfrowanie haseł zwiększa mo liwości kontroli ........................................................... 386 Składowanie haseł ................................................................................................. 386 Ustawianie niemo liwych haseł .............................................................................. 386 Przejmowanie konta innego u ytkownika ................................................................ 387 Wirtualne Prywatne Bazy Danych ................................................................................ 391 Tworzenie bazy VPD ............................................................................................ 392 Obserwacja................................................................................................................. 398 Obserwacja logowania ........................................................................................... 399 Obserwacja działań................................................................................................ 399 Obserwacja obiektów............................................................................................. 401 Ochrona zapisu obserwacji ..................................................................................... 403 Zabezpieczenie w środowisku rozproszonym................................................................. 403 Rozwiązania ............................................................................................................... 404 Rozdział 11. Procedury tworzenia kopii zapasowych i odtwarzania danych.................405 Mo liwości................................................................................................................. 405 Logiczne kopie zapasowe............................................................................................. 406 Programy Export i Import ...................................................................................... 406 Fizyczne kopie zapasowe ............................................................................................. 407 Kopie zapasowe zamkniętych plików danych........................................................... 407 Kopie zapasowe otwartych plików danych............................................................... 408 Wdro enia .................................................................................................................. 409 Eksportowanie ...................................................................................................... 409 Importowanie........................................................................................................ 418 Kopie zapasowe zamkniętych plików danych........................................................... 424
  • 8. Spis treści 11 Kopie zapasowe otwartych plików danych............................................................... 426 U ywanie programu LogMiner ............................................................................... 438 Rezerwowe bazy danych (typu standby).................................................................. 446 Integracja procedur wykonywania kopii zapasowych...................................................... 448 Integracja logicznych i fizycznych kopii zapasowych ............................................... 448 Integracja operacji wykonywania kopii zapasowych bazy danych i systemu operacyjnego........................................................................................ 450 Rozdział 12. Wykorzystanie narzędzia Recovery Manager (RMAN)............................453 Ogólne informacje na temat narzędzia Recovery Manager .............................................. 453 Architektura narzędzia Recovery Manager............................................................... 455 Korzystanie z narzędzia Recovery Manager i programu RMAN................................. 459 U ywanie narzędzia OEM Backup Manager ............................................................ 465 Odtwarzanie za pomocą narzędzia OEM ................................................................. 474 Generowanie list i raportów.................................................................................... 479 Zalecenia odnośnie wykorzystania programu RMAN ..................................................... 482 Część III System Oracle w sieci ........................................................487 Rozdział 13. Narzędzie Oracle Net............................................................................489 Ogólne wiadomości na temat Oracle Net ....................................................................... 489 Deskryptory połączeń ............................................................................................ 493 Nazwy usług ......................................................................................................... 494 Zastąpienie pliku tnsnames.ora narzędziem Oracle Internet Directory......................... 494 Procesy nasłuchujące ............................................................................................. 495 Procesy nasłuchujące w systemie Oracle9i............................................................... 496 Stosowanie narzędzia Oracle Net Configuration Assistant............................................... 498 Konfigurowanie procesu nasłuchującego ................................................................. 499 Stosowanie narzędzia Oracle Net Manager .................................................................... 505 Narzędzie Oracle Connection Manager.................................................................... 507 Stosowanie narzędzia Connection Manager.............................................................. 508 Nazewnictwo katalogów w Oracle Internet Directory................................................ 511 U ywanie serwera Oracle Names............................................................................ 514 Uruchamianie procesu nasłuchującego serwera .............................................................. 515 Kontrolowanie procesu nasłuchującego serwera............................................................. 517 Przykład zastosowania — aplikacje klient-serwer........................................................... 519 Przykład zastosowania — powiązania baz danych.......................................................... 519 Przykład zastosowania — polecenie copy...................................................................... 521 Serwer Oracle Names a konfiguracje klienta lub serwery katalogowe............................... 523 Strojenie interfejsu Oracle Net...................................................................................... 524 System Unix i Oracle Net............................................................................................. 525 Identyfikacja hostów.............................................................................................. 526 Identyfikacja baz danych........................................................................................ 526 Rozwiązywanie problemów z połączeniami ............................................................. 527 Rozdział 14. Strojenie serwera 9iAS ........................................................................529 Uruchamianie, zatrzymywanie oraz ponowne uruchamianie serwera iAS (Apache) ........... 530 Strojenie serwera Apache oraz protokołu TCP ............................................................... 532 Zwiększanie poziomu bezpieczeństwa instalacji serwera Apache............................... 533 Strojenie konfiguracji serwera Oracle HTTP Server ....................................................... 534 Korzystanie z usług Oracle Caching.............................................................................. 535 Oracle Web Cache ...................................................................................................... 535 Korzystanie z Oracle Web Cache............................................................................ 536 Oracle Web Cache Manager ................................................................................... 537
  • 9. 12 Oracle9i. Podręcznik administratora baz danych Uniewa nianie buforowanych dokumentów............................................................. 550 Równowa enie obcią enia pomiędzy serwerami aplikacji ......................................... 552 Oracle9iAS Database Cache......................................................................................... 553 Sposób działania Database Cache ........................................................................... 553 Wykorzystywanie Oracle9iAS Database Cache........................................................ 555 Rozdział 15. Zarządzanie dużymi bazami danych.......................................................557 Konfiguracja środowiska.............................................................................................. 557 Ustalanie rozmiarów du ych baz danych ................................................................. 558 Ustalanie rozmiarów obszarów wspomagania........................................................... 563 Wybór układu fizycznego....................................................................................... 564 Partycje................................................................................................................ 565 Tworzenie perspektyw materializowanych............................................................... 574 Tworzenie i zarządzanie tabelami indeksowymi ....................................................... 575 Tworzenie i zarządzanie tabelami zewnętrznymi ...................................................... 576 Tworzenie i zarządzanie globalnymi tabelami tymczasowymi.................................... 577 Tworzenie i zarządzanie indeksami bitmapowymi .................................................... 577 Zarządzanie transakcjami ............................................................................................. 579 Konfigurowanie środowiska transakcji wsadowych .................................................. 580 Ładowanie danych................................................................................................. 582 Wstawianie danych................................................................................................ 583 Usuwanie danych .................................................................................................. 584 Kopie zapasowe .......................................................................................................... 587 Określenie potrzeb i strategii wykonywania kopii zapasowych .................................. 587 Opracowanie planu wykonywania kopii zapasowych ................................................ 589 Strojenie..................................................................................................................... 590 Strojenie zapytań wobec du ych tabel ..................................................................... 591 Stosowanie przenośnych przestrzeni tabel...................................................................... 593 Generowanie zestawu przenośnych przestrzeni tabel................................................. 594 Podłączanie zestawu przenośnych przestrzeni tabel .................................................. 595 Przestrzenie tabel zarządzane lokalnie ........................................................................... 596 Rozdział 16. Zarządzanie rozproszonymi bazami danych............................................599 Odległe zapytania........................................................................................................ 600 Operacje na odległych danych — zatwierdzanie dwufazowe ........................................... 601 Dynamiczna replikacja danych ..................................................................................... 602 Zarządzanie danymi rozproszonymi .............................................................................. 603 Infrastruktura — wymuszenie przezroczystości lokalizacji ........................................ 604 Zarządzanie powiązaniami baz danych .................................................................... 609 Zarządzanie wyzwalaczami baz danych................................................................... 611 Zarządzanie perspektywami materializowanymi....................................................... 613 U ywanie narzędzia OEM w celu tworzenia perspektyw materializowanych............... 625 Zarządzanie transakcjami rozproszonymi ...................................................................... 631 Rozwiązywanie nierozstrzygniętych transakcji rozproszonych................................... 631 Monitorowanie rozproszonych baz danych ....................................................................... 633 Strojenie rozproszonych baz danych ............................................................................. 634 Stosowanie kolejek zadań ............................................................................................ 637 Zarządzanie zadaniami........................................................................................... 638 Dodatki ...............................................................................................641 Dodatek A Zestawienie poleceń SQL dla administratorów baz danych ....................643 ALTER DATABASE ............................................................................................ 643 ALTER INDEX .................................................................................................... 665 ALTER MATERIALIZED VIEW .......................................................................... 679
  • 10. Spis treści 13 ALTER MATERIALIZED VIEW LOG .................................................................. 688 ALTER OUTLINE................................................................................................ 692 ALTER PROFILE ................................................................................................ 693 ALTER ROLE...................................................................................................... 694 ALTER ROLLBACK SEGMENT.......................................................................... 695 ALTER SEQUENCE ............................................................................................ 697 ALTER SYSTEM................................................................................................. 699 ALTER TABLE.................................................................................................... 708 ALTER TABLESPACE......................................................................................... 759 ALTER TRIGGER................................................................................................ 765 ALTER USER ...................................................................................................... 767 ASSOCIATE STATISTICS................................................................................... 770 AUDIT................................................................................................................. 773 CREATE CONTROLFILE .................................................................................... 780 CREATE DATABASE.......................................................................................... 784 CREATE DATABASE LINK ................................................................................ 792 CREATE DIRECTORY ........................................................................................ 794 CREATE INDEX.................................................................................................. 795 CREATE LIBRARY ............................................................................................. 810 CREATE MATERIALIZED VIEW ........................................................................ 811 CREATE MATERIALIZED VIEW LOG................................................................ 824 CREATE OUTLINE ............................................................................................. 828 CREATE PFILE ................................................................................................... 831 CREATE PROFILE .............................................................................................. 832 CREATE ROLE ................................................................................................... 836 CREATE ROLLBACK SEGMENT ....................................................................... 837 CREATE SEQUENCE .......................................................................................... 839 CREATE SPFILE ................................................................................................. 842 CREATE SYNONYM........................................................................................... 844 CREATE TABLE ................................................................................................. 846 CREATE TABLESPACE ...................................................................................... 881 CREATE TEMPORARY TABLESPACE ............................................................... 888 CREATE TRIGGER ............................................................................................. 890 CREATE USER.................................................................................................... 898 CREATE VIEW.................................................................................................... 901 EXPLAIN PLAN .................................................................................................. 907 GRANT ............................................................................................................... 909 klauzula_składowania ............................................................................................ 924 klauzula_warunku ................................................................................................. 929 NOAUDIT ........................................................................................................... 944 RENAME............................................................................................................. 946 REVOKE ............................................................................................................. 947 SET CONSTRAINT[S] ......................................................................................... 952 SET ROLE ........................................................................................................... 953 SET TRANSACTION ........................................................................................... 954 specyfikacja_pliku................................................................................................. 956 TRUNCATE ........................................................................................................ 958 Dodatek B Parametry inicjalizacji..........................................................................963 Od tłumacza ............................................................................................................... 963 Lista parametrów inicjalizacji systemu Oracle9i............................................................. 963 Skorowidz............................................................................................985
  • 11. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych Celem tworzenia i wymuszania procedur zabezpieczenia jest ochrona jednego z najcen- niejszych zasobów firmy — danych. Składowanie danych w bazie danych czyni je bar- dziej u ytecznymi i dostępnymi dla całej firmy ale równie zwiększa prawdopodobień- stwo uzyskiwania do nich nieautoryzowanego dostępu. Takie próby dostępu muszą być wykrywane i nale y im zapobiegać. Baza danych Oracle posiada kilka poziomów zabezpieczeń i zapewnia mo liwość mo- nitorowania ka dego z nich. W niniejszym rozdziale podano opis wszystkich poziomów zabezpieczeń oraz omówiono proces ich obserwacji. Przedstawiono równie metody ustawiania niemo liwych do wykrycia haseł oraz wymuszanie na hasłach uniewa nień. Możliwości zabezpieczenia Baza danych Oracle udostępnia administratorowi bazy danych kilka poziomów zabez- pieczeń: zabezpieczenie konta w celu kontroli działania u ytkowników; zabezpieczenie konta dla obiektów bazy danych; zabezpieczenie na poziomie systemu w celu zarządzania uprawnieniami globalnymi. Ka da z tych mo liwości zostanie omówiona w następnych podrozdziałach. Podroz- dział Wdra anie zabezpieczeń zawiera szczegółowe informacje dotyczące efektywnego wykorzystania dostępnych opcji.
  • 12. 354 Część II Zarządzanie bazą danych Zabezpieczenie konta Aby uzyskać dostęp do bazy danych Oracle, konieczne jest uzyskanie dostępu do konta w bazie danych. Ten dostęp mo e być albo bezpośredni — przez połączenia u ytkow- nika z bazą danych, albo pośredni. Do połączeń pośrednich zalicza się uzyskiwanie do- stępu przez wstępnie ustawione autoryzacje wewnątrz powiązań między bazami danych. Ka de konto musi posiadać swoje hasło. Konto bazy danych mo e być związane z kon- tem systemu operacyjnego. Hasło jest ustawiane przez u ytkownika podczas tworzenia konta u ytkownika i mo e być zmienione po utworzeniu konta. Mo liwość zmiany hasła konta przez u ytkownika jest ograniczona właściwościami programów narzędziowych, do których u ytkownikowi przyznano dostęp. Baza danych przechowuje zaszyfrowaną wersję hasła w tabeli słow- nika danych. Je eli konto jest bezpośrednio związane z kontem systemu operacyjnego, istnieje mo liwość pominięcia procesu sprawdzania hasła i zamiast tego poleganie na systemowej metodzie identyfikacji u ytkowników. Od wersji Oracle8 hasło mo e być ponownie wykorzystane (za pomocą ustawienia hi- storii hasła bazy danych). Mo na równie u yć profili do wymuszenia standardowych parametrów hasła (takich jak minimalna długość). Mo na równie automatycznie blo- kować hasła, je eli występuje wiele kolejnych błędów podczas łączenia się z kontem. Uprawnienia obiektowe Dostęp do poszczególnych obiektów bazy danych jest uaktywniany przez uprawnienia (ang. privileges). Uprawnienia są nadawane za pomocą polecenia ITCPV i umo liwiają wykonywanie określonych poleceń w odniesieniu do określonych obiektów bazy danych. Na przykład, je eli u ytkownik 6*7/2'4 jest właścicielem tabeli '/2.1;'' i wykonuje polecenie ITCPV UGNGEV QP '/2.1;'' VQ 27$.+% wtedy wszyscy u ytkownicy (27$.+%) będą mogli wybierać rekordy z tabeli '/2.1;'' u ytkownika 6*7/2'4. W celu uproszczenia zarządzania uprawnieniami mo na tworzyć role, które są nazwanymi grupami uprawnień. W przypadku aplikacji, z których korzy- sta wielu u ytkowników, zastosowanie mechanizmu ról w du ym stopniu zmniejsza liczbę nadawanych uprawnień. Role mogą być zabezpieczone hasłem, mogą być dyna- micznie aktywowane i dezaktywowane, co umo liwia uzyskanie dodatkowej warstwy zabezpieczenia. Uprawnienia i role systemowe Istnieje mo liwość wykorzystania roli do zarządzania dostępnymi dla u ytkowników poleceniami systemowymi. Do tych poleceń zalicza się: ETGCVG VCDNG oraz CNVGT KPFGZ. Operacje dotyczące ka dego typu obiektu bazy danych są autoryzowane za pomocą osobnych uprawnień. Na przykład u ytkownikowi mo na przyznać prawo %4'#6' 6#$.' ale nie prawo %4'#6' 6;2'. Tworzone role systemowe mo na dostosowywać do wymagań u ytkowników, co pozwala na przyznawanie dokładnie takich uprawnień, jakich u yt- kownicy ci potrzebują. Unika się w ten sposób przyznawania nadmiernych uprawnień
  • 13. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 355 w bazie danych. Jak wspomniano w rozdziale 5., role %100'%6 oraz 4'5174%' zapewniają podstawowe uprawnienia systemowe wymagane, odpowiednio, przez końcowych u yt- kowników i programistów. U ytkownicy o przypisanej roli 4'5174%' posiadają tym samym prawo systemowe 70.+ /+6' 6#$.'52#%', umo liwiające im tworzenie obiektów w dowolnym miejscu bazy danych. Z powodu tego dodatkowego prawa nale y ograniczać przyznawanie roli 4'51 74%' do środowisk związanych z programowaniem oraz testowaniem aplikacji. Wdrażanie zabezpieczeń W bazie danych Oracle mo na zastosować następujące mechanizmy zabezpieczające: role, profile oraz bezpośrednie przyznawanie uprawnień. Pakiet Oracle Enterprise Ma- nager udostępnia program narzędziowy Security Manager (Mened er zabezpieczeń), co umo liwia zarządzanie kontami u ytkowników, rolami, uprawnieniami i profilami. W następnych podrozdziałach omówiono sposoby wykorzystywania wszystkich tych mo liwości. Uwzględniono tak e kilka nieudokumentowanych opcji dodatkowych. Punkt wyjścia: zabezpieczenie systemu operacyjnego Uzyskanie dostępu do bazy danych jest mo liwe dopiero po uzyskaniu pośredniego lub bezpośredniego dostępu do serwera, na którym jest uruchomiona baza danych. Pierw- szym krokiem zabezpieczania bazy danych jest zabezpieczenie platformy i sieci, w której rezyduje ta platforma. Po dokonaniu tej czynności nale y rozwa yć sposób zabezpie- czenia systemu operacyjnego. Pewne pliki bazy danych Oracle nie muszą być bezpośrednio udostępniane jej u ytkow- nikom. Na przykład, pliki danych oraz pliki czynnego dziennika powtórzeń są zapisywane i odczytywane tylko przez procesy drugoplanowe Oracle. Zatem jedynie administratorzy baz danych, którzy tworzą i usuwają te pliki, wymagają do nich bezpośredniego dostępu na poziomie systemu operacyjnego. Nale y pamiętać o zabezpieczeniu tych plików, jak rów- nie o zabezpieczeniu wynikowych plików eksportu i innych plików kopii zapasowych. Dane mogą być kopiowane do innych baz danych — albo jako część schematu replika- cji, albo podczas zapełniania projektowanej bazy danych. Zatem zabezpieczenie danych jest mo liwe pod warunkiem zabezpieczenia ka dej bazy danych, w której rezydują dane. Nale y tak e pamiętać o kopiach zapasowych ka dej z baz danych. Je eli istnieje mo - liwość uzyskania dostępu osób niepo ądanych do taśm archiwizowania zawierających kopie danych, cały wdro ony w bazie danych system zabezpieczeń staje się bezwarto- ściowy. Nie wolno dopuszczać do mo liwości zaistnienia nieuprawnionego dostępu do którejkolwiek kopii chronionych danych. Tworzenie użytkowników Celem tworzenia u ytkowników jest zakładanie bezpiecznych, u ytecznych kont o ade- kwatnych uprawnieniach i odpowiednich ustawieniach domyślnych. Do tworzenia nowych kont bazy danych mo na u ywać polecenia ETGCVG WUGT. Bezpośrednio po utworzeniu konto nie posiada adnych mo liwości i jego u ytkownik nie jest się w stanie nawet zalogować.
  • 14. 356 Część II Zarządzanie bazą danych Następuje to dopiero po przyznaniu uprawnień. Wszystkie konieczne ustawienia two- rzonego konta u ytkownika mogą być określone za pomocą pojedynczego polecenia ETGCVG WUGT. Do tych ustawień zaliczają się wartości wszystkich parametrów wykaza- nych w tabeli 10.1. Tabela 10.1. Parametry polecenia create user Parametr Zastosowanie WUGTPCOG Nazwa schematu. RCUUYQTF Hasło dla konta. Mo e być bezpośrednio związane z nazwą konta systemu operacyjnego hosta lub identyfikowane przez sieciową usługę identyfikacyjną. Dla identyfikacji bazującej na hoście nale y u yć klauzuli KFGPVKHKGF GZVGTPCNN[. Dla identyfikacji bazującej na sieci nale y u yć klauzuli KFGPVKHKGF INQDCNN[ CU. FGHCWNV VCDNGURCEG Domyślna przestrzeń tabel przeznaczona do składowania obiektów utworzonych w danym schemacie. To ustawienie nie daje u ytkownikowi praw do tworzenia obiektów, tylko ustawia wartość domyślną parametru wykorzystywanego w razie przyznania u ytkownikowi takich uprawnień. VGORQTCT[ Przestrzeń tabel przeznaczona do składowania tymczasowych segmentów VCDNGURCEG wykorzystywanych podczas operacji sortowania w ramach transakcji. SWQVC =QP Umo liwia u ytkownikowi składowanie obiektów w określonej przestrzeni tabel VCDNGURCEG? a do całkowitego rozmiaru określonego jako limit. RTQHKNG Przydziela u ytkownikowi profil. Je eli nie określono adnego profilu, wtedy jest stosowany profil domyślny. Profile umo liwiają ograniczenie wykorzystania zasobów systemowych oraz wymuszają stosowanie reguł zarządzania hasłem. RCUUYQTF GZRKTG Uniewa nia hasło. CEEQWPV Ustawia konto jako zablokowane bądź odblokowane. FGHCWNV TQNG=U? Ustawia domyślne role, które mają być uaktywnione dla u ytkownika. Nie można ustawić domyślnych ról podczas tworzenia użytkownika: ETGCVG WUGT (4' KFGPVKHKGF D[ (4' FGHCWNV TQNG #$% 14# '#(#7.6 41.' ENCWUG PQV XCNKF HQT %4'#6' 75'4 Poni ej przedstawiono przykładowe polecenie ETGCVG WUGT. Tworzony jest tu u ytkow- nik 6*7/2'4 z hasłem 4$$ 6, z domyślną przestrzenią tabel 75'45, z tymczasową prze- strzenią tabel 6'/2 bez limitów wykorzystania przestrzeni oraz z profilem domyślnym. ETGCVG WUGT 6*7/2'4 KFGPVKHKGF D[ 4$$ 6 FGHCWNV VCDNGURCEG 75'45 VGORQTCT[ VCDNGURCEG 6'/2 Nie określono tu adnego profilu, zatem zastosowany będzie profil domyślny bazy da- nych. Jest to rzeczywisty profil o nazwie '(#7.6. Jego początkowe ustawienia dla wszystkich limitów korzystania z zasobów są ustawione na 70.+/+6' (nieograniczony). Szczegółowe informacje dotyczące profili znajdują się w podrozdziale Profile u ytkow- nika w dalszej części tego rozdziału.
  • 15. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 357 Ze względu na to, e nie określono adnych limitów, u ytkownik nie mo e tworzyć obiektów w bazie danych. Przyznanie limitu zasobów przeprowadza się za pomocą pa- rametru SWQVC polecenia ETGCVG WUGT lub polecenia CNVGT WUGT, jak pokazano poni ej. W tym przykładzie u ytkownikowi 6*7/2'4 przyznano limit 100 MB w przestrzeni tabel 75'45. CNVGT WUGT 6*7/2'4 SWQVC / QP 75'45 Po wykonaniu tego polecenia u ytkownik 6*7/2'4 mo e tworzyć segmenty o łącznej wielkości do 100 MB w przestrzeni tabel 75'45. Użytkownicy nie potrzebują limitów przestrzeni w przestrzeni tabel 6'/2, aby dla swoich zapytań tworzyć tymczasowe segmenty w tej przestrzeni tabel. Z wyjątkiem parametru WUGTPCOG (nazwa u ytkownika) wszystkie parametry w polece- niu ETGCVG WUGT mogą być zmienione za pomocą polecenia CNVGT WUGT. Program Security Manager z pakietu OEM umo liwia utworzenie nowego u ytkownika lub utworzenie u ytkownika o tych samych atrybutach, jakie posiada ju istniejący u yt- kownik. Na rysunku 10.1 przedstawiono wygląd początkowego okna interfejsu programu Security Manager, gdzie zaznaczono nazwę u ytkownika 6*7/2'4. Podczas tworzenia u ytkownika za pomocą programu narzędziowego OEM mo na przydzielać role, upraw- nienia systemowe, uprawnienia obiektowe oraz limity. Początkowe okno programu Secu- rity Manager, pokazane na rysunku 10.1, słu y do uaktywniania hasła identyfikującego u ytkownika. Dzięki narzędziom OEM mo na określić role i uprawnienia systemowe a tak e rozmiar przestrzeni przysługującej u ytkownikowi. Za pomocą odpowiedniego oznaczenia hasła, co pokazano na rysunku 10.1, mo na określić rodzaj danego konta u ytkownika. Dane konto mo e być globalne — słu ące do zarządzania odległą bazą danych. Okno to umo liwia równie określenie, e dane konto ma być identyfikowane zewnętrznie (na poziomie systemu operacyjnego). Dostępna jest tak e opcja umo li- wiająca wstępne uniewa nienie hasła, dzięki czemu dane konto mo e być utworzone jako zablokowane lub niezablokowane. Szczegółowe informacje na temat uniewa nienia hasła oraz blokowania konta znajdują się w podrozdziale Zarządzanie hasłem w dalszej czę- ści niniejszego rozdziału. Aby utworzyć nowego u ytkownika za pomocą programu OEM, nale y zaznaczyć w ob- szarze Users (U ytkownicy) przycisk General (Ogólne) i nacisnąć prawy przycisk myszy lub przycisk Create (Utwórz) z menu Object (Obiekt). Po wybraniu opcji Create (Utwórz) lub Create Like (Utwórz podobny do) uaktywnia się kreator User Creation Wizard (Kreator u ytkownika), co pozwala na szczegółowe określenie atrybutów two- rzonego u ytkownika (nadanie ról, uprawnień itd.). Domyślnie nowemu u ytkownikowi nie jest przydzielana adna rola. Aby umo liwić mu łączenie się z bazą danych, nale y przyznać mu prawo %4'#6'A5'55+10. W ten sposób utworzony u ytkownik będzie w stanie połączyć się z bazą danych. Jeśli została określona domyślna wielkość prze- strzeni tabel, zostanie ona przyznana nowemu u ytkownikowi. Dla zwykłego u ytkownika tymczasowa przestrzeń tabel jest ustawiana jako 5[UVGO #UUKIPGF (określona przez system) ale rozwijana lista pozwala na wybranie odpowiedniej tymczasowej przestrzeni tabel. Na rysunku 10.2 przedstawiono wygląd okna Create User
  • 16. 358 Część II Zarządzanie bazą danych Rysunek 10.1. Identyfikacja u ytkownika za pomocą hasła Rysunek 10.2. Okno Create User, zakładka General z oznaczonymi opcjami umo liwiającymi utworzenie nowego u ytkownika o właściwo- ściach podobnych do właściwości u ytkownika 6*7/2'4, wykorzystywanego w przykła- dach prezentowanych w tym rozdziale. Domyślną przestrzenią tabel u ytkownika 6*7/2'4 jest 75'45 a jego tymczasową przestrzenią tabel jest 6'/2. Z powy szego wynika, e no- wemu u ytkownikowi domyślnie przyznano wszystkie przydziały i uprawnienia, które posiada u ytkownik 6*7/2'4. Jedynymi informacjami, które trzeba wprowadzić w celu
  • 17. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 359 utworzenia nowego u ytkownika, są nazwa tego u ytkownika i hasło. Istnieje równie mo liwość wprowadzania innych informacji, które będą ró niły nowo utworzonego u ytkownika od u ytkownika 6*7/2'4. Usuwanie użytkowników Usuwanie u ytkownika z bazy danych przeprowadza się za pomocą polecenia FTQR WUGT. Polecenie FTQR WUGT posiada jeden parametr ECUECFG, którego zastosowanie po- woduje usunięcie wszystkich obiektów w schemacie u ytkownika przed usunięciem tego u ytkownika. Je eli u ytkownik posiada obiekty, konieczne jest określenie parametru ECUECFG w celu usunięcia u ytkownika. Przykładowe polecenie FTQR WUGT pokazano ni ej: FTQR WUGT 6*7/2'4 ECUECFG Wszystkie perspektywy, synonimy, procedury, funkcje lub pakiety odwołujące się do obiektów w schemacie usuniętego u ytkownika są oznaczane jako +08#.+. Jeśli póź- niej zostanie dodany u ytkownik o identycznej nazwie, nie uzyska adnych związanych z poprzednikiem. Struktury te pozostaną niedostępne nawet w przypadku późniejszego utworzenia innego u ytkownika o tej samej nazwie. Program narzędziowy Security Ma- nager pakietu OEM umo liwia usuwanie u ytkowników. Przed ostatecznym usunię- ciem u ytkownika program ten wyświetla okno z ądaniem potwierdzenia. Uprawnienia systemowe Role systemowe mogą słu yć do ustalania, kto ma prawo do wykonywania poleceń systemowych, słu ących do zarządzania bazą danych. Mo na utworzyć odpowiadające rzeczywistym potrzebom role systemowe, albo te zastosować gotowe role, dostarczone wraz z bazą danych. Spis dostępnych uprawnień, które mogą być przyznane przez role systemowe, podano w dodatku A, w QRKUKG RQNGEGPKC )4#06. Klauzula YKVJ ITCPV QRVKQP polecenia ITCPV umo liwia przekazywanie uprawnień in- nym u ytkownikom. W tabeli 10.2 wyszczególniono 15 ról systemowych, dostarczanych wraz z bazą danych Oracle. Zastosowanie tych ról umo liwia ograniczenie uprawnień systemowych przyzna- wanym rolom zarządzania bazy. Oprócz ról pokazanych w tabeli 10.2 baza danych mo e uwzględniać role generowane przez opcję Advanced Queuing Option (#3A75'4A41.', ).1$#.A#3AA75'4A41.' oraz #3A#/+0+564#614A41.'), skrypty Java (,#8#75'424+8, ,#8#+ 24+8, ,#8#'$7)24+8, ,#8#A#/+0 i ,#8#A'2.1;), Oracle Context Management (%6:#22) oraz role generowane za pomocą modułu Intelligent Agents pakietu OEM (rola 1'/A/#0#)'4). Oprócz uprawnień wykazanych w tabeli 10.2 użytkownicy ról $# oraz 4'5174%' otrzymują również prawo 70.+/+6' 6#$.'52#%'. Rola %100'%6 jest zwykle przyznawana u ytkownikom końcowym. Rola ta daje pewne mo liwości tworzenia obiektów (włącznie z prawem %4'#6' 6#$.'), jednak nie nadaje u ytkownikowi adnego limitu (ang. quota) dla przestrzeni tabel. Zatem przed przy- dzieleniem limitów przestrzeni tabel u ytkownicy roli %100'%6 nie mogą tworzyć tabel.
  • 18. 360 Część II Zarządzanie bazą danych Tabela 10.2. Role systemowe dostarczone w Oracle9i Nazwa roli Uprawnienia przyznane roli %100'%6 #.6'4 5'55+10, %4'#6' %.756'4, %4'#6' #6#$#5' .+0-, %4'#6' 5'37'0%', %4'#6' 5;010;/, %4'#6' 6#$.', %4'#6' 8+'9 4'5174%' %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 5'37'0%', %4'#6' 6#$.', %4'#6' 64+))'4 $# Wszystkie uprawnienia systemowe 9+6* #/+0 126+10 ':2A(7..A#6#$#5' 5'.'%6 #0; 6#$.', $#%-72 #0; 6#$.', instrukcje +05'46, '.'6' oraz 72#6' na tabelach 5;5+0%8+, 5;5+0%(+. oraz 5;5+0%':2 9/A#/+0A41.' Wszystkie uprawnienia narzędzia Worspace Manger wraz z opcją )4#06 126+10 +/2A(7..A#6#$#5' $'%1/' 75'4 '.'6'A%#6#.1)A41.' prawo '.'6' na wszystkich pakietach słownika ':'%76'A%#6#.1)A41.' prawo ':'%76' na wszystkich pakietach słownika 5'.'%6A%#6#.1)A41.' prawo 5'.'%6 na wszystkich tabelach i perspektywach katalogowych %4'#6'A6;2' %4'#6' 6;2', ':'%76', ':'%76' #0; 6;2', #/+0 126+10, )4#06 126+10 4'%18'4;A%#6#.1)A190'4 412 41.', %4'#6' 41.', %4'#6' 64+))'4, %4'#6' 241%'74' 1.#2A$# #.6'4 #0; +/'05+10, #.6'4 #0; 6#$.', #0#.;' #0;, %4'#6' #0; +/'05+10, %4'#6' #0; +0':, %4'#6' #0; 6#$.', %4'#6' #0; 8+'9, 412 #0; +/'05+10, 412 #0; 6#$.', 412 #0; 8+'9, .1%- #0; 6#$.', 5'.'%6 #0; +%6+10#4;, 5'.'%6 #0; 6#$.' *5A#/+0A41.' *5A':6'40#.A1$,'%6, *5A':6'40#.A75'4 9-#/+0 %4'#6' #0; +%6+10#4;, %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 6#$.', %4'#6' 64+))'4, %4'#6' 6;2', 412 #0; +4'%614; 9-75'4 %4'#6' #0; +%6+10#4;, %4'#6' %.756'4, %4'#6' 241%'74', %4'#6' 6#$.', %4'#6' 64+))'4, %4'#6' 6;2', 412 #0; +4'%614; Rola 4'5174%' jest przyznawana programistom. Zgodnie z informacjami przedstawionymi w rozdziale 5., rola 4'5174%' daje u ytkownikom najczęściej stosowane uprawnienia potrzebne do programowania aplikacji. Rola $# posiada wszystkie 124 uprawnienia dostępne na poziomie systemu z opcją nadawania tych uprawnień innym u ytkownikom ()4#06 126+10). Firma Oracle zaleca tworzenie własnych ról a nie poleganie na trzech opisanych powy- żej. Role $#, %100'%6 czy 4'5174%' mogą zostać zarzucone w przyszłych wersjach. Role +/2A(7..A#6#$#5' oraz ':2A(7..A#6#$#5' są stosowane, odpowiednio, podczas importowania i eksportowania danych z bazy (patrz rozdział 11.). Te role stanowią część roli $#. Role te mogą tak e słu yć do przyznania u ytkownikom ograniczonych uprawnień zarządzania bazą danych. Role 5'.'%6A%#6#.1)A41.', ':'%76'A%#6#.1)A41.' oraz '.'6'A%#6#.1)A41.' zostały wprowadzone w wersji Oracle8.
  • 19. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 361 Role 5'.'%6A%#6#.1)A41.' oraz ':'%76'A%#6#.1)A41.' przyznają u ytkownikom upraw- nienia do wybierania lub wykonywania eksportowalnych obiektów słownika danych. Warto tu wspomnieć, e nie ka dy obiekt bazy danych jest eksportowany podczas peł- nego eksportu systemowego. Dokładniejsze informacje na ten temat znajdują się w roz- dziale 11. Na przykład, dynamiczne perspektywy wydajności systemu (patrz rozdział 6.) nie są eksportowane. Zatem rola 5'.'%6A%#6#.1)A41.' nie daje u ytkownikowi mo li- wości wybierania danych z dynamicznych tabel wydajności 8 41..56#6, ale daje mu mo liwość wykonywania zapytań na większości danych ze słownika danych. Podobnie rola ':'%76'A%#6#.1)A41.' daje u ytkownikom mo liwość wykonywania procedur i funkcji, które są częścią słownika danych. Prawo %4'#6' 6;2' jest uaktywniane, je eli jest stosowana opcja Option. U ytkownicy, którzy mają uaktywnione prawo %4'#6' 6;2', mogą tworzyć nowe, abstrakcyjne typy danych. Po udostępnieniu ról i uprawnień systemowych mo na ponownie sprawdzić proces two- rzenia konta. Podobnie jak w przypadku procesu tworzenia kopii zapasowej bazy da- nych, do utworzenia konta nale y posiadać uprawnienia na poziomie DBA. Jednak mo na tak e określić inne uprawnienia, które umo liwiają tworzenie nowych u ytkowników. Przykładowo, mo na utworzyć nową rolę systemową o nazwie #%%1706A%4'#614. Rola ta umo liwiałaby tylko tworzenie u ytkowników bez mo liwości wykonywania innych poleceń dostępnych administratorowi. Poni ej przedstawiono przykładowe polecenia, które utworzą taką rolę. ETGCVG TQNG #%%1706A%4'#614 ITCPV %4'#6' 5'55+10 %4'#6' 75'4 #.6'4 75'4 VQ #%%1706A%4'#614 Pierwsze polecenie z powy szego przykładu tworzy rolę o nazwie #%%1706A%4'#614, natomiast drugie przyznaje tej roli mo liwość zalogowania (%4'#6' 5'55+10) oraz tworze- nia i zmiany kont (%4'#6' 75'4 oraz #.6'4 75'4). Przykładowo, rola #%%1706A%4'#614 mo e być wykorzystywana przez centralne biuro pomocy, którego zadaniem byłoby koordynowanie tworzenia wszystkich nowych kont w danej aplikacji. Rolę tę mo na utworzyć za pomocą pakietu OEM przez wybranie opcji Create Role (Utwórz rolę) i wprowadzenie odpowiednich informacji. Na rysunku 10.3 przedstawiono sposób two- rzenia roli #%%1706A%4'#614 za pomocą programu narzędziowego Security Manager pa- kietu OEM. Rysunek 10.4 przedstawia sposób przypisania uprawnień do tej roli. Centralne tworzenie kont jest pomocne w zapewnianiu odpowiednich procedur autory- zacji ądań dostępu do poszczególnych kont. Elastyczność przyznawania uprawnień i ról systemowych umo liwia przydzielenie u ytkownikowi (kontynuując przykład, mo- głoby to być centralne biuro pomocy) uprawnień pozwalających na tworzenie kont bez zapewnienia temu u ytkownikowi mo liwości wykonywania zapytań do bazy danych. Mo liwość tworzenia roli #%%1706A%4'#614 jest szczególnie u yteczna podczas wdra ania oprogramowania pakietowego. Liczni, niezale ni od siebie producenci aplikacji pakie- towych zało yli, e u ytkownicy tych aplikacji będą posiadali pełne uprawnienia admi- nistratora bazy danych, kiedy faktycznie są potrzebne jedynie mo liwości wykonywania poleceń ETGCVG WUGT oraz CNVGT WUGT. Utworzenie roli #%%1706A%4'#614 pozwoli na ograniczenie schematu pakietu uprawnień właściciela w pozostałej części bazy danych.
  • 20. 362 Część II Zarządzanie bazą danych Rysunek 10.3. Tworzenie roli ACCOUNT_ CREATOR Rysunek 10.4. Przypisanie uprawnień systemowych roli ACCOUNT_ CREATOR Role określone jako domyślne są uaktywniane po ka dym zalogowaniu. Za pomocą klauzuli FGHCWNV TQNG polecenia CNVGT WUGT mo na zmieniać domyślną rolę u ytkownika. Mo na równie określić, e dany u ytkownik nie posiada adnych ról uaktywnianych domyślnie. CNVGT WUGT 6*7/2'4 FGHCWNV TQNG 010' Mo na określić role do uaktywnienia. CNVGT WUGT 6*7/2'4 FGHCWNV TQNG %100'%6
  • 21. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 363 Mo na równie określić role, które nie powinny być uaktywniane po rozpoczęciu sesji. CNVGT WUGT 6*7/2'4 FGHCWNV TQNG CNN GZEGRV #%%1706A%4'#614 Określenie danej roli jako domyślnej za pomocą polecenia CNVGT WUGT nie powiedzie się, je eli rola ta nie została ju wcześniej przyznana u ytkownikowi. Przykładowo, je eli dany u ytkownik nie posiada roli %100'%6 na poziomie systemu, wtedy próba ustawienia dla u ytkownika tej roli jako domyślnej zakończy się wystąpieniem następującego komu- nikatu o błędzie: 14# TQNG %100'%6 FQGU PQV GZKUVU Je eli określona rola jest specyficzną rolą bazy danych, która nie została przyznana u ytkownikowi, polecenie CNVGT WUGT nie powiedzie się i wystąpi następujący komunikat o błędzie: 14# '(#7.6 41.' #%%1706A%4'#614 PQV ITCPVGF VQ WUGT Zatem przed ustalaniem domyślnych ról u ytkowników jest konieczne przyznanie tych ról. W przypadku zastosowania klauzuli FGHCWNV TQNG CNN wszystkie role u ytkownika są uaktywniane po rozpoczęciu sesji u ytkownika. Je eli planowane jest dynamiczne aktywowanie i dezaktywowanie ról w ró nych częściach aplikacji (za pomocą poleceń UGV TQNG), wtedy nale y kontrolować, które role są uaktywniane domyślnie. Parametr /#:A'0#$.'A41.'5 pliku init.ora ogranicza liczbę ról, jakie każdy użytkow- nik może jednocześnie posiadać jako aktywne. Dla systemu Oracle9i wartością do- myślną jest . Przy tworzeniu roli jest ona uaktywniana domyślnie. Jeżeli jest tworzonych wiele ról, wtedy można przekroczyć ustawienie /#:A'0#$.'A41.'5, nawet jeżeli nie jest się użytkownikiem tych ról. Profile użytkownika Profile u ytkownika mogą słu yć do określania limitów ilości zasobów systemu i bazy danych dostępnych dla u ytkownika oraz do zarządzania ograniczeniami hasła. Je eli w bazie danych nie określono adnych profili, wtedy jest wykorzystany profil domyślny określający brak ograniczeń dostępu do zasobów dla wszystkich u ytkowników. W tabeli 10.3 wyszczególniono zasoby, do których mo na ograniczyć dostęp za pomocą profili. Ustawienia 2#55914A4'75'A/#: oraz 2#55914A4'75'A6+/' wzajemnie się wykluczają. Jeżeli jeden z tych parametrów jest ustawiony na określoną wartość, wartość drugiego musi być ustawiona jako 70.+/+6'.
  • 22. 364 Część II Zarządzanie bazą danych Tabela 10.3. Zasoby, które mo na ograniczać przez odpowiednie ustawianie profili Zasób Opis 5'55+10A2'4A75'4 Liczba współbie nych sesji otwieranych przez u ytkownika w instancji. %27A2'4A5'55+10 Czas pracy procesora poświęcony jednej sesji, wyra ony w setnych częściach sekundy. %27A2'4A%#.. Czas pracy procesora wykorzystany do przetwarzania jednego kroku instrukcji SQL: analizy składniowej, wykonywania instrukcji lub pobierania danych, wyra ony w setnych sekundy. %100'%6A6+/' Czas w minutach, w ciągu którego sesja mo e realizować połączenie z bazą danych. +.'A6+/' Czas w minutach, w ciągu którego niewykorzystywana sesja mo e realizować połączenie z bazą danych. .1)+%#.A4'#5A2'4A5'55+10 Liczba bloków bazy danych odczytywanych w czasie sesji. .1)+%#.A4'#5A2'4A%#.. Liczba bloków bazy danych odczytywanych w czasie kroku przetwarzania instrukcji SQL: analizy składniowej, wykonywania lub pobierania. 24+8#6'A5)# Wielkość przestrzeni prywatnej, jaką sesja mo e przydzielić w dzielonym obszarze SQL (ang. Shared SQL Pool) globalnego obszaru systemu 5)# (dla serwera wielowątkowego MTS). %1/215+6'A.+/+6 Limit zło ony, bazujący na poprzednich limitach. (#+.'A.1)+0A#66'/265 Liczba kolejnych nieudanych prób zalogowania, po przekroczeniu której nastąpi zablokowanie konta. 2#55914A.+('A6+/' Czas wa ności hasła wyra ony jako liczba dni. 2#55914A4'75'A6+/' Czas, po którym mo na ponownie wykorzystać hasło, wyra ony w dniach. 2#55914A4'75'A/#: Liczba określająca, ile razy trzeba zmienić hasło przed ponownym wykorzystaniem ju u ywanego hasła. 2#55914A.1%-A6+/' Czas zablokowania hasła po przekroczeniu ustawienia (#+.'A.1)+0A #66'/265, wyra ony w dniach. 2#55914A)4#%'A6+/' Okres „tymczasowego okresu wa ności”, kiedy hasło mo e być w dalszym ciągu zmienione, po osiągnięciu jego 2#55914A.+('A6+/'. Parametr ten wyra any jest jako liczba dni. 2#55914A8'4+(;A(70%6+10 Nazwa funkcji wykorzystanej do oceny zło oności hasła. Baza danych Oracle dostarcza jedną taką funkcję. Istnieje mo liwość jej edytowania. Jak wynika z tabeli 10.3, istnieje mo liwość ograniczenia dostępu do pewnej liczby za- sobów. Warto podkreślić, e wszystkie te ograniczenia są reakcyjne — adna akcja nie występuje przed przekroczeniem limitu zasobu. Zatem profile nie mogą wspomagać za- pobiegania wykorzystywania przez niekontrolowane zapytania du ych ilości zasobów systemowych przed wyczerpaniem określonego limitu. Dopiero, gdy ten limit zostanie osiągnięty, wykonywanie instrukcji SQL będzie zatrzymane. Profile są tworzone za pomocą polecenia ETGCVG RTQHKNG. Polecenie CNVGT RTQHKNG, które przedstawiono w poni szym przykładzie, słu y do modyfikowania istniejących profili. Tutaj następuje zmiana profilu '(#7.6 bazy danych w celu ustawienia maksy- malnego czasu jałowego, tj. kiedy sesja jest nieaktywna, (ang. idle time) na 1 godzinę: CNVGT RTQHKNG '(#7.6 KFNGAVKOG
  • 23. Rozdział 10. Zabezpieczenie i monitorowanie bazy danych 365 Program narzędziowy Security Manager pakietu OEM daje mo liwość tworzenia i za- rządzania profilami poprzez graficzny interfejs u ytkownika. Na rysunku 10.5 przedsta- wiono wygląd okna z domyślnymi ustawieniami profilu, gdzie wykazano przydzielone zasoby profilu. Rysunek 10.5. Ustawienia profilu DEFAULT Stosowanie profili umo liwia równie zarządzanie zło onością hasła i jego czasem ist- nienia. Zagadnienia te opisano w następnym podrozdziale. Zarządzanie hasłem Profile mogą słu yć do zarządzania uniewa nianiem, ponownym wykorzystaniem i zło o- nością haseł. Na przykład, mo na ograniczyć czas istnienia hasła i zablokować konto, któ- rego hasło jest za stare. Mo liwe jest równie wymuszenie przynajmniej średniej zło o- ności haseł oraz ich blokowanie przy powtórzonych, nieudanych próbach zalogowania. Na przykład, je eli parametr (#+.'A.1)+0A#66'/265 profilu u ytkownika jest ustawio- ny na wartość , wtedy dozwolonych jest pięć kolejnych nieudanych prób zalogowania. Szósta próba zakończona niepowodzeniem spowoduje zablokowanie konta. Jeżeli podczas piątej próby zostanie podane prawidłowe hasło, wtedy licznik nieuda- nych prób zalogowania zostaje wyzerowany. Umożliwia to przeprowadzenie kolejnych 5 nieudanych prób zalogowania przed zablokowaniem konta. Poni ej przedstawiono przykładowe polecenia prowadzące do utworzenia profilu .+/+ 6'A241(+.' dla u ytkownika ,#0': ETGCVG RTQHKNG .+/+6'A241(+.' NKOKV (#+.'A.1)+0A#66'/265
  • 24. 366 Część II Zarządzanie bazą danych ETGCVG WUGT ,#0' KFGPVKHKGF D[ ';4' RTQHKNG .+/+6'A241(+.' ITCPV %4'#6' 5'55+10 VQ ,#0' W razie wystąpienia pięciu kolejnych nieudanych połączeń z kontem ,#0' system Oracle automatycznie zablokuje to konto. Jeśli następnie zostanie podane prawidłowe hasło dla konta ,#0', nastąpi wyświetlenie komunikatu o błędzie: %QPPGEV LCPGG[TG '4414 14# VJG CEEQWPV KU NQEMGF Aby odblokować konto, nale y zastosować klauzulę CEEQWPV WPNQEM polecenia CNVGT WUGT wydanego z poziomu konta $# —administratora bazy danych. Poni ej przedsta- wiono odpowiedni przykład: CNVGT WUGT ,#0' CEEQWPV WPNQEM Po odblokowaniu konta połączenia z kontem ,#0' są ponownie dozwolone. Istnieje rów- nie mo liwość ręcznego zablokowania konta za pomocą klauzuli CEEQWPV NQEM polece- nia CNVGT WUGT. CNVGT WUGT ,#0' CEEQWPV NQEM Jeśli konto zostanie zablokowane w związku z powtórzonymi nieudanymi próbami po- łączenia, jego odblokowanie nastąpi automatycznie po przekroczeniu wartości ustawie- nia profilu konta 2#55914A.1%-A6+/'. Na przykład, je eli parametr 2#55914A.1%-A6+/' jest ustawiony na , wtedy konto ,#0' z poprzedniego przykładu pozostanie zablokowane przez jeden dzień, po czym nastąpi jego odblokowanie. Mo na równie ustalić maksymalny czas wa ności hasła za pomocą ustawienia 2#5 5914A.+('A6+/' w ramach profilu. Na przykład, mo na wymusić na u ytkownikach o profilu .+/+6'A241(+.' zmianę haseł co 30 dni. CNVGT RTQHKNG .+/+6'A241(+.' NKOKV 2#55914A.+('A6+/' W powy szym przykładzie zastosowano polecenie CNVGT RTQHKNG w celu modyfikacji profilu .+/+6'A241(+.'. Wartość 2#55914A.+('A6+/' jest ustawiona na , zatem uniewa nienie hasła ka dego konta korzystającego z tego profilu nastąpi po 30 dniach. Je eli hasło zostało uniewa nione, nale y je zmienić podczas następnego zalogowania. Konieczne jest dokonanie tego w czasie określonym w profilu jako tymczasowy okres wa ności. Parametr tymczasowego okresu wa ności nazywa się 2#55914A)4#%'A6+/'. Je eli hasło nie zostanie zmienione w ciągu tymczasowego okresu wa ności, konto zo- stanie uniewa nione. Jeżeli zastosowano parametr 2#55914A.+('A6+/', należy poinstruować użytkowni- ków o sposobach łatwej zmiany haseł. Istotna jest ró nica pomiędzy uniewa nieniem a zablokowaniem konta. Z treści tego podrozdziału wynika, e zablokowane konto mo e zostać z upływem czasu automatycz- nie odblokowane. Konto uniewa nione wymaga osobistej interwencji ze strony admini- stratora bazy danych w celu jego ponownego uaktywnienia.