Jak sprawić, aby najważniejsze firmowe systemy internetowe i e-biznesowe były 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ą i intensywnie wykorzystywaną bazę danych oraz jak wykorzystać w pełni nowe narzędzia i możliwości, których dostarcza Oracle9i.
Kevin Looney i Marie Thieriault, dwoje znakomitych ekspertów w dziedzinie Oracle, 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 Oracle. Książką ta jest niezbędną pozycją w bibliotece każdego administratora baz danych Oracle.
Wewnątrz między innymi:
* Tworzenie i konfigurowanie bazy danych z wykorzystaniem narzędzia Database 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 korzystając z Oracle Net
* Korzystanie z serwera aplikacji Oracle9iAS, który pozwalają na poprawienie wszechstronności i dostępności bazy danych oraz na łatwiejsze jej rozbudowę
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.