ORACLE (Wykład 6) nadawanie uprawnień Tworzenie uŝytkowników bazy, 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 } ]... Przył czenie u ytkownika do bazy GRANT CONNECT, RESOURCE TO uzytkownik; ALTER USER nazwa_uzytkownika ALTER USER scott ACCOUNT LOCK Uwierzytelnianie u ytkowników uwierzytelnienie przez serwer ORACLE uwierzytelnienie przez system operacyjny IDENTIFIED EXTERNALLY 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 REVOKE {uprawnienie rola} [, {uprawnienie rola}] FROM {uzytkownik rola PUBLIC} [, {uzytkownik rola PUBLIC} ] REVOKE ALTER DATABASE FROM scott; Uprawnienia obiektowe ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE Nadawanie uprawnie obiektowych GRANT {uprawnienie ALL} [(kolumna [,kolumna] ) ] [, {uprawnienie ALL} [(kolumna [,kolumna] ) ] ON obiekt TO {uzytkownik rola PUBLIC} [ WITH GRANT OPTION ] Odbieranie uprawnie obiektowych REVOKE {uprawnienie ALL} [, {uprawnienie ALL}] ON obiekt FROM {uzytkownik rola PUBLIC} [, {uzytkownik rola PUBLIC} ] [CASCADE CONSTRAINTS] Role Role umoŝliwiają zgrupowanie kilku uprawnień w ramach jednego, nazwanego zbioru. CREATE ROLE nazwa; Role predefiniowane: CONNECT RESOURCE DBA Profile 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,... 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 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; Wł czanie profili RESOURCE_LIMIT = {TRUE FALSE} ALTER SYSTEM SET RESOURCE_LIMIT = {TRUE FALSE}; ALTER PROFILE. DROP PROFILE nazwa_profilu [CASCADE] Nadawanie profili u ytkownikom ALTER USER scott PROFILE profil_test; ALTER SYSTEM SET RESOURCE_LIMIT = TRUE CONNECT scott/tiger SELECT username, profile FROM DBA_USERS; Ograniczanie dost pu do bazy danych ALTER SYSTEM ENABLE RESRICTED SESSION; STARTUP RESTRICT; ALTER SYSTEM DISABLE RESTRICTED SESSION Monitorowanie pracy u ytkowników ORACLE umoŝliwia gromadzenie i zapisywanie informacji o atkywności uŝytkowników bazy danych (ang. auditing) 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] AUDIT TABLE BY scott; SELECT * FROM DBA_STMT_AUDIT_OPTS; Wył czanie monitorowania polece NOAUDIT polecenie [, polecenie] [ BY uŝytkownik [, uŝytkownik ] ] [WHENEVER [NOT] SUCCESSFUL] AUDIT CREATE SESSION WHENEVER NOT SUCCESSFUL; 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
Konta uprzywilejowane SYS: CHANGE_ON_INSTALL SYSTEM: MANAGER Developer Form Builder Report Builder Query Builder Procedure Builder Schema Builder Graphics Builder Obiekty modułu formularza Moduł formularza Obiekty modułu formularza Moduł formularza Obiekt formularza Struktura wizualna Struktura logiczna Obiekt formularza Struktura wizualna Struktura logiczna blok rekord element okno kanwa alert edytor lista wartości atrybut wizualny wyzwalacz procedura PL/SQL zmienna globalna relacja grupa rekordów blok rekord element przycisk, pole wyboru, grupa przycisków radiowych, obraz, tekst, wykres, element wyświetlania, element listowy Nawigator obiektów formularze menu biblioteki PL/SQL biblioteka obiektow pakiety wbudowane obiekty bazy danych formularz blok element relacja Terminologia 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 Obiekt słuŝący do wyświetlania danych, potwierdzania danych i inicjowania działań Obiekt logiczny, który definiuje związek między blokami nadrzędnymi i podrzędnymi 5
Poł czenie z baz Plik Połącz Plik Administracja: zmiana połączenia Kompilacja i uruchamianie Kompilacja przyrostowa (Program Kompiluj Przyrostowo = Ctrl+K) Kompilacja całkowita (Program Kompiluj Wszystko) Forms Runtime...\bin\ifrun60 nazwa_modułu wyzwalacz alerty dołączone biblioteki bloki danych Elementy modułu Procedura PL/SQL przyporządkowana do formularza, bloku, elementu Obiekty wykorzystywane do akceptacji działań uŝytkownika oraz wyświetlania krótkich komunikatów Zewnętrzne biblioteki dołączone do modułu, mogą zawierąc kod dodatkowych procedur i funkcji PL/SQL Obiekty opisujące tabele znajdujące się w bazie oraz bloki kontrolne kanwy edytory listy wartości (LW) grupy obiektów parametry Elementy modułu Obiekty reprezentujące wizualną postać wnętrza okna Zewnetrzne modalne okna edycyjne Listy wartości Obiekty grupujące (zazwyczaj pobierane z bibliotek obiektów) Obiekty wykorzystywane do komunikacji pomiędzy modułami menu podręczne jednostki programu klasy właściwości grupy rekordów Elementy modułu Obiekty wykorzystywane do tworzenia podrecznych menu Pojedynczne funkcje i procedury w jezyku PL/SQL Obiekty opisujące klasy wlaściwości, wykorzystywane m.in. przy pracy z bibliotekami obiektów Obiekty reprezentujące zapytania SQL raporty atrybuty wizualne okna Elementy modułu Zewnętrzne raporty związane z modułem Grupy atrybutów zwiaząnych z wyglądem poszczególnych elementów na kanwach są Opisy okien, na których rozmieszczone kanwy 6
Paleta wła ciwosci Ogólne Funkcjonalne Nawigacyjne Rekordy Fizyczne Atrybuty wizualne Ustawienie kolorów, czcionek Alerty DECLARE x number; BEGIN x := SHOW_ALERT('alert1'); END; Wartości, jakie moŝe zwrócić funkcja SHOW_ALERT : ALERT_BUTTON1 ALERT_BUTTON2 ALERT_BUTTON3 Edytory 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 Lista wartości Grupa rekordów Zapytanie SQL: SELECT * FROM t_wydawca; Listy warto ci 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 Listy warto ci DECLARE wartosc BOOLEAN; BEGIN wartosc := SHOW_LOV( LW_wydawca'); IF NOT wartosc THEN END IF; END; Message('Nie wybrano Ŝadnej wartości'); 7
Dost p z PL/SQL SET_LOV_COLUMN_PROPERTY(); SET_LOV_PROPERTY(); GET_LOV_PROPERTY(); SET_ALERT_PROPERTY(); SET_ALERT_BUTTON_PROPERTY(); 8