Основы программирования в СУБД Oracle. SQL+PL/SQL.. О. А. Ткачев
Чтение книги онлайн.

Читать онлайн книгу Основы программирования в СУБД Oracle. SQL+PL/SQL. - О. А. Ткачев страница 7

СКАЧАТЬ style="font-size:15px;">      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

      Привилегии могут быть сгруппированы в роли. Роль определяет список привилегий, предоставляемых пользователю. Существуют предопределенные роли, которые администратор СКАЧАТЬ