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