ORA-20002: ВЫ НЕ МОЖЕТЕ ИЗМЕНИТЬ ПАРОЛЬ ДЛЯ КРИТИЧЕСКИХ СХЕМ - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь изменить пароль для Oracle пользователя БД, но у меня появляется ошибка ниже:

ORA-28003: password verification for the specified password
ORA-20002: YOU ARE NOT ALLOWED TO CHANGE THE PASSWORD FOR CRITICAL SCHEMAS

Я попытался изменить пароль с помощью пользователя sys и получил ту же ошибку. Версия БД: 12.2.0.1.0 Клиент: SQLPlus

Пожалуйста, помогите

1 Ответ

2 голосов
/ 31 марта 2020

Исключение вызывает функция проверки пароля, назначенная пользователю через профиль.

Вы можете увидеть имя профиля и применяемую функцию, запросив:

select du.profile, dp.limit
from dba_users du
join dba_profiles dp on dp.profile = du.profile
where du.username = '<YOUR_USER>'
and dp.resource_name = 'PASSWORD_VERIFY_FUNCTION';

Затем вы можете увидеть, что функция на самом деле делает, посмотрев на ее источник, используя имя, указанное в предыдущем запросе:

select text
from dba_source
where owner = 'SYS'
and name = '<FUNCTION_NAME>'
order by line;

Оттуда вы можете увидеть, когда и почему это происходит, ища например:

raise_application_error(-20002, 'YOU ARE NOT ALLOWED TO CHANGE THE PASSWORD FOR CRITICAL SCHEMAS');

и посмотрите, что логика c приводит к его поднятию.

Вам нужно будет решить, подходит ли (пока) это правило для этого пользователя - ясно по какой-то причине, поэтому не удаляйте его и не изменяйте профиль пользователя, не понимая его и не обсуждая с администратором базы данных и / или владельцем приложения и т. д. c. - в основном любой, кто интересуется этой учетной записью пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...