Как обновить Expire пароль на oracle 12c?

Есть отдельная dev база на oracle 12c. вообще ничего о ней не знаю. есть доступ рутом и sysdba.
На ней вроде поднят multi tenant контейнер, зачем правда мне не понятно.
там одна база в которой истекли пользователи по паролю.
Пытаюсь восстановить по инструкциям в интернете, но каждый раз возвращает

ALTER USER USERNAME ACCOUNT UNLOCK;
ALTER USER USERNAME IDENTIFIED BY PASSWORD;

ORA-65048: error encountered when processing the current DDL statement in
pluggable database DB
ORA-01918: user 'USERNAME' does not exist

Если делаю ALTER SESSION SET CONTAINER=db;

начинает писать что просто нет такого пользователя
ORA-01918: user 'USERNAME' does not exist

В oracle вообще не шарю, совершенно не понимаю как это должно работать. Как восстановить пользователя?
  • Вопрос задан
  • 387 просмотров
Решения вопроса 2
Lorien_Elf
@Lorien_Elf
Keep calm and drop database
show pdbs
Покажет все контейнеры.

alter session set container=<имя контейнера>;
Зайти в нужный контейнер.

alter user имя identified by password account unlock;

Разблокировать пользователя в контейнере.

Если ORA-01918, значит или контейнер не тот, или имя пользователя неверное (оно указывается без кавычек).
Ответ написан
idskill
@idskill Автор вопроса
В общем я нашёл как это можно обойти.
По какой-то причине Нужно создать Дополнительного пользователя в контейнере DB (дать именно create user) чтобы я мог изменять пользователя в CDB$ROOT

Всё же первая ошибка
ORA-65048: error encountered when processing the current DDL statement in
pluggable database DB
ORA-01918: user 'USERNAME' does not exist
На что-то намекала. Не знаю как это работает но... заработало
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
ALTER USER имя пользователя.
Документация: How To Unlock a User.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы