Jako vždy začněte připojením k serveru, kde je hostován Oracle, a poté se připojte k samotnému Oracle jako SYSTEM
účet.
SYSTEM
account je jedním z mála předdefinovaných administrativních účtů generovaných automaticky při instalaci Oracle. SYSTEM
dokáže většinu administrativních úkolů, ale úkol, který nás zvláště zajímá, je správa účtu.
Vytvoření uživatele
Po připojení jako SYSTEM
, jednoduše zadejte CREATE USER
příkaz k vygenerování nového účtu.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Zde jednoduše vytváříme books_admin
účet, který je IDENTIFIED
nebo ověřeno zadaným password
.
Prohlášení o udělení grantu
S naším novým books_admin
vytvořen, můžeme nyní začít přidávat oprávnění k účtu pomocí GRANT
prohlášení. GRANT
je velmi výkonný příkaz s mnoha možnými možnostmi, ale hlavní funkcí je správa oprávnění obou users
a roles
v celé databázi.
Poskytování rolí
Obvykle budete nejprve chtít uživateli přidělit oprávnění připojením účtu k různým rolím, počínaje CONNECT
role:
GRANT CONNECT TO books_admin;
V některých případech pro vytvoření výkonnějšího uživatele můžete také zvážit přidání RESOURCE
role (což uživateli umožňuje vytvářet pojmenované typy pro vlastní schémata) nebo dokonce DBA
role, která uživateli umožňuje nejen vytvářet vlastní pojmenované typy, ale také je měnit a ničit.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Přidělování oprávnění
Dále se budete chtít ujistit, že uživatel má oprávnění skutečně se připojit k databázi a vytvořit relaci pomocí GRANT CREATE SESSION
. Také to zkombinujeme se všemi oprávněními pomocí GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Musíme také zajistit, aby náš nový uživatel měl v systému přidělený diskový prostor, aby mohl skutečně vytvářet nebo upravovat tabulky a data, takže GRANT TABLESPACE
takhle:
GRANT UNLIMITED TABLESPACE TO books_admin;
Oprávnění tabulek
I když to v novějších verzích Oracle není obvykle nutné, některé starší instalace mohou vyžadovat, abyste ručně specifikovali přístupová práva nového uživatele ke konkrétnímu schématu a databázovým tabulkám.
Například pokud chceme našeho books_admin
mít možnost provést SELECT
, UPDATE
, INSERT
a DELETE
schopnosti v books
tabulky, můžeme provést následující GRANT
prohlášení:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Tím zajistíte, že books_admin
může provádět čtyři základní příkazy pro books
tabulka, která je součástí schema
schéma.