powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Миграция с 10 на 12.2 - пароли юзеров
11 сообщений из 11, страница 1 из 1
Миграция с 10 на 12.2 - пароли юзеров
    #39627238
Простите великодушно, я запутался и не могу понять - если миграция непосредственно данных и некоторых других объектов, таких как хранимые процедуры / функции, будет выполнена через exp/imp, каким образом лучше осуществить перенос учётных записей, чтобы сохранить у юзеров пароли? Почитал это , не понял - то ли английский совсем не родной, то ли где ж я возьму "known passwords" для "pre-create"...
Пожалуйста, ткните носом, несмотря на праздник...
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39627243
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усталый разработчикбудет выполнена через exp/impУверен?
Усталый разработчиккаким образом лучше осуществить перенос учётных записей, чтобы сохранить у юзеров пароли? Перенос пользователей из одной базы в другую
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Миграция с 10 на 12.2 - пароли юзеров
    #39803515
Извините, пришлось забросить эту тему. Или я верблюд, или лыжи не едут. Пробую с 10xe и 18xe, но с 12.2 была коммерческой такая же картина:

10 XE:
Код: plsql
1.
create user тест identified by яфйцыч;


Даю права, коннекчусь. Затем из-под SYS выбираю
Код: plsql
1.
select dbms_metadata.get_ddl('USER', u.username) AS ddl from dba_users u WHERE u.username = 'ТЕСТ';


получаю:
Код: plsql
1.
CREATE USER "ТЕСТ" IDENTIFIED BY VALUES 'F6DB507711054EEB' TEMPORARY TABLESPACE "TEMP";


выполняю это на 18XE, законнектиться не могу.
Помню, что на 10 пароли регистронезависимые, но не понимаю, что с этим делать.
Когда выполняю на 18XE dbms_metadata.get_ddl('USER', получаю вообще ужас:
Код: plsql
1.
CREATE USER "ТЕСТ" IDENTIFIED BY VALUES 'S:000000000000000000000000000000000000000000000000000000000000'


Ткните меня носом, пожалуйста.
P.S. Базы в кодировке 1251
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803619
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усталый разработчик,

Начиная с 11-й версии hash password не хранится в dba_users. Вместо этого hash password хранится в sys.user$ в полях password и spare4. Далее, в зависимости от того что указано в поле password_versions в dba_users hash password может быть записан в обоих полях или только в одном; если password_versions = "11G" то hash password будет записан только в поле spare4, если password_versions = "11G 10G" то в обоих полях, т.е. в поле password будет записано 'F6DB507711054EEB', а в поле spare4 - 'S:000000000000000000000000000000000000000000000000000000000000'.

В 11-й версии команда create user identified by values для password_versions = "11G 10G" будет выглядеть вот так:
Код: plsql
1.
create user identified by values 'S:000000000000000000000000000000000000000000000000000000000000;F6DB507711054EEB';


для password_versions = "11G"
Код: plsql
1.
create user identified by values 'S:000000000000000000000000000000000000000000000000000000000000';



А вот начиная с версии 12c попытка выполнить create user identified by values будет завершаться с ошибкой ORA-02153: invalid VALUES password:
Код: plsql
1.
2.
3.
4.
5.
ORA-02153: invalid VALUES password. 

Cause: An encoded password string does not follow the VALUES clause. 

Action: Place a proper encoded password string after the VALUES clause.



Про версию 18 пока не знаю, мы только начинаем подготовку к миграции с 11g на 18c.

Так что вариант только один - хранить деньги в сберегательном банке пароли в защищенном месте в незашифрованном виде.
А для миграции использовать expdp/impdp.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803631
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgenА вот начиная с версии 12c попытка выполнить create user identified by values будет завершаться с ошибкой ORA-02153: invalid VALUES password:


Да ну:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> SELECT BANNER FROM V$VERSION;

BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
PL/SQL Release 12.2.0.1.0 - Production
CORE    12.2.0.1.0      Production
TNS for 64-bit Windows: Version 12.2.0.1.0 - Production
NLSRTL Version 12.2.0.1.0 - Production

SQL> CREATE USER "TEST" IDENTIFIED BY VALUES 'F6DB507711054EEB';

User created.

SQL> 



При этом получим:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> SELECT PASSWORD_VERSIONS FROM DBA_USERS WHERE USERNAME = 'TEST';

PASSWORD_VERSIONS
-----------------
10G

SQL> 



SY.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803642
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

Возможно в 12.2 так и есть, в 12.1 мы получали ORA-02153.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803644
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgen,

Проверил еще раз, было на версии 12.1.0.2.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803680
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видать, один из старых релизов (вроде, как это начало стрелять еще в 11.2, но потом вылечили)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
prg> select * from v$version;

BANNER                                                                               CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production              0
PL/SQL Release 12.1.0.2.0 - Production                                                    0
CORE    12.1.0.2.0      Production                                                                0
TNS for Solaris: Version 12.1.0.2.0 - Production                                          0
NLSRTL Version 12.1.0.2.0 - Production                                                    0

prg> CREATE USER "TEST" IDENTIFIED BY VALUES 'F6DB507711054EEB';

User created.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39803681
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усталый разработчикполучаю:
Код: plsql
1.
CREATE USER "ТЕСТ" IDENTIFIED BY VALUES 'F6DB507711054EEB' TEMPORARY TABLESPACE "TEMP";


выполняю это на 18XE, законнектиться не могу.
Помню, что на 10 пароли регистронезависимые, но не понимаю, что с этим делать.
Установить свойство (хоть оно уже и depricated в 12.2)
Код: plsql
1.
alter system set sec_case_sensitive_logon=false;

И добавитьsqlnet.ora
Код: plaintext
1.
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39804077
Вячеслав, спасибо большое, всё понятно стало и всё получилось.
Теперь вопрос, оправданно ли будет это на конкретной миграции, но это уже по обстоятельствам.
...
Рейтинг: 0 / 0
Миграция с 10 на 12.2 - пароли юзеров
    #39804220
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, от этого надо уходить
Но, рассказать полуторатысячам человек, что надо обращать внимание на регистр при вводе пароля...
По моему, у нас даже в Active Directory нет политики про большие/маленькие

А еще надо вспоминать что не работает Reports 6
9 работает

В общем, переезд штука не легкая
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Миграция с 10 на 12.2 - пароли юзеров
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]