Страница 1 из 1

Не отрабатывает RandomSurrKeys

Добавлено: 27 янв 2010, 09:22
Nikos
Добрый день. Возникла следующая проблема.
В конфигурационном файле стоит
RandomSurrKeys=on
Но тем не менее, при добавлении новых записей NREC следующей на 1 больше, чем у предыдущей. Почему так?
Галактика 8.10, Oracle 10g

Добавлено: 27 янв 2010, 09:52
LaaLaa
RandomSurrKeys влияет только на драйвер певасива

Добавлено: 27 янв 2010, 09:54
Nikos
А в Oracle всегда по порядку?

Добавлено: 27 янв 2010, 10:25
Nikos
В общем ситуация следующая.
Изначально на новой базе был один офис, некоторое время работали так. При этом, как выясняется, все таблицы получали NRECи по порядку. В какой-то момент появился еще один офис, была изменена структура. И с этого момента NRECи стали формироваться случайным образом, хотя конфигурационный файл не менялся. Почему так? Так и должно быть? Не понятно…
Но проблема теперь следующая: как слить 2 базы, если NRECи во всех таблицах частично одинаковые? Может, есть какая-то сервисная функция, случайным образом меняющая NRECи?

Добавлено: 28 янв 2010, 20:00
Sniper
nrec не могут быть одинаковыми
они могут одинаковую концовку, но другой офис
типа
00010000007Bh
и
000A0000007Bh

"частично одинаковые".. на самом деле абсолютно разные :)

Добавлено: 29 янв 2010, 08:22
Nikos
Ситуация следующая. Новая БД Галактики начала работать с декабря месяца. Был один офис и так и предполагалось, что будет дальше. Через месяц работы появился еще один офис, но там люди работали с августа, соответственно была рассчитана зарплата, но не в Галактики. Было принято решение на новой БД рассчитать зарплату с августа и данные перенести в первую. Т.к. эта БД была временная, то там тоже был единственный офис. Поскольку стоял параметр RandomSurrKeys=on, то я был уверен, что NRECи будут формироваться случайным образом и вероятность пересечения ничтожно мала. Но оказалось все не так, и частично одинаковые - это полностью одинаковые на процентов 70. Самое интересное, что я перед созданием второй базы заглянул в журнал и там действительно NRECи выдавались случайно! Как оказалось, случайно они выдаются лишь при включенной многоофисности.
В таблице хорошо видно как начался случайные выбор NRECов после включения многоофисности.

Код: Выделить всё

FNREC	          FTABNMB
8001000000001446	2000042
8001000000001447	2000043
8001000000001449	2000045
800100000000144E	2000050
8001000000001453	2000055
8001000000001454	2000056
8001000000001455	2000057
8001000000001456	2000058
800100000000145B	100585
800100000000145C	100584
800100000000146A	100589
C00155E3FFD2BF09	141412
C001889CCF62A44D	303957
C0018E4D0C692FCD	808020
C001A3F36F7A3772	1300018
C001BB84AE2DE61F	202002
C001D4EFD49D08C8	203200
C001E4F04790E256	303960
C001E80C8069FE09	202905
C00228402A1B3A03	4525434
C00333567CF68DB9	2818141
C0040370E7C38338	3535381
C0044AE6D32D574D	3545469
C0047FC06DCB52D7	3545465
C00487398DEB64E7	3151521
C004B91FC0CC72F1	3545471