Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
ozzmosis
Member

Откуда:
Сообщений: 281
Подскажите, как заставить sys_guid генерить не монотонно возрастающие (в N-ом знаке) последовательности GUID, а действительно непредсказуемые значения ? В некоторых ссылках (например) говорится, что используется какой-то ошибочный алгоритм, завязанный на операционку. Кто как выкручивается из этого ?
SH@ao61 15:14:52>select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
+
SH@ao61 14:34:26>select sysdate,sys_guid() from dual;

SYSDATE  SYS_GUID()
-------- --------------------------------
14:35:11 D585927283A976B2E045000000000001

Elapsed: 00:00:00.00
SH@ao61 14:34:59>select sysdate,sys_guid() from dual;

SYSDATE  SYS_GUID()
-------- --------------------------------
14:35:13 D585927283AA76B2E045000000000001

Elapsed: 00:00:00.01
SH@ao61 14:35:01>select sysdate,sys_guid() from dual;

SYSDATE  SYS_GUID()
-------- --------------------------------
14:35:26 D585927283AB76B2E045000000000001

Elapsed: 00:00:00.00
SH@ao61 14:35:14>select sysdate,sys_guid() from dual;

SYSDATE  SYS_GUID()
-------- --------------------------------
14:35:33 D585927283AC76B2E045000000000001

Elapsed: 00:00:00.00
12 фев 13, 15:19    [13914508]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1313
ozzmosis
Кто как выкручивается из этого ?
Мы в это просто не закручиваемся. Для "непредсказуемых" значений используем генераторы псевдослучайных последовательностей, а для глобально-уникальных идентификаторов - sys_guid.
Вам что нужно?
12 фев 13, 15:24    [13914547]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51768

ozzmosis
как заставить sys_guid генерить не монотонно возрастающие (в N-ом знаке)
последовательности GUID, а действительно непредсказуемые значения ?

Нужны непредсказуемые - используй DBMS_RANDOM. Основное и единственное достоинство GUID
это его уникальность. Непредсказуемость ему как корове седло.

Posted via ActualForum NNTP Server 1.5

12 фев 13, 15:24    [13914549]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
ozzmosis
Member

Откуда:
Сообщений: 281
oragraf
Вам что нужно?
Непредсказуемая строка.
Dimitry Sibiryakov
Нужны непредсказуемые - используй DBMS_RANDOM.
Ясно. Ctrl-R придется во многих местах включать, менять вызовы. Ну да ладно.
12 фев 13, 15:33    [13914643]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
ozzmosis,

Конкатенируй с рендомными строками в начале ,конце и посередине
12 фев 13, 15:41    [13914732]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
ozzmosis
oragraf
Вам что нужно?
Непредсказуемая строка.
DBMS_RANDOM.string
12 фев 13, 15:56    [13914879]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
ozzmosis
Member

Откуда:
Сообщений: 281
ORA__SQL
DBMS_RANDOM.string[/src]
ух... здорово! то, что надо. Спс!
12 фев 13, 16:10    [13915007]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1313
ozzmosis
ух... здорово! то, что надо. Спс!
Инициализировать не забудь. А то в полночь все превратится в тыкву!(c)
12 фев 13, 16:13    [13915022]     Ответить | Цитировать Сообщить модератору
 Re: sys_guid при работе на linux-64: как сделать его значения непредсказуемыми ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
oragraf
ozzmosis
ух... здорово! то, что надо. Спс!
Инициализировать не забудь. А то в полночь все превратится в тыкву!(c)

в тыкву - это обязательно. никакой (ни тем более - глобальной) уникальности тут, разумеется, быть не может.
а вот где таки может - при шифровании результата guid фиксированным (= закрытым) ключом, единым для всех источников, порождающих тот guid
12 фев 13, 16:22    [13915093]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить