Както винаги, започнете, като се свържете с вашия сървър, където се хоства Oracle, след което се свържете със самия Oracle като SYSTEM
акаунт.
SYSTEM
акаунтът е един от няколкото предварително дефинирани административни акаунти, генерирани автоматично при инсталиране на Oracle. SYSTEM
е в състояние да изпълнява повечето административни задачи, но задачата, която ни интересува особено, е управлението на акаунти.
Създаване на потребител
Веднъж свързан като SYSTEM
, просто пуснете CREATE USER
команда за генериране на нов акаунт.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Тук просто създаваме books_admin
акаунт, който е IDENTIFIED
или удостоверено с посочената password
.
Декларация за предоставяне
С нашия нов books_admin
създаден акаунт, сега можем да започнем да добавяме привилегии към акаунта с помощта на GRANT
изявление. GRANT
е много мощно изявление с много възможни опции, но основната функционалност е да управлява привилегиите и на двамата users
и roles
в цялата база данни.
Предоставяне на роли
Обикновено първо ще искате да зададете привилегии на потребителя чрез прикачване на акаунта към различни роли, като се започне с CONNECT
роля:
GRANT CONNECT TO books_admin;
В някои случаи, за да създадете по-мощен потребител, можете също да помислите за добавяне на RESOURCE
роля (позволяваща на потребителя да създава наименувани типове за персонализирани схеми) или дори DBA
роля, която позволява на потребителя не само да създава персонализирани типове име, но и да ги променя и унищожава.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Присвояване на привилегии
След това ще искате да се уверите, че потребителят има привилегии действително да се свърже с базата данни и да създаде сесия с помощта на GRANT CREATE SESSION
. Също така ще комбинираме това с всички привилегии, използвайки GRANT ANY PRIVILEGE
.
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Също така трябва да гарантираме, че нашият нов потребител разполага с дисково пространство, разпределено в системата, за действително създаване или промяна на таблици и данни, така че ще GRANT TABLESPACE
така:
GRANT UNLIMITED TABLESPACE TO books_admin;
Привилегии на таблица
Въпреки че обикновено не е необходимо в по-новите версии на Oracle, някои по-стари инсталации може да изискват ръчно да посочите правата за достъп, които новият потребител има до конкретна схема и таблици на базата данни.
Например, ако искаме нашия books_admin
потребителят да има способността да изпълнява SELECT
, UPDATE
, INSERT
и DELETE
възможности на books
таблица, можем да изпълним следния GRANT
изявление:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Това гарантира, че books_admin
може да изпълнява четирите основни оператора за books
таблица, която е част от schema
схема.