Вам не разрешено устанавливать значение для OS_AUTHENT_PREFIX
, но если вы это сделаете, то учетная запись базы данных должна совпадать с учетной записью операционной системы, т. Е. projectA
вместо OPS$projectA
.
Если вы хотите, чтобы учетная запись имела префикс OPS$
, тогда параметр инициализации должен совпадать.Вы можете установить его так, как сказал @kfinity в комментарии:
alter system set OS_AUTHENT_PREFIX='OPS$' scope=spfile;
с последующим отскоком БД.Но так как это значение по умолчанию (тем не менее, я думаю!), Вероятно, кто-то преднамеренно очистил его, поэтому будьте осторожны.
Главное - быть последовательным.Если у вас есть другие учетные записи пользователей с OPS$
, то вам, вероятно, следует установить их (и вы можете проверить старую БД, которую вы упомянули, чтобы увидеть, совпадают ли пользователи и настройки).Если у вас нет других, вам необходимо проверить, идентифицированы ли какие-либо из имен учетных записей без префикса внешне через столбец dba_users.authentication_type
.Если они есть, то изменение параметра инициализации приведет к их нарушению.
Подробнее в документации :