IT blok - Michal Šika

kutilovo živobytí

Oracle 10g – správa uživatelských účtů, schémat a oprávnění I

V prvním díle tohoto seriálu si řekneme, co je to uživatelský účet, schéma a role, jaké jsou předdefinované role, atd v databázích Oracle 10g.

Uživatelský účet

Každý uživatelský účet v Oracle databázi je definovaný uživatelským jménem a uživatelskými atributy.
To znamená následující:

  • heslo pro přihlášení do databáze
  • oprávnění a role
  • defaultní tablespace pro databázové objekty
  • defaultní temp tablespace

Vztah mezi uživatelským účtem a schématem

Mezi účtem a schematem je prostý vztah. Pokud vytvoříte uživatele, vytvoříte také schéma pro tohoto uživatele.
Schéma je vlastně logický „kontejner“ pro databázové objekty, jako jsou tabulky, pohledy (view), rtiggery apod., které uživatel vytváří.

Jméno schématu je shodné se jménem uživatelského jména a může být použito pro jednoznačné řazení objektů vlastněných uživatelem.

Uživatelská role

Jedná se o skupinu oprávnění. Uživatelům jsou oprávnění přiřazena pomocí uživatelských rolí.
Můžete vytvořit roli (create role), udělit jí oprávnění (grant privileges) a potom ji přiřadit nějakému uživateli (grant role).

Předdefinované uživatelské role

V Oracle 10g jsou 3 předdefinované role:

  • CONNECT – která povoluje uživateli připojení do databáze. Tato role se udděluje (grant role), každému uživateli nebo aplikaci, která potřebuje přistupovat do databáze.
  • RESOURCE – která povoluje uživateli vytvořit určité typy objektů pro schéma v jeho vlastním schématu. Tato role bývá udělována pouze vývojářům a dalším uživatelům, kteří musí vytvářet objekty pro schéma. Tato role uděluje určitou skupinu systémových oprávnění pro vytváření objektů.
  • DBA – tato role povoluje uživateli vykonávat nejvíce administračních funkcí, jako je vytváření uživatelů a udělování oprávnění, vytváření a udělování rolí, vytváření a odstraňování objektů schémat ve schématech ostatních uživatelů a mnoho dalšího. Role přiděluje všechna systémová oprávnění, ale nezahrnuje oprávnění pro spuštění a zastavení databáze. Tato jsou defaultně přidělena uživateli SYS

Uživatelský účet INTERNAL

Uživatelský účet INTERNAL je předdefinovaný uživatelský účet. V Oracle 10g je těchto předdefinovaných účtů několik:

  • SYSTEM – je uživatelský účet, pod kterým je možné provádět všechny administrační funkce kromě zastavování a spouštění databáze. SYSTEM je automaticky vytvořen při instalaci serveru (Oracle binárek). Jeho heslo zadáváme během instalace.
  • SYS – je další uživatelský účet, automaticky vytvořený při instalaci serveru. Jeho heslo, stejně jako v předchozím případě, zadáváme během instalace. Ve schématu SYS jsou uloženy všechny databázové tabulky a pohledy (views) pro databázový datový slovník (data dictionary). Proto není vhodné se pod SYSem přihlašovat, protože je zde nebezpečí, že budou zničena/poškozena důležité datové objekty. Je lepší používat účet SYSTEM, protože kromě zastavování a spouštění databáze umí naprosto vše.
  • Ostatní interní uživatelské účty – pro speciální účely jsou předdefinovány další zvláštní uživatelské účty. Např. účet CTXSYS je speciální uživatelský účet používaný produktem Oracle Text

Pokračování příště…

Michal Šika