Создание пользователя БД Oracle — первое, что нужно сделать
После установки базы Oracle в вашем распоряжении будет как минимум два пользователя БД sys, system — эти стандартные системные пользователи (схемы) и их структуры должны оставаться неизменными, поэтому для дальнейшей работы создадим своего пользователся с правами администратора:

- Для начала убедитесь, что подключение к БД происходит с ролью SYSDBA
- В новых версиях Oracle имя пользователя должно быть формата «C##КакоеТоИмя», если вы не хотите называть своего пользователя с префиксом «C##», то выполните команду ниже, иначе возникнет ошибка ORA-65096: недопустимое имя общего пользователя или имя роли
alter session set «_ORACLE_SCRIPT»=true; —переход в старый режим
create user prod identified by Admin1234; —создаем пользователя prod с паролем Admin1234 —далее выдаем права grant create session to prod; —создание сессии (чтобы могли приконнектиться к БД) grant unlimited tablespace to prod; —создание таблиц с безлимитным табличных простанствах grant create table to prod; —создание таблиц grant create any index to prod; —создание индексов grant create tablespace to prod; —создание табличных пространств grant create any sequence to prod; —создание последовательностей grant create user to prod; —создание новых пользователей grant drop user to prod; —удаление существующих пользователей grant insert any table to prod; —добавление данных в таблицы grant update any table to prod; —изменения данных в таблицах grant delete any table to prod; —удаление данных в таблицах grant select on dba_source to prod; —просмотр словаря кода объектов grant select on dba_objects to prod; —просмотр словаря сущесвующих объектов в БД grant select on dba_indexes to prod; —просмотр словаря существующих индексов БД
Готово, пользователь создан, теперь в настроках SQL Developer укажите вашего нового пользователя и подключайтесь через него
Для удаления пользователя, воспользуйтесь простой командой ниже
CREATE USER ОПЕРАТОР
Oracle оператор CREATE USER создает учетную запись базы данных, которая позволяет войти в базу данных Oracle.
Синтаксис
Синтаксис оператора CREATE USER в Oracle/PLSQL:
CREATE USER user_name
IDENTIFIED < BY password
| EXTERNALLY [ AS ‘certificate_DN’ ]
| GLOBALLY [ AS ‘[ directory_DN ]’ ]
>
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
< tablespace | tablespace_group >
| QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED >
ON tablespace
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED >
ON tablespace
]
| PROFILE profile_name
| PASSWORD EXPIRE
| ACCOUNT < LOCK | UNLOCK >
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
< tablespace | tablespace_group >
| QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED >
ON tablespace
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED >
ON tablespace
]
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT < LOCK | UNLOCK >]
] ;
Параметры и аргументы
user_name
Имя учетной записи базы данных, которую вы хотите создать.
PROFILE profile_name
Необязательный. Это имя профиля, который вы хотите назначить для учетной записи пользователя, чтобы ограничить объем ресурсов базы данных, присвоенных учетной записи пользователя. Если опустить этот параметр, профиль по умолчанию присваивается пользователю.
PASSWORD EXPIRE
Необязательный. Если этот параметр установлен, то пароль должен быть сброшен до того, как пользователь может войти в базу данных Oracle.
ACCOUNT LOCK
Необязательный. Он отключает доступ к учетной записи пользователя.
ACCOUNT UNLOCK
Необязательный. Включает доступ к учетной записи пользователя.
Пример
Если вы хотите, выполнить простой оператор CREATE USER, который создаст нового пользователя и назначит пароль, вы можете сделать следующее:
Создание пользователей – администраторов и подключения в 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.
Связанные разделы
Как создать пользователя в 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 мы с вами это уже проделывали, но тогда я не вдавался в подробности, так как было не до того! А, вот теперь давайте разберемся более детально и продолжим далее.