Wykład 6

Transkrypt

Wykład 6
Tworzenie u ytkownika
CREATE USER nazwa_uzytkownika
IDENTIFIED {BY haslo_uzytkownika
| EXTERNALLY}
[ DEFAULT TABLESPACE przestrzen_tabel
| TEMPORARY TABLESPACE przestrzen_tabel
| [QUOTA {wielkosc [K|M] | UNLIMITED}
ON przestrzen_tabel ] ...
| PROFILE profil
| PASSWORD EXPIRE
| ACCOUNT {LOCK | UNLOCK } ] ...
ORACLE
(Wykład 6)
Tworzenie u ytkowników bazy,
nadawanie uprawnie
Ŝ
ń
Przył czenie u ytkownika do bazy
Uwierzytelnianie u ytkowników
• uwierzytelnienie przez serwer ORACLE
• uwierzytelnienie przez system operacyjny
GRANT CONNECT, RESOURCE
TO uzytkownik;
ALTER USER nazwa_uzytkownika …
IDENTIFIED EXTERNALLY
ALTER USER scott ACCOUNT LOCK
DROP USER uzytkownik [CASCADE]
Uprawnienia i role
Uprawnienia umo liwiaj kontrolowanie działa
u ytkowników w obr bie bazy danych lub
obiektu
• uprawnienia systemowe
• uprawnienia obiektowe
Ŝ
Ŝ
ą
ę
Nadawanie uprawnie
systemowych
ń
GRANT
{uprawnienie | rola} [, {uprawnienie | rola}] …
TO {uzytkownik | rola | PUBLIC}
[, {uzytkownik | rola | PUBLIC} ] …
[ WITH ADMIN OPTION ]
GRANT DROP ANY TABLE,
GRANT ANY PRIVILEGE TO scott;
1
Odbieranie uprawnie
systemowych
Uprawnienia obiektowe
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE
REVOKE
{uprawnienie | rola}
[, {uprawnienie | rola}] …
FROM
{uzytkownik | rola | PUBLIC}
[, {uzytkownik | rola | PUBLIC} ] …
REVOKE ALTER DATABASE FROM scott;
Nadawanie uprawnie
obiektowych
Odbieranie uprawnie
obiektowych
GRANT
{uprawnienie | ALL}
[(kolumna [,kolumna] …) ]
[, {uprawnienie | ALL}
[(kolumna [,kolumna] …) ]
ON obiekt
TO {uzytkownik | rola | PUBLIC}
[ WITH GRANT OPTION ]
REVOKE
{uprawnienie | ALL}
[, {uprawnienie | ALL}] …
ON obiekt
FROM
{uzytkownik | rola | PUBLIC}
[, {uzytkownik | rola | PUBLIC} ] …
[CASCADE CONSTRAINTS]
Role
Profile
Role umo liwiaj zgrupowanie kilku uprawnie
w ramach jednego, nazwanego zbioru.
Ŝ
ą
CREATE ROLE nazwa;
ń
Profile wykorzystuje si do kontroli korzystania
przez u ytkowników z zasobów systemowych.
ę
Ŝ
Profile pozwalaj na:
•wprowadzenie ogranicze na korzystanie z
czasu procesora
•ustalenie maksymalnego czasu trwania sesji
•ustalenie maksymalnej ilo ci równoczesnych
sesji, ...
ą
ń
Role predefiniowane:
CONNECT
RESOURCE
DBA
ś
2
Profile
CREATE PROFILE nazwa_profilu LIMIT
{ { SESSIONS_PER_USER
| CPU_PER_SESSION
| CPU_PER_CALL
| CONNECT_TIME
| IDLE_TIME
| LOGICAL_READS_PER_SESSION
| LOGICAL_READS_PER_CALL
| FAILED_LOGIN_ATTEMPTS
| {PASSWORD_REFUSE_TIME |
PASSWORD_REFUSE_MAX}
| PASSWORD_LIFE_TIME
| PASSWORD_GRACE_TIME
Wł czanie profili
Profile - cd
CREATE PROFILE nazwa_profilu LIMIT
{ { …..
| ACCOUNT_LOCK_TIME } {wartosc | UNLIMITED }
| PASSWORD_VERIFY_FUNCTION funkcja } ….
CREATE PROFILE profil_test
LIMIT CONNECT_TIME 1
FAILED_LOGIN_ATTEMPTS 1;
Nadawanie profili u ytkownikom
RESOURCE_LIMIT = {TRUE | FALSE}
ALTER USER scott PROFILE profil_test;
ALTER SYSTEM SET
RESOURCE_LIMIT = {TRUE | FALSE};
ALTER SYSTEM SET RESOURCE_LIMIT
= TRUE
CONNECT scott/tiger
ALTER PROFILE ….
DROP PROFILE nazwa_profilu [CASCADE]
Ograniczanie dost pu do bazy
danych
SELECT username, profile
FROM DBA_USERS;
Monitorowanie pracy
u ytkowników
ORACLE umo liwia gromadzenie i zapisywanie
informacji o atkywno ci u ytkowników bazy
danych (ang. auditing)
Ŝ
ALTER SYSTEM ENABLE RESRICTED
SESSION;
STARTUP RESTRICT;
ALTER SYSTEM DISABLE RESTRICTED
SESSION
ś
Ŝ
Dziennik obserwacji: tabela SYS.AUD$
parametr AUDIT_TRAIL:
• DB
• OS
• NONE
parametr AUDIT_FILE_DEST
3
Wł czanie monitorowania polece
AUDIT
polecenie [, polecenie] …
[ BY u ytkownik [, u ytkownik ] … ]
[ BY {SESSION | ACCESS } ]
[WHENEVER [NOT] SUCCESSFUL]
Ŝ
Ŝ
Wył czanie monitorowania
polece
NOAUDIT
polecenie [, polecenie] …
[ BY u ytkownik [, u ytkownik ] … ]
[WHENEVER [NOT] SUCCESSFUL]
Ŝ
Ŝ
AUDIT TABLE BY scott;
AUDIT CREATE SESSION
WHENEVER NOT SUCCESSFUL;
SELECT * FROM DBA_STMT_AUDIT_OPTS;
SELECT * FROM DBA_PRIV_AUDIT_OPTS;
Monitorowanie uprawnie
AUDIT CREATE SESSION
WHENEVER NOT SUCCESSFUL;
SELECT * FROM DBA_PRIV_AUDIT_OPTS;
Monitorowanie obiektów
AUDIT
akcja [, akcja] …
ON obiekt
[ BY {SESSION | ACCESS } ]
[WHENEVER [NOT] SUCCESSFUL]
NOAUDIT
akcja [, akcja] …
ON obiekt
[WHENEVER [NOT] SUCCESSFUL]
Monitorowanie obiektów
AUDIT INSERT ON scott.emp BY ACCESS;
AUDIT INSERT ON scott.emp BY SESSION;
AUDIT DELETE ON scott.salgrade
BY ACCESS WHENEVER SUCCESSFUL;
SELECT owner, object_name, object_type,
alt, aud, del, ins
FROM DBA_OBJ_AUDIT_OPTS
WHERE user = ‘scott’;
Monitorowanie dziennika
obserwacji
DBA_AUDIT_TRAIL
USER_AUDIT_TRAIL
DBA_AUDIT_STATEMENT
USER_AUDIT_STATEMENT
DBA_AUDIT_OBJECT
USER_AUDIT_OBJECT
DBA_AUDIT_SESSION
USER_AUDIT_SESSION
DBA_AUDIT_EXISTS
4
Developer
Konta uprzywilejowane
SYS: CHANGE_ON_INSTALL
Form Builder
SYSTEM: MANAGER
Report Builder
Obiekty modułu formularza
Query Builder
Procedure Builder
Schema Builder
Graphics Builder
Obiekty modułu formularza
Moduł formularza
Obiekt
formularza
blok
rekord
Struktura
wizualna
okno
kanwa
alert
edytor
lista warto ci
atrybut
wizualny
ś
element
Moduł formularza
Struktura
logiczna
Obiekt
formularza
przycisk, pole wyboru, grupa
przycisków radiowych, obraz, tekst,
wykres, element wy wietlania,
element listowy
rekord
ś
element
Terminologia
formularze
formularz
menu
blok
Zbiór definicji obiektów i procedur PL/SQL
Zbiór powi zanych ze sob elementów
słu cych do wy wietlania rekordów
ą
Ŝ
biblioteka obiektow
Struktura
logiczna
blok
wyzwalacz
procedura PL/SQL
zmienna globalna
relacja
grupa rekordów
Nawigator obiektów
biblioteki PL/SQL
Struktura
wizualna
ą
ą
ś
element
Obiekt słu cy do wy wietlania danych,
potwierdzania danych i inicjowania działa
relacja
Obiekt logiczny, który definiuje zwi zek
mi dzy blokami nadrz dnymi i podrz dnymi
Ŝ
ą
ś
ń
ą
ę
ę
ę
pakiety wbudowane
obiekty bazy danych
5
Kompilacja i uruchamianie
Poł czenie z baz
• Plik ⇒ Poł cz
• Plik ⇒ Administracja: zmiana poł czenia
ą
ą
• Kompilacja przyrostowa
(Program ⇒ Kompiluj ⇒ Przyrostowo =
Ctrl+K)
• Kompilacja całkowita
(Program ⇒ Kompiluj ⇒ Wszystko)
• Forms Runtime
...\bin\ifrun60 nazwa_modułu
Elementy modułu
wyzwalacz
alerty
Procedura PL/SQL przyporz dkowana
do formularza, bloku, elementu
Obiekty wykorzystywane do akceptacji
działa u ytkownika oraz wy wietlania
krótkich komunikatów
ą
ń
doł czone
biblioteki
ą
bloki
danych
Elementy modułu
Ŝ
Obiekty reprezentuj ce wizualn posta
wn trza okna
ą
ć
ą
ę
edytory
Zewnetrzne modalne okna edycyjne
ś
Zewn trzne biblioteki doł czone do modułu,
mog zawier c kod dodatkowych procedur
i funkcji PL/SQL
ę
ą
kanwy
ą
ą
Obiekty opisuj ce tabele znajduj ce si w
bazie oraz bloki kontrolne
ą
ą
ę
listy
warto ci
(LW)
grupy
obiektów
ś
parametry
Listy warto ci
ś
Obiekty grupuj ce (zazwyczaj pobierane
z bibliotek obiektów)
ą
Obiekty wykorzystywane do komunikacji
pomi dzy modułami
ę
Elementy modułu
Elementy modułu
menu
podr czne
Obiekty wykorzystywane do tworzenia
podrecznych menu
jednostki
programu
Pojedynczne funkcje i procedury
w jezyku PL/SQL
ę
Obiekty opisuj ce klasy wla ciwo ci,
klasy
wykorzystywane m.in. przy pracy
wła ciwo ci z bibliotekami obiektów
grupy
Obiekty reprezentuj ce zapytania SQL
rekordów
ą
ś
ś
raporty
Zewn trzne raporty zwi zane z modułem
atrybuty
wizualne
Grupy atrybutów zwiaz nych z wygl dem
poszczególnych elementów na kanwach
okna
Opisy okien, na których rozmieszczone s
kanwy
ś
ę
ą
ą
ą
ą
ś
ą
6
Alerty
Paleta wła ciwosci
DECLARE x number;
BEGIN
x := SHOW_ALERT('alert1');
END;
Ogólne
Funkcjonalne
Nawigacyjne
Rekordy
Warto ci, jakie mo e zwróci funkcja
“SHOW_ALERT :”
ALERT_BUTTON1
ALERT_BUTTON2
ALERT_BUTTON3
Ŝ
ś
Fizyczne
Atrybuty wizualne
Ustawienie kolorów, czcionek
Edytory
Listy warto ci
SHOW_EDITOR(nazwa_edytora, wiadomosc_wejsciowa,
x, y, wiadomosc_wyjsciowa, wynik);
EDIT_TEXTITEM(x, y, szerokosc, wysokosc);
DECLARE
wart VARCHAR2(3200);
ed_ok BOOLEAN;
BEGIN
SHOW_EDITOR(‘EDYTOR1’, wart, 10, 15,
wart, ed_ok);
IF ed_ok THEN
NULL;
END IF;
END;
• Listy warto ci pobieraj dane z grup
rekordów (grupa rekordów bazuje
zazwyczaj na zapytaniu)
• Grupy rekordów mog by wielokrotnie
wykorzystywane przez listy warto ci
• Jedna grupa rekordów mo e zasila
wiele list warto ci
ą
ą
Lista warto ci
ś
Grupa rekordów
Zapytanie SQL:
SELECT * FROM t_wydawca;
Listy warto ci
Listy warto ci
ś
ć
ć
ś
Ŝ
ć
DECLARE
wartosc BOOLEAN;
BEGIN
wartosc := SHOW_LOV(’LW_wydawca');
IF NOT wartosc THEN
Message('Nie wybrano adnej warto ci');
END IF;
END;
Ŝ
ś
ś
7
Dost p z PL/SQL
SET_LOV_COLUMN_PROPERTY();
SET_LOV_PROPERTY();
GET_LOV_PROPERTY();
SET_ALERT_PROPERTY();
SET_ALERT_BUTTON_PROPERTY();
8