bd2_10.pdf
(
145 KB
)
Pobierz
bd2_10.dvi
BD2–BazyDanych2
drinż. TomaszTraczyk
10. Wybranezagadnieniaadministrowaniabazamidanych
Copyright c
TomaszTraczyk
Instytut Automatyki iInformatykiStosowanej PolitechnikiWarszawskiej
Materiałydydaktyczne przeznaczone sąwyłączniedoindywidualnegoużytkustudiujących.
Rozpowszechnianie kopiibezpisemnejzgodyautorajestzabronione.
Literatura
[1] GarciaMolina, Ullman, Widom:
Implementacja systemówbazdanych
, WNT 2003
[2] Theriault, Carmichael, Viscusi:
OracleDBA
, RM 2001
1
Administrowaniebazamidanych
Głównezadaniaadministratora
(DBA–
DatabaseAdministrator
)
•
Zapewnienie bezpieczeństwa danych
–
wykonywaniekopiizapasowych (
backup
)
–
zarządzanie prawami dostępu
•
Strojenie bazy danych
–
strojenie parametrów DBMS
–
zarządzanie zasobami (przestrzeń
dyskowa, czas procesorów itd.)
–
wykrywanie sprawiających problemy
zapytań i aplikacji
–
udział w strojeniu aplikacji
•
Zarządzanie DBMS
–
instalowanie/upgrade’yDBMS
–
konfigurowaniebaz danych
–
instalowanie, upgrade’y i konfiguracja
oprogramowania pomocniczego
(np. sieciowego)
Narzędziaadministratora
•
SQL – zwłaszcza DDL
(
Data Definition Language
)
•
Dedykowane narzędzia administracyjne
Przykład
Oracle Enterprise Manager (OEM)
Autoryzacjadostępudob.d.
Elementy autoryzacji
•
Autoryzacja podstawowa:
nazwa użytkownika i hasło
•
Dodatkowe zabezpieczenia
–
kodowanie hasła / pakietów
–
współdziałanie z
systemem operacyjnym
systemami katalogowymi(LDAP)
systemami uwierzytelniania
(Kerberos, Radius itp.)
–
użycie urządzeń zabezpieczających
(np. czytników kart)
Uprawnieniaspecjalne
•
Właściciel słownika systemowego
•
DBA
Zarządzanieużytkownikami
•
Tworzenie użytkowników:
CREATE USER
...
•
Usuwanie użytkowników:
DROP USER
...
•
Zarządzanie prawami i rolami użytkowników
Zalecenieprojektowe10.1
Należy dążyć do tego, by każdy rzeczywisty użytkownik b.d.
dysponował swoim „kontem” w bazie i właśnie z niego korzystał.
W systemach internetowych, z uwagi na zastosowanie tzw. puli połączeń, zwykle nie można
kontrolowaćdostępu w ten sposób. Prawa dostępu muszą wówczas być kontrolowane przez
odpowiednio zaprojektowanie perspektywy oraz przez aplikacje.
2
Prawadostępu
Rodzajepraw
•
Prawa systemowe – do wykonywania
pewnych typów operacji
–
operacje: przyłączenie, DQL, DML,
DDL, eksport, import
–
operacje danego typu na wszystkich
obiektach w bazie – dla DBA,
np.
SELECT ANY TABLE
•
Prawa do obiektów
•
Kwoty
•
Profile dostępu do b.d. i zasobów DBMS
•
Profile dostępu do aplikacji
Prawadoobiektów
•
Do swoich obiektów właściciel ma pełne
prawa
•
Do cudzych obiektów prawa muszą być
jawnie nadane
•
Granulacja praw do obiektów
–
całe obiekty (tabele, perspektywy)
–
wybrane kolumny – tylko dla operacji
INSERT
,
UPDATE
i
REFERENCE
•
Przykłady praw do tabel i perspektyw:
SELECT
,
REFERENCE INSERT
,
DELETE
,
UPDATE(
kolumny
)
,
ALTER
,
INDEX
Zalecenieprojektowe10.2
Należy dążyć do tego, by użytkownicy mieli jedynie te prawa, które
są im niezbędne do wykonywania właściwych im zadań.
Role
Rola = nazwany zbiór praw
Zastosowanieról
•
Mogą być przyznawane użytkownikom
i innym rolom (hierarchia)
•
Mogą służyć do
–
zarządzania prawami dostępu w b.d.
–
zabezpieczeń uzależnionych od użytej
aplikacji (role niedomyślne,
aktywizowane z podaniem hasła)
–
sterowania aplikacjami
Typowerole
•
CONNECT
– prawo przyłączenia się do bazy
i utworzenia sesji
•
RESOURCE
– prawo tworzenia własnych
obiektów
Nadawanieiodbieraniepraworazról
•
GRANT...ON...TO...
•
REVOKE...ON...FROM...
•
CREATE|DROP ROLE...
Zalecenieprojektowe10.3
Prawa dostępu powinny być – w miarę możliwości – organizowane i
zarządzane za pomocą ról.
W niektórych sytuacjach efektywne mogą być tylko prawa nadane wprost użytkownikowi,bez
pośrednictwa ról.
Zalecenieprojektowe10.4
Ustalenie systemu praw i ról powinno być istotnym elementem
projektu systemu informacyjnego.
3
Awarieikopiezapasowe
Awariebazydanych
•
Niegroźne
–
awaria zasilania
–
awaria sprzętu bez uszkodzenia nośnika
–
„pad” oprogramowania
•
Poważne
–
uszkodzenie nośnika (fizyczne, przez
wirus itp.)
–
zniszczenie lub utrata serwera
–
celowe lub omyłkowe niszczące działanie
użytkownika (np.
DROP TABLE
)
Odtwarzanie
•
Automatyczne odtwarzanie po „miękkiej”
awarii
–
użycie dzienników transakcji
–
doprowadzenie transakcji do stanu
spójnego
•
Odtwarzanie z kopii zapasowych
–
odtworzenie danych z kopii zapasowej
–
wykorzystanie dzienników transakcji
(odtwarzanie pełne lub do wybranego
punktu)
Kopiezapasowe
•
Zakres: pełne / przyrostowe
•
Okoliczności wykonania: zimne (
offline
backup
/ gorące (
online backup
)
Innezabezpieczenia
•
Klastry serwerów
•
Serwery rezerwowe (
standby
)
Zalecenieprojektowe10.5
Podstawowym obowiązkiem DBA jest regularne wykonywanie kopii
zapasowych, zabezpieczenie ich i posiadanie umiejętności odtwarzania danych z tych kopii.
Zalecenieprojektowe10.6
Każdy system informacyjny powinien mieć opracowaną i rzeczywiście
stosowaną procedurę wykonywania i zabezpieczania kopii zapasowych, dostosowanądo potrzeb
systemu (np. do dynamiki zmian danych).
Dziennikitransakcji
Buforowaniezapisu
•
Zmiany danych są buforowane w RAM
–
natychmiastowy zapis do struktur na
dysku byłby nieefektywny
•
Bufory w RAM są zapisywane na dysku
–
gdy zabraknie miejsca w przestrzeni
buforów w RAM
–
oraz co określony czas
•
Chwila, gdy wszystkie bufory zapisano
na dysk, nazywa się punktem kontrolnym
(
checkpoint
)
•
Zatwierdzenie oraz odrzucenie transakcji nie
muszą powodowaćzapisów na dysk
Dziennikitransakcji
•
Zastosowanie: odtwarzanie po awarii
–
transakcje zatwierdzone powinny zostać
zapisane na dysk (
rollforward
)
–
transakcje odrzucone i niezakończone
powinny zostać wycofane (
rollback
)
•
Zawartość
–
zmiany danych
np. stare i nowe wartości – dziennik z
unieważnianiem/powtarzaniem
(
undo/redo log
)
–
operacje
COMMIT
i
ROLLBACK
–
początki i końce okresów zapisywania
buforów (punkty kontrolne)
•
Zapis dziennika
–
sekwencyjny – szybki
–
natychmiast po każdej operacji
4
Organizacjapamięcidyskowej
Alokacjapamięcidyskowej(Oracle)
•
Bloki (strony)
–
podstawowe jednostki wymiany danych
pamięćdysk
•
Ekstenty
–
porcje alokacji przestrzeni dla obiektów
–
złożone z ciągu kolejnych bloków
•
Segmenty
–
zbiory ekstentów, niekoniecznie ciągłe
–
zawierające określone obiekty bazy
danych (tabelę, indeks itp.)
–
znajdujące się w jednej partycji
(przestrzeni tabel –
tablespace
)
•
Partycje (przestrzenie tabel)
–
zajmują miejsce na określonym dysku
lub dyskach (w systemie plików lub
na surowych partycjach)
–
wewnętrznie zarządzane przez DBMS
Parametryalokacji
•
Wielkość bloku (stała)
•
Wielkość ekstentu (zmienna)
•
Histereza alokacji/dealokacjiekstentu
–
zapobieżenie naprzemiennemu
alokowaniu i dealokowaniu
–
rezerwy miejsca na zmiany rekordów
Problemyzalokacją
•
Zmienna długość rekordów
•
Fragmentacja pamięci
•
Alokacja pamięci dla BLOBów
–
wskaźniki (lokatory) w segmencie tabeli
–
zawartość BLOBów w osobnym
segmencie
Partycjonowaniedanych
Problemy
•
Rozmieszczenie
–
partycji na dyskach
–
obiektów w partycjach
–
części obiektów w partycjach
•
Kryteria decyzji
–
wydajność
–
wielkość danych a pojemność nośników
Partycjonowanieobiektów
•
Sposób podziału
–
wg zakresu danych
–
wg listy wartości
–
mieszający
•
Wykorzystanie do optymalizacji operacji
na b.d.
–
operacje na jawnie wskazanych
partycjach
–
eliminacja partycji na podstawie
warunków zapytania (
partition pruning
)
–
złączenia z wykorzystaniem partycji
(
partitionwise joins
)
–
równoległe modyfikacje partycji
•
Zastosowanie
–
hurtownie danych (zwykle podział
wg okresów czasu)
–
VLDB (
Very Large Databases
)
5
Plik z chomika:
tryniti
Inne pliki z tego folderu:
SQL.doc
(281 KB)
plsql_fsql.ppt
(62 KB)
SQL10G.pdf
(780 KB)
sql2.pdf
(224 KB)
plsql.pdf
(580 KB)
Inne foldery tego chomika:
algebra liniowa
algorytmy i struktury danych
analiza matematyczna
angol
architektura komputerow
Zgłoś jeśli
naruszono regulamin