oracle 19c: установите пароль из 14 символов и буквенно-цифровой

#oracle

Вопрос:

Я создал CBD и PDB внутри этого. И я хочу создать пользователя в PDB с паролем из 14 цифр и буквенно-цифровых символов. Я получаю ошибку при использовании буквенно-цифровых и длинных паролей. Команда, которую я использую для создания новой PDB, выглядит следующим образом.

 CREATE PLUGGABLE DATABASE pdb_name ADMIN USER pdb_database_admin_user IDENTIFIED BY pdb_database_admin_user_password  
FILE_NAME_CONVERT = (pdbseed_location, new_pdb_location);
 

Команда, которую вы просто используете для создания CDB, выглядит следующим образом:

 dbca -silent -createDatabase                                                   
     -templateName General_Purpose.dbc                                         
     -gdbname CDB1  -sid  CDB1 -responseFile NO_VALUE     
     -characterSet AL32UTF8                                                    
     -sysPassword SysPassword1                                                 
     -systemPassword SysPassword1                                              
     -createAsContainerDatabase true                                           
     -databaseType MULTIPURPOSE                                                
     -memoryMgmtType auto_sga                                                  
     -totalMemory 2000                                                         
     -storageType FS                                                           
     -datafileDestination "${DATA_DIR}"                                        
     -redoLogFileSize 50                                                       
     -emConfiguration NONE                                                     
     -ignorePreReqs
 

Нужно ли мне редактировать профиль?

Комментарии:

1. какую именно ошибку вы получаете ?

2. Сложность пароля обычно обеспечивается отдельной хранимой процедурой, на которую ссылается профиль пользователя. У вас возникли проблемы с установкой пароля или входом в систему с помощью пароля, который вы уже установили?

Ответ №1:

Вы говорите «установите пароль из 14 символов».

Но в примере кода, который вы опубликовали, пароль

 pdb_database_admin_user_password
 

Не уверен, где находится отключение; вы не понимаете, что строка в IDENTIFIED BY предложении-это пароль, который вы создаете, или у вас проблемы с подсчетом?

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

 select length('pdb_database_admin_user_password') as password_length
from   dual;

PASSWORD_LENGTH
---------------
             32
 

(Конечно, если вы умеете тщательно считать, вам не нужен такой запрос; количество действительно составляет 32 символа.)

Теперь проблема в том, что пароли ограничены 30 байтами, что означает не более 30 символов.

https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-authentication.html#GUID-AA1AA635-1CD5-422E-B8CA-681ED7C253CA

Это ответ на ваш вопрос?

Комментарии:

1. Я обнаружил, что могу использовать функцию «ora12c_verify_function». он изменяет профиль пароля по умолчанию. Пароли должны содержать минимум 8 символов и 1 специальный символ. Эта функция решила мою проблему. Спасибо «ИЗМЕНИТЕ ПАРОЛЬ по умолчанию ДЛЯ ОГРАНИЧЕНИЯ ПРОФИЛЯ по умолчанию или 12c_verify_function;».