Databázové systémy I Přednáška 11 Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Databázové systémy 1 - př. 11 Obsah Bezpečnost Auditní informace Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Bezpečnost databáze Kontrola přístupu k databázi. Nastavení přístupových práv ke konkrétním objektům. Potvrzování přidělených a obdržených oprávnění v datovém slovníku. Vytváření synonym nad databázovými objekty. systémová bezpečnost bezpečnost dat. Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Oprávnění a schémata Systémová oprávnění přístup a používání databáze na systémové úrovni Přes 100 Systémové oprávnění Operace CREATE USER Vlastník oprávnění má možnost vytvářet další uživatele. DROP USER Vlastník má právo odstranit kteréhokoliv uživatele. DROP ANY TABLE Vlastník může odstranit libovolnou tabulku v libovolném schématu. BACKUP ANY TABLE Vlastník může zálohovat libovolnou tabulku v libovolném schématu. SELECT ANY TABLE Vlastník může psát dotazy nad kteroukoliv tabulkou, pohledem nebo snímkem v jakémkoliv schématu. CREATE ANY TABLE Umožňuje vytvářet tabulky v libovolných schématech. Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Oprávnění a schémata Vytvoření uživatele Změna hesla Přiřazení oprávnění Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Oprávnění a schémata Uživatelská systémová oprávnění Systémové oprávnění Operace CREATE SESSION Umožňuje připojení k databázi CREATE TABLE Umožňuje vytvoření tabulky CREATE SEQENCE Umožňuje vytvoření sekvence CERATE VIEW Umožňuje vytvoření pohledu CREATE PROCEDURE Umožňuje vytvoření procedury Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Oprávnění a schémata Objektová oprávnění přístup a použití databázových objektů a akcí, které mohou uživatelé s těmito objekty provádět Oprávnění Tabulka Pohled Sekvence Procedura ALTER X DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Oprávnění a schémata PUBLIC Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Transakce Transakce umožňují uživateli provádět změny a následně se rozhodnout, zda provedené úpravy uložit nebo zahodit Transakce obsahují jedno z následujících DML příkaz, který představuje jednu konzistentní změnu dat. DML operace jsou INSERT, UPDATE, DELETE nebo MERGE Jednu DLL operaci jako je CREATE, ALTER, DROP, RENAME nebo TRUNCATE Jednu DCL operaci jako je GRANT nebo REVOKE Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Ovládání transakcí TCC Commit Rollback Savepoint Rollback to savepoint Databázové systémy 1 - př. 11
Začátek a konec transakce První DML příkaz Konec Je proveden příkaz COMMIT nebo ROLLBACK Je proveden příkaz DDL (CREATE, ALTER, DROP, RENAME nebo TRUNCATE) Je proveden příkaz DCL (GRANT nebo REVOKE) Uživatel se odhlásí z aplikace Ukončí se spojení nebo zkolabuje databázový server Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Konzistentní čtení Všichni uživatelé uvidí data v konzistentním stavu Optimistický systém UNDO segmenty Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Zámky/Konkurence Ochrana záznamů Transparentní pro uživatele Zámky na úrovni řádků Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Audtiní informace Oracle Data dictionary (datový slovník) Automaticky shromažďovaná data Trigery Performance views Databázové systémy 1 - př. 11
Oracle database system Široce rozšířený databázový systém Robustní Žádná úloha není dost složitá na to, aby ji oracle nedokázal zpracovat Samo-dokumentující (dokonale ) Vše (opravdu vše) co se v databázi stane, tak se loguje ( samozřejmě že nemusí ) Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Data dictionary Datový slovník Množina tabulek a databázových pohledů, které obsahují metadata o databázi Tabulky x$* Pohledy USER_*, ALL_*, DBA_* USER_TABLES USER_TAB_COLUMNS USER_OBJECTS USER_SOURCE Databázové systémy 1 - př. 11
Co vše se loguje (nebo může) Všechno Aktuální data Performance views v$* Automaticky sbíraná data ASH AWR Audit Když nepomůže automatika, pomůžou trigery Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 On-line data Performance views Obsahují aktuální informace o stavu databáze Pohledy začínají V$... Příklady V$SESSION V$SQL V$SQL_PLAN V$DATAFILE Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 ASH Active Session History Poskytuje informace o činnosti jednotlivých session v minulosti V$ACTIVE_SESSION_HISTORY DBA_HIST_ACTIVE_SESS_HISTORY Zdroj dat: performace views Můžeme vyrábět reporty SELECT NVL(a.event, 'ON CPU') AS event, COUNT(*) AS total_wait_time FROM v$active_session_history a WHERE a.sample_time > SYSDATE - 5/(24*60) -- 5 mins GROUP BY a.event ORDER BY total_wait_time DESC; Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 AWR Automatic Workload Repository Agregované informace z ASH Ukládá se ve formě snapshotů Obsahuje Performance informace Zajímavé SQL dotazy Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 AWR Jak dostat data z AWR Vytvořit report DBMS_WORKLOAD_REPOSITORY, EM, SQL Developer Z pohledů datového slovníku DBA_HIST_ACTIVE_SESS_HISTORY DBA_HIST_SQL_PLAN DBA_HIST_SNAPSHOT Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 AUDIT AUDIT TRAIL Databázový auditní log Ukládá informace o: Kod Kdy Co Proč Umístění informací DBA_AUDIT_TRAIL Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 FGA Fine Grained Auditiong Velmi detailní informace Realizováno pomocí pravidel Pravidlo musí existovat pro každý objekt, který chceme sledovat Ovládáno pomocí DBMS_FGA Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 FGA Uchovává informace definované pravidlem Pro vybrané operace (INSERT, UPDATE, SELECT, apt.) Vyhovující podmínkám Informace jsou k dispozici přes pohled DBA_FGA_AUDIT_TRAIL Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Trigery Rutiny v jazyce PL/SQL, které jsou iniciovány v případě nastalé události DML operace DDL operace Login Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Použití trigerů Triger může zapisovat požadované informace do předem připravené tabulky Pokud chceme trigrem sledovat ostatní uživatele, musíme mít odpovídající oprávnění (DBA) Databázové systémy 1 - př. 11
Databázové systémy 1 - př. 11 Prostor pro dotazy Děkuji za pozornost http://www.iconfinder.com/icondetails/40094/128/database_storage_icon Databázové systémy 1 - př. 11