создание пользователя в ORACLE 18c ошибка ORA-04045 после предоставления разрешения CONNECT

Не очень знаком с оракулом, пытался немного попрактиковаться, но дотянулся до стены. Я создаю пользователя со следующим кодом

 CREATE USER labuser
     IDENTIFIED BY abc123
     DEFAULT TABLESPACE users
     TEMPORARY TABLESPACE temp
     QUOTA 10M on users
     PROFILE default;

И еще я ПРЕДОСТАВИЛ ПОДКЛЮЧЕНИЕ к пользовательскому объекту. но я получаю сообщение об ошибке при попытке войти через SQL plus. Я пытался посмотреть, что есть в сети, но не могу найти что-то, имеющее отношение к SYSTEM.LOGONSUCCESS. мне нужно предоставить другое разрешение?

введите описание изображения здесь

введите описание изображения здесь

упал и повторил попытку создания, чтобы убедиться, что я делаю локального пользователя в samplescdb. введите описание изображения здесь

введите описание изображения здесь


person Edgar    schedule 09.10.2020    source источник
comment
Вы администратор базы данных для этой базы данных (например, вы ее установили) или кто-то другой? LOGONSUCCESS не является стандартным триггером Oracle - его нет в моей базе данных Oracle 18c XE, поэтому я боюсь, что эта проблема связана с вашей базой данных.   -  person Luke Woodward    schedule 09.10.2020
comment
Возможно, проблема в том, что вы пытаетесь подключиться к CDB вместо PDB. Почти вся ваша работа должна выполняться на PDB.   -  person Jon Heller    schedule 10.10.2020
comment
def подключение к PDB   -  person Edgar    schedule 10.10.2020


Ответы (2)


Когда вы предоставляете пользователю роль CONNECT, вам также необходимо включить ее. Самый быстрый способ - это

ALTER USER labuser DEFAULT ROLE ALL;

Для того, чтобы все роли были включены по умолчанию, т.е. включены при входе в систему.

person Wernfried Domscheit    schedule 09.10.2020
comment
не так. К сожалению, ограниченные возможности «комментариев» здесь, на SO, не позволяют мне опубликовать доказательство. Просто попробуйте сами. Подключитесь как администратор базы данных и выполните эти три команды - и только эти три команды: CREATE USER FRED IDENTIFIED BY FRED; РАЗРЕШИТЬ ПОДКЛЮЧЕНИЕ К ФРЕДУ; ПОДКЛЮЧИТЬ FRED / FRED; (используя локальное соединение, чтобы не добавлять имена служб tns - строго для простоты) - person EdStevens; 10.10.2020
comment
добавлен скриншот к публикации - person Edgar; 10.10.2020
comment
Странно, вы создали user labuser, но потом уже не можете изменить user labuser. Это та же база данных? Вы допустили опечатку? - person Wernfried Domscheit; 10.10.2020
comment
Я вошел в sql plus как 'sys as sysdba' и вошел в sql-разработчик как систему, вероятно, поэтому. Я успешно выполнил свои изменения в sql-разработчике. Я попытался удалить labuser на sql dev, но сказал, что пользователь вошел в систему и не может. поэтому он входит в систему, но затем загружается из-за недостаточного права доступа. похоже на - person Edgar; 10.10.2020
comment
@EdStevens не сработало :( обновленный пост со скриншотом - person Edgar; 10.10.2020
comment
Эдгар, мой ответ не был направлен на вашу проблему. Оно было направлено против @Wernfried Domscheit и его утверждения о том, что есть шаги, помимо простого предоставления роли. Как указал Люк Вудворд, ваша ошибка показывает, что у вас есть некоторая локальная обработка - триггер входа в систему? - то, что мы не знаем - вам нужно решить это с вашим администратором баз данных. - person EdStevens; 10.10.2020

ОБНОВЛЕНИЕ - пришлось выполнить эту команду в разработчике sql.

Предоставить пользователю триггер администрирования базы данных;

Спасибо, Эд, за то, что указал мне в правильном направлении.

person Edgar    schedule 29.10.2020