Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Миграция с 10 на 12.2 - пароли юзеров  [new]
Усталый разработчик
Member

Откуда: до горизонта протянуть надежды рвущуюся нить
Сообщений: 142
Простите великодушно, я запутался и не могу понять - если миграция непосредственно данных и некоторых других объектов, таких как хранимые процедуры / функции, будет выполнена через exp/imp, каким образом лучше осуществить перенос учётных записей, чтобы сохранить у юзеров пароли? Почитал это, не понял - то ли английский совсем не родной, то ли где ж я возьму "known passwords" для "pre-create"...
Пожалуйста, ткните носом, несмотря на праздник...
8 апр 18, 07:23    [21321238]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Elic
Member

Откуда:
Сообщений: 29988
Усталый разработчик
будет выполнена через exp/imp
Уверен?
Усталый разработчик
каким образом лучше осуществить перенос учётных записей, чтобы сохранить у юзеров пароли?
Перенос пользователей из одной базы в другую
8 апр 18, 08:16    [21321262]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Усталый разработчик
Member

Откуда: до горизонта протянуть надежды рвущуюся нить
Сообщений: 142
Извините, пришлось забросить эту тему. Или я верблюд, или лыжи не едут. Пробую с 10xe и 18xe, но с 12.2 была коммерческой такая же картина:

10 XE:
create user тест identified by яфйцыч;

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

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

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

Ткните меня носом, пожалуйста.
P.S. Базы в кодировке 1251
18 апр 19, 17:11    [21866397]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 808
Усталый разработчик,

Начиная с 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" будет выглядеть вот так:
create user identified by values 'S:000000000000000000000000000000000000000000000000000000000000;F6DB507711054EEB';

для password_versions = "11G"
create user identified by values 'S:000000000000000000000000000000000000000000000000000000000000';


А вот начиная с версии 12c попытка выполнить create user identified by values будет завершаться с ошибкой ORA-02153: invalid VALUES password:
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.
18 апр 19, 20:51    [21866598]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
flexgen
А вот начиная с версии 12c попытка выполнить create user identified by values будет завершаться с ошибкой ORA-02153: invalid VALUES password:


Да ну:

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> 


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

SQL> SELECT PASSWORD_VERSIONS FROM DBA_USERS WHERE USERNAME = 'TEST';

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

SQL> 


SY.
18 апр 19, 21:55    [21866628]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 808
SY,

Возможно в 12.2 так и есть, в 12.1 мы получали ORA-02153.
18 апр 19, 22:14    [21866640]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 808
flexgen,

Проверил еще раз, было на версии 12.1.0.2.
18 апр 19, 22:19    [21866642]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Видать, один из старых релизов (вроде, как это начало стрелять еще в 11.2, но потом вылечили)
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.
19 апр 19, 02:27    [21866710]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Усталый разработчик
получаю:
CREATE USER "ТЕСТ" IDENTIFIED BY VALUES 'F6DB507711054EEB' TEMPORARY TABLESPACE "TEMP";

выполняю это на 18XE, законнектиться не могу.
Помню, что на 10 пароли регистронезависимые, но не понимаю, что с этим делать.
Установить свойство (хоть оно уже и depricated в 12.2)
alter system set sec_case_sensitive_logon=false;
И добавить
sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
19 апр 19, 02:31    [21866711]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Усталый разработчик
Member

Откуда: до горизонта протянуть надежды рвущуюся нить
Сообщений: 142
Вячеслав, спасибо большое, всё понятно стало и всё получилось.
Теперь вопрос, оправданно ли будет это на конкретной миграции, но это уже по обстоятельствам.
19 апр 19, 17:49    [21867445]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с 10 на 12.2 - пароли юзеров  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Конечно, от этого надо уходить
Но, рассказать полуторатысячам человек, что надо обращать внимание на регистр при вводе пароля...
По моему, у нас даже в Active Directory нет политики про большие/маленькие

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

В общем, переезд штука не легкая
20 апр 19, 12:07    [21867734]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить