IT Blok

kutilovo živobytí

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

V dalším díle tohoto seriálu si řekneme, jak se připojit jako uživatel SYS, jak použít Windows uživatele, zobrazit seznam všech účtů, vytvoření, zrušení účtu a změnu hesla v databázích Oracle 10g.

Připojení k serveru pod účtem SYS

SYS je velmi specifický uživatelský účet. Má přidělena ta nejvyšší oprávnění, jaké lze v Oracle přidělit – SYSDBA.
Normálně se jako SYS k serveru raději nepřipojujte, ale pokud jej chcete opravdu použít, použijte následující postup (pro Windows host, ale v Linuxu je totožný):

C:>sqlplus /nolog
 SQL> connect SYS/dmsr AS SYSDBA
 Connected.

 SQL> quit

Volba „/nolog“ je použita pro spuštění SQL*Plus okamžitě, bez vyžadovaného přihlášení.
Podoba příkazu „connect“ zahrnuje uživatelské jméno, heslo a oprávnění. Není možné se přihlásit jako SYS bez SYSDBA oprávnění.

Použití uživatele z Windows k připojení na server

Během instalace serveru je ve Windows vytvořena zvláštní uživatelská skupina nazývaná ORA_DBA a je do ní vložen uživatel, pod kterým instalace probíhá.
Jakýkoliv Windows uživatel zahrnutý v této skupině se může připojit k Oracle serveru s oprávněními SYSDBA bez toho, aby byl použit nějaký Oracle účet.
Tento proces se nazývá „připojení k serveru jako SYSDBA s OS autentizací“ (connecting the server as SYSDBA with OS Authentication). Probíhá to takto:

C:>sqlplus /nolog
SQL> connect / AS SYSDBA
Connected.
SQL> quit

Takže pokud je příkaz „connect“ použit bez uživatelského jména a hesla, bude ve skupině ORA_DBA ověřeno, jestli tam aktuální uživatel je.

Výpis všech uživatelských účtů

Uživatelské účty si můžeme zobrazit přes systémový pohled zvaný ALL_USERS. Použitím jednoduchého příkazu SELECT, můžeme získat výpis všech uživatelských účtů. Viz následující:

C:>sqlplus /nolog
SQL> connect SYSTEM/password
Connected.
SQL> select * from ALL_USERS;

USERNAME                      USER_ID CREATED
-------------------------- ---------- ---------
DMSTRAIN                           56 05-MAY-09
SCOTT                              54 19-NOV-06
MGMT_VIEW                          53 19-NOV-06
MDDATA                             50 19-NOV-06
SYSMAN                             51 19-NOV-06
MDSYS                              46 19-NOV-06
SI_INFORMTN_SCHEMA                 45 19-NOV-06
ORDPLUGINS                         44 19-NOV-06
ORDSYS                             43 19-NOV-06
OLAPSYS                            47 19-NOV-06
ANONYMOUS                          39 19-NOV-06
XDB                                38 19-NOV-06
CTXSYS                             36 19-NOV-06
EXFSYS                             34 19-NOV-06
WMSYS                              25 19-NOV-06
DBSNMP                             24 19-NOV-06
TSMSYS                             21 19-NOV-06
DMSYS                              35 19-NOV-06
DIP                                19 19-NOV-06
OUTLN                              11 19-NOV-06
SYSTEM                              5 19-NOV-06
SYS                                 0 19-NOV-06

22 rows selected.

SQL>

Vytvoření nového uživatelského účtu

Pokud chcete vytvořit nový uživatelský účet, připojte se jako SYSTEM a použijte příkaz CREATE USER, jak ukazuje následující příklad:

C:>sqlplus /nolog
SQL> connect SYSTEM/password
Connected. SQL> create user DEV identified by developer account unlock;
User created.

CREATE je SQL povel, a proto musí být zakončen „;“ (středníkem). Tento příkaz vytvoří uživatele DEV s heslem developer.

Změna uživatelského hesla

Pokud chceme změnit uživatelovo heslo, můžeme se připojit jako SYSTEM a použít příkaz ALTER USER, jak je ukázáno zde:

C:>sqlplus /nolog
SQL> connect SYSTEM/password
Connected.
SQL> alter user DEV identified by beginner;
User altered.

Stejně jako v předchozím případě je povel zakončen „;“ (středníkem).

Nebo můžeme použít druhý způsob a sice přihlásit se jako daný uživatel a heslo si přímo změnit:

C:>sqlplus dev/developer
SQL> password
Changing password for DEV
Old password:
New password:
Retype new password:
Password changed
SQL>

V tomto případě ale uživatel musí mít oprávnění CREATE SESSION.

Smazání uživatelského účtu

Pokud chcete smazat uživatelský účet a jeho přiřazené schéma, přihlašte se jako SYSTEM a použijte příkaz DROP USER, viz příklad:

C:>sqlplus /nolog
SQL> connect SYSTEM/password
Connected.
SQL> drop user DEV cascade;
User droped.

Volba CASCADE říká, aby bylo smazáno i přiřazené schéma.