Оценить:
 Рейтинг: 0

Основы программирования в СУБД Oracle. SQL+PL/SQL.

Год написания книги
2020
<< 1 2 3 4 5 6 7 8 ... 24 >>
На страницу:
4 из 24
Настройки чтения
Размер шрифта
Высота строк
Поля

ALTER USER C##HR_POC IDENTIFIED BY PASS456;

Для просмотра данных об объектах пользователя можно использовать следующий запрос:

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED,

STATUS

FROM SYS. DBA_OBJECTS

WHERE OWNER = ? {имя пользователя} ?;

Например:

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, STATUS

FROM SYS. DBA_OBJECTS

WHERE OWNER = ? C##HR_POC ?;

Для того чтобы получить имена пользователей, зарегистрированных на сервере, следует выполнить следующий запрос:

SELECT USERNAME FROM DBA_USERS ORDER BY 1;

Для удаления пользователя и принадлежащей ему схемы служит команда:

DROP USER {имя пользователя} CASCADE;

После создания пользователя ему необходимо предоставить привилегии (права), которые определяют, какие действия может выполнять пользователь. Привилегии, предоставленные пользователю, могут меняться с течением времени: можно отменить (отозвать) имеющиеся привилегии или добавить новые.

Привилегии делятся на системные и объектные. В таблице 1.1 приведены основные системные привилегии, которые администратор может предоставить пользователю, а таблица 1.2 содержит основные объектные привилегии.

Таблица 1.1. Основные системные привилегии

Таблица 1.2. Основные объектные привилегии

Для предоставления пользователю системных привилегий используется команда GRANT, которая имеет следующий синтаксис:

GRANT {имя привилегии} ON {имя пользователя};

Пример предоставления системных привилегий пользователю:

GRANT CREATE SESSION, CREATE TABLE ON C##HR_POC;

Для отзыва привилегии используется команда:

REVOKE {имя привилегии} ON {имя пользователя};

Пример отзыва системной привилегии у пользователя:

REVOKE CREATE TABLE ON C##HR_POC;

Для предоставления пользователю объектных привилегий используется команда GRANT, которая имеет следующий синтаксис:

GRANT {имя привилегии} ({список столбцов}) ON {имя таблицы}

TO {имя пользователя};

где: ({список столбцов}) – список столбцов, для которых предоставляется привилегия. Если column_list отсутствует, то привилегия предоставляется для всех столбцов.

Пример предоставления объектной привилегии:

GRANT UPDATE (RATING_E, SALARY) ON EMPLOYEES TO C##HR_POC;

Для отзыва привилегии используется команда:

REVOKE {имя привилегии} ({список столбцов})

ON {имя таблицы} TO {имя пользователя};

Пример отзыва объектной привилегии:

REVOKE UPDATE (SALARY) ON EMPLOYEES TO C##HR_POC;

Для того чтобы увидеть какие системные привилегии предоставлены пользователю, следует выполнить запрос

SELECT *

FROM USER_SYS_PRIVS;

Для просмотра объектных привилегий служит запрос

SELECT *

FROM USER_TAB_PRIVS_MADE

Привилегии могут быть сгруппированы в роли. Роль определяет список привилегий, предоставляемых пользователю. Существуют предопределенные роли, которые администратор может назначить пользователю. Таблица 1.3 содержит список наиболее часто используемых предопределенных ролей.

Таблица 1.3. Список имен предопределенных ролей

Используя команду

GRANT {имя роли} ON {имя пользователя};

можно назначить пользователю список привилегий, определенных для роли.

Часть назначенных привилегий можно отозвать, используя команду

REVOKE {имя привилегии} ON {имя пользователя};
<< 1 2 3 4 5 6 7 8 ... 24 >>
На страницу:
4 из 24