Создание пользователя БД 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 укажите вашего нового пользователя и подключайтесь через него
Для удаления пользователя, воспользуйтесь простой командой ниже
Как создать нового пользователя sql developer
Продолжаем работать с SQL Plus! Попробуем сделать следующее, войти пользователем SYSTEM с паролем manager, а затем не закрывая плюс сменим действующего пользователя.
Запускаем плюс, вводим пользователя, пароль и название сетевой службы (proba! или что-то еще!), получилось? Замечательно! Теперь проделаем примерно следующее:
SQL> CONNECT SCOTT/TIGER@PROBA Соединено. SQL>
Команда CONNECT производит подключение к серверу требуемой схемы(пользователя) в соответствии с заданной строкой соединения! Вот так:
USER/PASSWORD@NETWORKSERVICE
- USER — это пользователь(схема в экземпляре БД).
- PASSWORD — пароль для входа в схему.
- NETWORKSERVICE — имя службы сформированное программой Net8i.
В предыдущем случае мы зашли в схему(пользователя) SCOTT с паролем доступа TIGER с помощью сетевой службы PROBA. Берите сразу на заметку или на память: в Oracle Server в паролях доступа не допускаются цифровые символы! Так же созданный пользователь, создает схему в экземпляре БД и понятие схема и пользователь в Oracle практически тождественны! Сама строка подключения, вами еще не однократно, будет использоваться в дальнейшем! Теперь, я думаю пришло время, создать собственную схему, тем более она нам понадобиться, в дальнейшем, для того, что бы научиться использовать PL/SQL! Первое и самое простое, действие, для создания нашей схемы, ввести следующее:
SQL> CONNECT SYSTEM/MANAGER@PROBA Соединено.
Для начала заходим на сервер, как администратор.
Вводим ниже приведенную строку, которая создает пользователя MILLER с паролем в системе KOLOBOK (можете написать свое!), который будет жить в табличном пространстве USER владея им целиком и захватив в свое распоряжение еще кусочек табличного пространства TEMP, так на всякий случай, пригодится.
SQL> CREATE USER MILLER IDENTIFIED BY KOLOBOK DEFAULT TABLESPACE USERS 2 QUOTA UNLIMITED ON USERS QUOTA 2M ON TEMP 3 / Пользователь создан.
После нажатия Enter на последней строке видим, что все прошло удачно!
Но, это только полдела, теперь этому пользователю, нужно, дать ряд прав и первостепенное, это создавать сессию с сервером! Теперь введем нижеследующее: Можно по очереди или целиком! Главное, чтобы сработал последний опреатор COMMIT. Иначе наши старания пройдут бесследно!
GRANT CREATE SESSION TO MILLER / GRANT CREATE TABLE TO MILLER / GRANT CREATE PROCEDURE TO MILLER / GRANT CREATE TRIGGER TO MILLER / GRANT CREATE VIEW TO MILLER / GRANT CREATE SEQUENCE TO MILLER / GRANT CREATE VIEW TO MILLER / GRANT DELETE ANY TABLE TO MILLER / GRANT DROP ANY TABLE TO MILLER / GRANT DROP ANY PROCEDURE TO MILLER / GRANT DROP ANY TRIGGER TO MILLER / GRANT DROP ANY VIEW TO MILLER / GRANT ALTER ANY TABLE TO MILLER / GRANT ALTER ANY TABLE TO MILLER / GRANT ALTER ANY PROCEDURE TO MILLER / GRANT ALTER ANY TRIGGER TO MILLER / COMMIT /
В результате получим кучу сообщений типа: «Привилегии предоставлены.»
И последнее: «Фиксация обновлений завершена.»
Операторы GRANT предоставляют пользователю, определенные привилегии. В типах привилегий пока, предметно разбираться не будем, скажу только, что данное мероприятие можно проделать еще проще, если собрать все строки, которые мы вводили в файл, затем использовав команду START или операцию «@»! Можете проделать это сами, предварительно введя, находясь в схеме SYSTEM:
SQL> DROP USER MILLER CASCADE 2/ Пользователь удален.
Затем соберите все строки, в файл, скажем CrMiller.sql, поместите его в каталог, например, Temp, и введите следующее:
SQL> @C:\TEMP\CRMILLER.SQL
Выскочит множество надписей, последняя из которых должна быть: «Фиксация обновлений завершена.» Значит, все прошло нормально и пользователь создан! Дальше в схеме MILLER, мы развернем, ряд оьбектов БД и посмотрим как это будет происходить!
Так же на заметку в заключении SQL Plus, есть еще много внутренних команд, например, очень полезной может оказаться SET TIME ON приглашение примет вот такой вид:
14:09:52 SQL>
Например, можно оценивать время на запрос из таблицы!
Если ввести SET TIME OFF, то все станет по прежнему. Например, если написать SHOW USER (мне напоминает Cisco IOS!), то увидим примерно следующее:
SQL> SHOW USER USER имеет значение "MILLER"
По ходу дела, мы познакомимся с большинством из них!
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, который создаст нового пользователя и назначит пароль, вы можете сделать следующее:
Как создать user в oracle sql developer?
PL/SQL Developer и Oracle SQL Developer — ничего не получается 🙁
Здравствуйте! Решил поучить SQL, для нашел уроки с использованием PL/SQL Developer, у него.
Oracle Developer Tools for Visual Studio блокирует PL/SQL Developer
Поставил Oracle 11g, коннекчусь к нему через Developer, все норм, все настройки, включая tnsnames.
Oracle sql developer
есть такой вопрос: создал 2 таблицы с определенными данными и таблицу(3) которая заполняется.
Не подключить oracle sql developer
в папку где установлен Oracle (версия 10g) разархивировал sql developer пытаюсь соединиться — new.
4214 / 3054 / 582
Регистрация: 21.01.2011
Сообщений: 13,205
Я не понял. Ты не знаешь SQL-конструкций, или не знаешь, как это делать «мышетыканием»?
PS
К слову сказать, я считаю лучше просто писать SQL. А то, когда нельзя будет обойтись мышой, придется несладко.
Регистрация: 06.06.2013
Сообщений: 48
Все нужно делать без мышетыкания. )))
4214 / 3054 / 582
Регистрация: 21.01.2011
Сообщений: 13,205
Ну дык какие проблемы? Стандартный SQL
Создание пользователя:
CREATE USER usr1 IDENTIFIED BY psw
Дальше выдать пользователю гранты, хотя бы:
GRANT CONNECT, resource TO usr1
Ну а дальше заходишь под этим пользователем и начинаешь создавать объекты типа CREATE TABLE .
Регистрация: 06.06.2013
Сообщений: 48
Пользователь создался но почему то таблицы в нем не создаются. ((((
Таблица создается не в этом пользователе.
4214 / 3054 / 582
Регистрация: 21.01.2011
Сообщений: 13,205
Допустим, ты зашел в БД под пользователем Dmitry.
Если ты пишешь так CREATE TABLE usr1.tab1, то таблица будет создаваться в схеме usr1 (если конечно у тебя есть права на создание объектов в чужой схеме).
Если ты пишешь так CREATE TABLE tab1, то объекты создаются в ТВОЕЙ схеме. Именно поэтому я написал, что после создания пользователя надо зайти в БД под ним. Ну или при создании объектов указывай префикс схемы.
Регистрация: 06.06.2013
Сообщений: 48
Во теперь все ок. Благодарю за помощь.
Добавлено через 8 минут
Только вот еще один вопрос. можно изначально просто создать таблицы без записей а уже потом туда их добавить.
4214 / 3054 / 582
Регистрация: 21.01.2011
Сообщений: 13,205
Сообщение от Дмитрий3Б 
можно изначально просто создать таблицы без записей а уже потом туда их добавить
Разумеется. В подавляющем большинстве случаев так и делается. Таблица сразу со строками создается только в случае CREATE TABLE . AS SELECT (так называемяй CTAS), то есть по образцу другой таблицы. Но и в этом случае можно создать только структуру без строк
1 2 3 4 5
CREATE TABLE tab2 AS SELECT * FROM tab1 WHERE 1 = 0
Регистрация: 06.06.2013
Сообщений: 48
Блин в чем косяк . .
Регистрация: 06.06.2013
Сообщений: 48
Что я сделал не так ?
4214 / 3054 / 582
Регистрация: 21.01.2011
Сообщений: 13,205
Список полей разделяется запятыми.
Только лучше в вопросах выкладывай текст и сообщение об ошибке через копипаст, а то на скринах смотреть не всегда удобно
Регистрация: 06.06.2013
Сообщений: 48
Блин не могу добавить запись в таблицу
insert into USR1.position value(5, ‘Ivan’);
Error report:
SQL Error: ORA-00928: missing SELECT keyword
00928. 00000 — «missing SELECT keyword»
*Cause:
*Action:
Добавлено через 16 минут
Все разобрался .
134 / 47 / 5
Регистрация: 10.01.2017
Сообщений: 1,783
Извините, что пишу в старой теме, но название темы так же совпадает с моими вопросом:
Как создать нового пользователя:
create user test_user IDENTIFIED BY A12345;
Компилятор говорит, что:
1 2 3 4 5 6 7 8 9 10 11
Error starting at line : 1 in command - create user test_user IDENTIFIED BY A12345 Error report - ORA-65096: недопустимое имя общего пользователя или имя роли 65096. 00000 - "invalid common user or role name" *Cause: An attempt was made to create a common user or role with a name that was not valid for common users or roles. In addition to the usual rules for user and role names, common user and role names must consist only of ASCII characters, and must contain the prefix specified in common_user_prefix parameter. *Action: Specify a valid common user or role name.
