GRANT CREATE SEQUENCE TO USERNAME
права для создания таблиц, процедур и функций.
Эта команда дает созданному пользователю права на создание сессии.
Ее выполнение необходимо для того, чтобы разрешить присоединение пользователя к базе данных.
Приведем пример.
Зайдем в программу SQLDEVELOPER, откроем сессию SYS с паролем, который вы ввели при установке.
Выполнить команды:
CREATE USER USER1 IDENTIFIED BY PASS1;
Создание пользователя USER1 с паролем PASS1:
GRANT CREATE SESSION TO USER1;
GRANT CREATE TABLE TO USER1;
Даем право на создание сессии и создание таблиц созданному пользователю:
CREATE USER USER2 IDENTIFIED BY PASS2;
Создание пользователя USER1 с паролем PASS1:
GRANT CREATE SESSION TO USER2;
Даем право на создание сессии созданному пользователю.
Перезайдем под пользователем USER1, в выпадающем списке необходимо отметить DEFAULT.
CONNECTION NAME: USER1
USER NAME: USER1
PASSWORD: USER1
CREATE TABLE T1 AS SELECT SYSDATE SDT FROM DUAL;
Зайдем под учетной записью USER2.
CONNECTION NAME: USER2
USER NAME: USER2
PASSWORD: USER2
Выполним запрос:
SELECT * FROM USER1.t1
Ошибка ORA-00942: TABLE OR VIEW DOES NOT EXIST.
Перейдем во вкладку USER1.
GRANT SELECT, INSERT ON T1 TO USER2;
Добавим права на выбор и вставку SELECT, INSERT.
Соединимся снова с базой под пользователем USER2 и выполним запрос:
SELECT * FROM USER1.t1
— 01.01.2011
Таким образом, мы получили данные из таблицы в другой схеме — USER1.t1.
Системные административные пользователи (SYS SYSTEM)
Есть специальные системные пользователи с максимальными правами на объекты.
Системный пользователь SYS владеет таблицами словаря данных, содержащими информацию обо всех остальных структурах базы данных.
Системному пользователю SYSTEM принадлежат представления, полученные на основе таблиц пользователя SYS. Все объекты базы данных создаются с учетными записями их владельцев.
Под учетными записями SYS, SYSTEM реализован максимальный набор прав: права создавать объекты, изменять права для объектов любого пользователя, назначать любому пользователю роли и привилегии.
Для входа под данными учетными записями используется специальный тип входа SYS AS SYSDBA, SYSTEM AS SYSDBA. При входе через интерфейс программы SQLDEVELOPER для входа под этими пользователя необходимо выбрать в выпадающем списке ROLE — SYSDBA.
В ORACLE есть системные привилегии, объектные привилегии и роли.
• Системные привилегии — специальный тип привилегий для выполнения конкретного действия в базе данных либо действия с любым объектом схемы конкретного типа.
• Объектная привилегия назначается для конкретного объекта таблицы.
• Роль — это предопределенный набор прав и привилегий, назначается заданным пользователям.
Для назначения ролей и привилегий используется оператор GRANT.
Синтаксис:
GRANT тип операции или роль ON объект TO пользователь;
где тип операции — SELECT, INSERT, EXECUTE, UPDATE;
объект — параметр может быть пропущен;
пользователь — учетная запись системы.
Таблицы с информацией о ролях пользователей
Для того чтобы посмотреть информацию о правах, ролях и пользователях, существуют следующие системные таблицы.
DBA_USERS хранит информацию обо всех, кто имеет учетную запись в базе данных ORACLE. Вместе с именем и хешированным паролем пользователя хранится имя назначенного ему пользователя.
DBA_PROFILE для каждого профиля хранит информацию о ресурсах и их лимитах.
DBA_ROLES детализирует все роли, содержащиеся в базе данных.
DBA_ROLE_PRIVS — роли, которые были назначены конкретным пользователям и другим ролям.
DBA_SYS_PRIVS — системные привилегии, которые были выданы конкретным пользователям или ролям.
DBA_TAB_PRIVS — привилегии SELECT, INSERT и UPDATE, которые были выданы конкретным пользователям или ролям.
DBA_COL_PRIVS — привилегии SELECT, INSERT и UPDATE, которые были выданы конкретным пользователям или ролям.
ROLE_ROLE_PRIVS — роли, назначенные другим ролям.
ROLE_SYS_PRIVS — системные привилегии, выданные ролям.
ROLE_TAB_PRIVS — привилегии доступа к таблицам, выданные ролям.
ROLE_COL_PRIVS — привилегии доступа к столбцам таблиц, выданные ролям.
USER_ROLE_PRIVS — роли, назначенные текущему пользователю.
USER_SYS_PRIVS — системные привилегии, выданные текущему пользователю.
USER_TAB_PRIVS — привилегии доступа к таблицам, выданные текущему пользователю.
USER_COL_PRIVS — привилегии доступа к столбцам таблиц, выданные текущему пользователю.
Читать дальше
Конец ознакомительного отрывка
Купить книгу