Как создать пользователя в oracle sql developer
Думаю, настало время разобраться с тем как же создаются «схемы» в БД Oracle. Под понятием схема имеется ввиду сам созданный аккаунт или говоря прямо — пользователь БД! Целью создания пользователя как раз и является получение схемы БД, с определенными правами и привилегиями. Создание пользователя в БД Oracle достаточно не сложный, но в тоже время довольно концептуальный момент. Для создания пользователя (схемы), применяется команда DDL — CREATE USER. Она имеет следующий синтаксис:
------ CREATE USER [пользователь] IDENTIFIED BY [пароль] ---------------------------- ------ DEFAULT TABLESPACE [tablespace] QUOTA целое число [K][M] ON [tablespace] ----- ------ TEMPORARY TABLESPACE [tablespace] QUOTA целое число [K][M] ON [tablespace] --
- [пользователь] [Username] — Имя пользователя (название схемы).
- [пароль] [Password] — Пароль для учетной записи.
- DEFAULT TABLESPACE — Табличное пространство в котором будут находиться создаваемые в данной схеме объекты. Эта настройка не дает пользователю права создавать объекты — здесь устанавливается только значение по умолчанию.
- TEMPORARY TABLESPACE — Табличное пространство, в котором находятся временные сегменты, используемые в процессе сортировки транзакций.
- QUOTA — Позволяет пользователю сохранять объекты в указанном табличном пространстве, занимая там место вплоть до определенного в квоте общего размера.
К слову сказать, в чем мы далее и убедимся. Для того, чтобы запросы пользователей могли создавать временные сегменты в табличном пространстве TEMP, им не нужны квоты на дисковое пространство. Попробуем создать пользователя! Запускайте SQL*Plus с пользователем SYS или SYSTEM пароли администраторов смотрите в шаге 5! Из всего выше сказанного, запишем вот такую конструкцию:
CREATE USER DUMMY IDENTIFIED BY DUMB DEFAULT TABLESPACE USERS QUOTA 100M ON USERS TEMPORARY TABLESPACE TEMP QUOTA 10M ON TEMP /
Здесь мы создаем пользователя (схему) DUMMY с паролем DUMB и позволяем ему резвится на 100 Мб пространства USERS и еще немного выделяем из пространства TEMP. Получаем в результате:
SQL> CREATE USER DUMMY IDENTIFIED BY DUMB 2 DEFAULT TABLESPACE USERS QUOTA 100M ON USERS 3 TEMPORARY TABLESPACE TEMP QUOTA 10M ON TEMP 4 / Пользователь создан.
Ок! Пользователь (схема) создан. Наверное, можно уже подключится и начать создавать объекты! Пробуем!
CONNECT DUMMY/DUMB@PROBA
Именное такой синтаксис подключения можно использовать, он еще называется строка коннекта и расписывается вот так:
---- [Username]/[Password]@[Sevice] ------------
SQL> CONNECT DUMMY/DUMB ERROR: ORA-01045: user DUMMY lacks CREATE SESSION privilege; logon denied Предупреждение: Вы больше не соединены с ORACLE.
Опа! Не повезло! Создание пользователя — это еще не все! Теперь ему нужно разрешить самое основное — создавать сессию с сервером. Сделать это можно командой GRANT. Она достаточно объемная и мы ей займемся чуть позже, а пока восстановим подключение:
SQL> CONNECT SYS/MANAGER@PROBA Соединено.
Даем пользователю право создавать сессию с сервером:
SQL> GRANT CREATE SESSION TO DUMMY 2 / Привилегии предоставлены.
SQL> CONNECT DUMMY/DUMB Соединено.
Вот теперь можно немного перевести дух. Итак, мы создали пользователя, определили ему табличные пространства, назначили квоты на них. И даже позволили создавать сессию с сервером. Давайте убедимся, что пользователь создан и чувствует себя нормально. Производим переконнект на админа БД:
SQL> CONNECT SYS/MANAGER@PROBA Соединено.
Дадим такой запрос к представлению DBA_USERS:
SELECT USERNAME, USER_ID, PASSWORD, ACCOUNT_STATUS, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE, PROFILE FROM DBA_USERS WHERE USERNAME = 'DUMMY' /
SQL> SELECT USERNAME, USER_ID, PASSWORD, ACCOUNT_STATUS, DEFAULT_TABLESPACE, 2 TEMPORARY_TABLESPACE, PROFILE 3 FROM DBA_USERS 4 WHERE USERNAME = 'DUMMY' 5 / USERNAME USER_ID PASSWORD ACCOUNT_STATUS DEFAULT_TABLESPACE TEMPORARY_TABLESPACE PROFILE -------- -------- ---------------- --------------- ------------------ -------------------- ------- DUMMY 64 E888ADB4D5FFE1B2 OPEN USERS TEMP DEFAULT
Кто знаком с криптографией, может на досуге раскусить — E888ADB4D5FFE1B2 или хотя бы провести аналогию с DUMB! Итак, все с нашей схемой в порядке! Осталось только разрешить пользователю создавать объекты БД.
GRANT CREATE TABLE TO DUMMY / GRANT CREATE PROCEDURE TO DUMMY / GRANT CREATE TRIGGER TO DUMMY / GRANT CREATE VIEW TO DUMMY / GRANT CREATE SEQUENCE TO DUMMY /
SQL> GRANT CREATE TABLE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT CREATE PROCEDURE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT CREATE TRIGGER TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT CREATE VIEW TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT CREATE SEQUENCE TO DUMMY 2 / Привилегии предоставлены.
Да, так как оператор GRANT это DDL, то COMMIT вызывается не явно! В данном случае мы разрешили пользователю, создавать такие основные объекты БД как — TABLE, PROCEDURE, TRIGGER, VIEW, SEQUENCE. Для начала этого достаточно. А что делать, если пользователю будет необходимо изменять эти объекты? Тогда нужно добавить еще немного прав, на изменение (ALTER) вот так:
GRANT ALTER ANY TABLE TO DUMMY / GRANT ALTER ANY PROCEDURE TO DUMMY / GRANT ALTER ANY TRIGGER TO DUMMY / GRANT ALTER PROFILE TO DUMMY /
SQL> GRANT ALTER ANY TABLE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT ALTER ANY PROCEDURE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT ALTER ANY TRIGGER TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT ALTER PROFILE TO DUMMY 2 / Привилегии предоставлены.
Вот теперь он может не только создавать эти объекты, но и изменять их! А, что если пользователю необходимо будет удалить какой-либо объект или удалить записи из таблиц? Тогда нужно добавить права на удаление объектов БД вот так:
GRANT DELETE ANY TABLE TO DUMMY / GRANT DROP ANY TABLE TO DUMMY / GRANT DROP ANY PROCEDURE TO DUMMY / GRANT DROP ANY TRIGGER TO DUMMY / GRANT DROP ANY VIEW TO DUMMY / GRANT DROP PROFILE TO DUMMY /
SQL> GRANT DELETE ANY TABLE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT DROP ANY TABLE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT DROP ANY PROCEDURE TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT DROP ANY TRIGGER TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT DROP ANY VIEW TO DUMMY 2 / Привилегии предоставлены. SQL> GRANT DROP PROFILE TO DUMMY 2 / Привилегии предоставлены.
Уфф! Ну вот теперь кажется все! Пользователь действительно полноценный и может работать! Помните в шаге 6 мы с вами это уже проделывали, но тогда я не вдавался в подробности, так как было не до того! А, вот теперь давайте разберемся более детально и продолжим далее.
Создание пользователей – администраторов и подключения в Oracle для рабочей области проверок
Создание пользователей – администраторов базы геоданных
Пользователи базы геоданных являются базовыми для многопользовательской базы данных и хранят классы пространственных объектов и таблиц проверок. Вам требуется предоставить соответствующие права доступа.
Дополнительные сведения см. в разделе Принадлежность данных.
Следующие скрипты могут использоваться в Oracle SQL Plus или Oracle SQL Developer, чтобы создавать новых пользователей для хранения классов пространственных объектов и таблиц проверок и предоставлять соответствующие права доступа.
Примечание:
При копировании и вставке примеров могут возникнуть синтаксические ошибки.
Создать пользователя и схему:
CREATE USER REV PROFILE DEFAULT IDENTIFIED BY rev DEFAULT TABLESPACE "REV_BDATA" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "REV_BDATA" QUOTA UNLIMITED ON "REV_BINDEX" QUOTA UNLIMITED ON "REV_FDATA" QUOTA UNLIMITED ON "REV_FINDEX" QUOTA UNLIMITED ON "REV_SDATA" QUOTA UNLIMITED ON "REV_SINDEX" QUOTA UNLIMITED ON "REV_ADATA" QUOTA UNLIMITED ON "REV_AINDEX" QUOTA UNLIMITED ON "REV_DDATA" QUOTA UNLIMITED ON "REV_DINDEX" ACCOUNT UNLOCK;
Предоставить права доступа:
GRANT CREATE SESSION TO REV; GRANT CREATE SEQUENCE TO REV; GRANT CREATE TRIGGER TO REV; GRANT CREATE VIEW TO REV; GRANT CREATE TABLE TO REV;
Создание администраторского подключения базы данных
Вам следует создать администраторское подключение базы данных при сохранении рабочей области Reviewer в многопользовательская база геоданных . Создайте подключение базы данных в ArcCatalog с пользователем REV; это будет местоположение рабочей области Reviewer.
Связанные разделы
Создание пользователей
Администратор базы данных создает пользователей с помощью инструкции CREATE USER .
Администратор базы данных создает пользователя путем выполнения инструкции CREATE USER. На момент создания пользователь не имеет никаких привилегий. Затем администратор базы данных может предоставить этому пользователю определенные привилегии. Этими привилегиями определяется, что именно пользователь может делать на уровне базы данных.
На рисунке показан сокращенный синтаксис создания пользователя.
- user имя создаваемого пользователя;
- Password указывает, что пользователь должен входить в систему с этим паролем.
Более подробно это изложено в руководстве Oracle Database 11g SQL Reference (Справочник по SQL для базы данных Oracle 11g).
Примечание. Начиная с базы данных Oracle 11g, в паролях учитывается регистр букв. При использовании в пароле прописные и строчные буквы различаются.
Далее: Удаление столбца
Post Views: 259
Похожие записи
Предложение WITH
Используя предложение WITH, можно определить блок запроса до его применения в запросе. Предложение WITH (формально называется subquery_factoring_clause) позволяет многократно использовать один и тот же блок запроса в инструкции SELECT, когда она встречается более одного раза в сложном запросе. Это особенно. Читать далее
Оператор WITH в sql
Оператор WITH в SQL — это чрезвычайно полезный инструмент для создания временных таблиц и использования их внутри других запросов. Это позволяет упростить код и улучшить производительность запросов. Оператор WITH (также известный как Common Table Expression) используется для создания временных таблиц. Читать далее
Выполнение запросов внешних таблиц
Внешняя таблица не описывает никаких данных, которые хранятся в базе данных. Внешняя таблица не описывает порядок хранения данных во внешнем источнике. Вместо этого она описывает, как уровень внешней таблицы должен представлять данные для сервера. За преобразования, которые требуется выполнять над. Читать далее
Инструкция FLASHBACK TABLE
Позволяет восстанавливать таблицы до состояния на заданный момент времени с помощью одной инструкции. Восстанавливает табличные данные вместе со связанными индексами и ограничениями. Позволяет возвращать таблицу и ее содержимое в состояние, существовавшее на определенный момент времени, или к изменению системы, определенному. Читать далее
Создание внешней таблицы
Внешние таблицы создаются с помощью предложения ORGANIZATION EXTERNAL инструкции CREATE TABLE. В действительности таблица не создается. Точнее, создаются метаданные в словаре данных, который можно использовать для доступа к внешним данным. Предложение ORGANIZATION применяется для указания порядка, в котором сохраняются строки. Читать далее
Инструкция DROP TABLE … PURGE
В базе данных Oracle имеется функция для удаления таблиц. При удалении таблицы база данных не сразу освобождает пространство, занимаемое таблицей. Точнее, база данных переименовывает таблицу и помещает ее в корзину, где таблица позже может быть восстановлена с помощью инструкции FLASHBACK. Читать далее
Создание внешней таблицы с помощью драйвера доступа ORACLE_LOADER
Рассмотрим, как создаются внешние таблицы посредством драйвера доступа ORACLE_LOADER. Предположим, что существует текстовый файл, в котором имеются записи в следующем формате: 10,jones,11-Dec-1934 20,smith,12-Jun-1972 Записи разделяются символом новой строки, и все поля заканчиваются запятой ( , ). Имя файла: /emp_dir/emp.dat. Читать далее
Пример создание внешней таблицы с помощью драйвера доступа ORACLE_DATAPUMP
Используя драйвер доступа ORACLE_DATAPUMP, можно выполнять с внешними таблицами операции выгрузки и повторной загрузки. Примечание. В контексте внешних таблиц загрузка данных обозначает операцию чтения данных из внешней таблицы и их загрузку в таблицу базы данных. Под выгрузкой данных понимается чтение. Читать далее
Установка Предпочтений SQL Developer
Можно настроить много аспектов интерфейса и среды SQL Developer, изменяя предпочтения SQL Developer согласно Вашим потребностям. Чтобы изменить предпочтения SQL Developer, выберите Tools, а затем Preferences. Настройте интерфейс SQL Developer и среду. В меню Tools выберите Preferences. Предпочтения группируется в. Читать далее
Резюме по SQL Developer
В этой рубрике было рассмотрено использование SQL Developer, чтобы выполнять следующие задачи: Просматривать, создавать и редактировать объекты базы данных Выполнять SQL-операторы и сценарии на Рабочем листе SQL Создавать и сохранять пользовательские отчеты SQL Developer является бесплатным графическим инструментом, позволяющим упростить. Читать далее
4урок по oracle sql, пользователи, роли, привилегии
Продолжаем знакомство с возможностями запросов в ORACLE , это четвертый урок.
—Работа с пользователями, ролями и привилегиями
—Создание пользователей с аутентификацией по паролю
CREATE USER CU_1 IDENTIFIED BY cupass;
—Изменение пароля
ALTER USER CU_1 IDENTIFIED BY new_cupass;
—Предоставление привилегий
—Создавать сессию с сервером
GRANT CREATE SESSION TO CU_1;
—Можно так
grant connect to CU_1;
—Создание основных лбъектов базы данных
GRANT
CREATE TABLE,
CREATE PROCEDURE,
CREATE TRIGGER,
CREATE VIEW,
CREATE SEQUENCE
TO CU_1;
—Предоставление права создавать базовые таблицы
grant resource to CU_1;
—Предоставление табличного пространства по умолчанию
alter user CU_1 default tablespace users;
—Права на ALTER(изменение объектов)
GRANT ALTER ANY TABLE TO CU_1;
GRANT ALTER ANY PROCEDURE TO CU_1;
GRANT ALTER ANY TRIGGER TO CU_1;
GRANT ALTER PROFILE TO CU_1;
—Права на удаление объектов и записей
GRANT DELETE ANY TABLE TO CU_1;
GRANT DROP ANY TABLE TO CU_1;
GRANT DROP ANY PROCEDURE TO CU_1;
GRANT DROP ANY TRIGGER TO CU_1;
GRANT DROP ANY VIEW TO CU_1;
GRANT DROP PROFILE TO CU_1;
—Создание ролей
CREATE ROLE cu_role;
—ПРедоставление привилегий роли
GRANT
CREATE TABLE,
CREATE PROCEDURE,
CREATE TRIGGER,
CREATE VIEW,
CREATE SEQUENCE
TO cu_role;
—Связь роли с пользователем
GRANT cu_role TO CU_1;
—Предоставление объектных привилегий
—На оператор SELECT для пользователя и роли
GRANT SELECT ON HR.EMPLOYEES TO CU_1, cu_role;
—На оператор UPDATE к определенным столбцам
GRANT UPDATE(FIRST_NAME, LAST_NAME) ON HR.EMPLOYEES TO CU_1, cu_role;
—На INSERT с возможностью пользователя передавать другим эту привилегию
GRANT INSERT ON HR.EMPLOYEES TO CU_1 WITH GRANT OPTION;
—Для всех пользователей на чтение
GRANT SELECT ON HR.EMPLOYEES TO PUBLIC;
—Системные привилегии для ролей
SELECT * FROM ROLE_SYS_PRIVS;
—Привилегии на таблицы для ролей
SELECT * FROM ROLE_TAB_PRIVS;
—Роли, доступные пользователю
SELECT * FROM USER_ROLE_PRIVS;
—Объектные привилегии доступные пользователю
SELECT * FROM USER_TAB_PRIVS_RECD;
—Отмена привилегий
REVOKE CREATE VIEW FROM CU_1;
REVOKE INSERT ON HR.EMPLOYEES FROM CU_1;
—Удаление роли
DROP ROLE cu_role;
—Удаление пользователя
DROP USER CU_1;
—Роли, доступные определенному пользователю
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = ‘CU_1’;
—Отнять роль у пользователя
REVOKE CU_ROLE FROM CU_1;
На этом — все, видео можно посмотреть на моем канале в YouTube
