Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / rs_subcmp OS error: Cannot allocate memory / 6 сообщений из 6, страница 1 из 1
16.03.2009, 12:08
    #35871068
rs_subcmp OS error: Cannot allocate memory
Помогите пожалуйста решить проблему:
есть RepServer 12.6 и ASE 12.5.3 пытаюсь синхронизировать большую табличку (3 000 000 записей) утилитой rs_subcmp выдает такую ошибку:
Код: plaintext
Unable to get message '5189'. ((Intl-Lib error: Unable to open file)(OS error: Cannot allocate memory) Localization File: subcmp.loc Location: r/errloc.c( 279 )) [c/subcmp.c( 3178 )]
На сервере 4 Гб оперативки shmmax равен 3,2 гб
PS: маленькие таблички синхронизируются нормально.
Конфиг
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
PDS = server1
RDS = server2
PDB = db1
RDB = db2
PUSER = maint
RUSER = maint
PPWD = pass
RPWD = pass
PTABLE = table
RTABLE = table
IDENTITY = key
PSELECT = select * from table order by key
RSELECT = select * from table order by key
KEY = key
RECONCILE = N
VISUAL = Y
NUM_TRIES =  0 
WAIT =  0 
...
Рейтинг: 0 / 0
16.03.2009, 12:36
    #35871203
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs_subcmp OS error: Cannot allocate memory
Синхронизация осуществляется в памяти. Вы получает ошибку - OS error: Cannot allocate memory
Т.е. свободной памяти / swap у вас не достаточно для осуществления данной операции.

Как один из путей решений данной проблемы - разбить большую синхронизацию на несколько более мелких, путем добавления where в PSELECT
Либо же увеличить swap (вариант явно хуже)
Либо же увеличить памяти (вариант дороже)
...
Рейтинг: 0 / 0
16.03.2009, 12:53
    #35871263
rs_subcmp OS error: Cannot allocate memory
moris, подскажите пожалуйста как можно разбить запрос допустим по 10тис записей?
...
Рейтинг: 0 / 0
16.03.2009, 13:13
    #35871346
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs_subcmp OS error: Cannot allocate memory
Надеюсь у вас же есть PK на этой таблице... Тогда на основе значений PK разделите синхронизацию на несколько этапов.
PSELECT = select * from table WHERE PK between (minPK , maxPK) order by key
...
Рейтинг: 0 / 0
16.03.2009, 13:14
    #35871358
Компостеров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs_subcmp OS error: Cannot allocate memory
PSELECT =select * from table < where key between >order by key
RSELECT = select * from table < where key between > order by key

Попробуй так.
...
Рейтинг: 0 / 0
16.03.2009, 15:28
    #35871816
rs_subcmp OS error: Cannot allocate memory
Спасибо большое, вы мне очень помогли.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / rs_subcmp OS error: Cannot allocate memory / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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