powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / проблема с транзакциями
27 сообщений из 27, показаны все 2 страниц
проблема с транзакциями
    #34663191
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используется Informix v.9.4; ОС Windows 2003 Server. Была создана база rs. В консоле включил журналирование ontape -c. Размер log_tape 700 Мв. А теперь вопрос. При выполнении процедур, в которіх заданы команды управления транзакциями Begin, Work, Rollback и др. происходит ошибка "Transaction not available". Что делать? Читал что сервер надо перевести в режим транзакций. ивыполнил команду:

ontape -s -L 0 -U rs
TAPEDEV в файле ONCONFIG - null
В ответ на эту команду выдаёт следующие Arhive tot tape device "null" is complete.
А дальше всё тоже самое, опять не проходят транзакции.
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663455
svat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dima312

ontape -s -L 0 -U rs


может вместо опции "-U" использовать "-B" ?

из описания ontape:
Код: plaintext
1.
2.
-B set the following database(s) to buffered logging
-U set the following database(s) to unbuffered logging
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663473
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И с таким ключом тоже пробывал, нчего не изменилось.
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663545
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое null в винде???
Показывайте что делаете, нам не нужен вольный пересказ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
>echo "begin work"|dbaccess testa
Database selected.
  256: Transaction not available.

>ontape -s -L 0 -U testa
Archive to tape device '/dev/null' is complete.
Program over.

> echo "begin work"|dbaccess testa
Database selected.
Started transaction.
....

>onstat -
IBM Informix Dynamic Server Version 10.00.UC3     -- On-Line -- Up 60 days 22:11:37 -- 36212 Kbytes

...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663669
Алексан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денисчто такое null в винде???
Показывайте что делаете, нам не нужен вольный пересказ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
>echo "begin work"|dbaccess testa
Database selected.
  256: Transaction not available.

>ontape -s -L 0 -U testa
Archive to tape device '/dev/null' is complete.
Program over.

> echo "begin work"|dbaccess testa
Database selected.
Started transaction.
....

>onstat -
IBM Informix Dynamic Server Version 10.00.UC3     -- On-Line -- Up 60 days 22:11:37 -- 36212 Kbytes

Он должен NUL называться, насколько я помню...
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663702
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексанОн должен NUL называться, насколько я помню...Может они в файл с таким именем тейпят
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663766
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините неправильно написал, имел ввиду nul

>ontape -s -L 0 -U rs
Archive to tape device 'nul' is complete.
Program over.

>onstat -
IBM Informix Dynamic Server Version 9.40.TC1 -- On-Line -- Up 5 days 02:41:54 -- 42112 Kbytes

По поводу вольного написания, Вам нужно написать какую я процедуру выполняю или что?
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34663854
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У него версия 9.4 может ontape не понимает что от него хотят когда делаете одновременно и level-0 и перевод базы в режим журналирования?
Попробуй так:

ontape -s -B dbname
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664121
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima312
По поводу вольного написания, Вам нужно написать какую я процедуру выполняю или что?ну я бы хотел увидеть вывод команды: echo "begin work"|dbaccess rs
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664556
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronУ него версия 9.4 может ontape не понимает что от него хотят когда делаете одновременно и level-0 и перевод базы в режим журналирования?
да ну, с каких это пор (или версий) не понимает ? Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664676
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima312 В консоле включил журналирование ontape -c
Поправлю, этой командой вы включили непрерывное архивирование логических журналов (или журналов с записью транзакций), но не сам режим журналирования транзакций.
dima312 А теперь вопрос. При выполнении процедур, в которіх заданы команды управления транзакциями Begin, Work, Rollback и др. происходит ошибка "Transaction not available".
кстати, это ведь легко проверить, в каком режиме находится база
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select  substr(name, 1 , 18 )               db_name
        ,substr(owner, 1 , 8 )              owner
        ,created
        ,substr(' '||is_logging, 1 , 2 )    log
        ,substr(is_buff_log, 1 , 2 )        buf
        ,substr(is_nls, 1 , 2 )             nls
        ,substr(is_ansi, 1 , 2 )            ansi
        ,substr(flags, 1 , 5 )              flags
        ,substr(dbs_collate, 1 , 12 )       locale
from sysdatabases,sysdbslocale
where name=dbs_dbsname
order by created;
dima312 Читал что сервер надо перевести в режим транзакций. ивыполнил команду:
ontape -s -L 0 -U rs
TAPEDEV в файле ONCONFIG - null
В ответ на эту команду выдаёт следующие Arhive tot tape device "null" is complete.
смотреть нужно не на это, а на сообщение в логе сообщений сервера
Там должно быть что типа - "База .. переведена в режим BUFEERED" (по англ., естественно,
по другому "'dbname' - New logging mode: BUFFERED" :)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664804
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis[quot Andron]Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.

А вы попробуйте - и увидите :)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664831
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron vasilis[quot Andron]Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.
А вы попробуйте - и увидите :)
Что мне попробовать ? Какие конкретно действия выполнить ?
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664861
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте на тестовом нежурналируемую базу а затем переключите ее в журналируемый режим с помощью ontape -s -B dbname - это работает. И база действительно будет журналируемой. Помощь по ontape говорит что это правильно, т.е. флаг для переключения режимов журналирования необязательно применять вместе с флагом -L :

-s [[-L archive_level][-F]] [-A database_list] [-B database_list]
[-N database_list] [-U database_list] }
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664872
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку - нулевой бэкап будет сделан при этом, но речь о том что ontape из 9.4 (справка выше взята из 10) не понимает одновременно флагов -B и -L (пусть автор темы проверит)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664923
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronСоздайте на тестовом нежурналируемую базу а затем переключите ее в журналируемый режим с помощью ontape -s -B dbname - это работает. И база действительно будет журналируемой. Помощь по ontape говорит что это правильно, т.е. флаг для переключения режимов журналирования необязательно применять вместе с флагом -L :
-s [[-L archive_level][-F]] [-A database_list] [-B database_list]
[-N database_list] [-U database_list] }
По моему, вы ушли в сторону :)
Я и не утверждал, что ontape -s -B dbname не будет работать.
По умолчанию архив 0-го уровня и создается.
Я говорил о другом, о вашей фразе, что "может ontape не понимает что от него хотят когда делаете одновременно и level-0 и перевод базы в режим журналирования?"
Возможно, вы имели в виду, что конкретное указание -L 0 будет мешать ?
С какой стати ? Это будет явный баг, но после ошибок с расчетом кеширования, я , похоже, уже, не буду удивлен :)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664935
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis
...
Возможно, вы имели в виду, что конкретное указание -L 0 будет мешать ?


Именно (для 9.4 о чем я и сказал автору проверить)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34664964
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronВдогонку - нулевой бэкап будет сделан при этом, но речь о том что ontape из 9.4 (справка выше взята из 10) не понимает одновременно флагов -B и -L (пусть автор темы проверит)
Теперь более понятно.
Так это предположение или есть такие сведения ?
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34665052
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это предположение, у меня нету установленного 9.4 так что пусть автор проверяет.
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34665242
olleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andron ontape из 9.4 не понимает одновременно флагов -B и -L
У меня IDS 9.40.TC5 и при этом -L 0 не мешает -B :)
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34665348
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен с Ollegom. -L 0 абсолютно не мешает
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34665389
olleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако у меня:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
>echo begin work|dbaccess  test
Database selected.
  256: Transaction not available.

>ontape -s -L 0 -B test
Archive to tape device 'nul' is complete.
Program over.

>echo begin work|dbaccess test
Database selected.
Started transaction.

>onstat -
IBM Informix Dynamic Server Version 9.40.TC5     -- On-Line -- Up 04:02:10 -- 903744 Kbytes

А у вас?
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34665466
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может имеется ввиду этот случай ?
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34667094
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сегодня после всех моих экспериментов начало выдавать следующие сообщение.
>echo begin work|dbaccess rs
23101: Unable to load locale categories

>ontape -s -L 0 -B rs
Error changing logging status - 'rs'. iserno 107
Program over.

>onstat -
IBM Informix Dynamic Server Version 9.40.TC1 -- On-Line -- Up 6 days 03:30:50 -- 42112 Kbytes
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34667488
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima312Сегодня после всех моих экспериментов начало выдавать следующие сообщение.
>echo begin work|dbaccess rs
23101: Unable to load locale categories
>ontape -s -L 0 -B rs
Error changing logging status - 'rs'. iserno 107

Дима, выполните запрос. который я ранее написал
http://www.sql.ru/forum/actualthread.aspx?tid=452299?
А также представьте вывод set из того самого окна, из которого вы выполняли эти команды.
У вас явные проблемы с локалями, поэтому нужно узнать, с какой локалью создана база и установить соответствующие переменные окружения, а также проверить установку всех остальных переменных (типа informixdir и т.п.)

По ошибке 107 - ISAM error: record is locked говорит о том, что кто то уже работает с базой (она
открыта и на ней есть разделяемая блокировка, а включение транзакций требует эксклюзивного доступа).
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34669322
dima312
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, нашел того клиента который держал базу. Вывожу команду set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\informix.ZAPAS.000\Application Data
CLASSPATH=C:\PROGRA~1\informix\extend\krakatoa\krakatoa.jar;C:\PROGRA~1\informix\extend\kr
akatoa\jdbc.jar;
CLIENTNAME=Console
CLIENT_LOCALE=ru_RU.CP1251
ClusterLog=C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=ZAPAS
ComSpec=C:\WINDOWS\system32\cmd.exe
DBDATE=DMY4.
DBLANG=EN_US.CP1252
DBMONEY=.
DBTEMP=C:\PROGRA~1\informix\infxtmp
DB_LOCALE=ru_RU.CP1251
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\informix.ZAPAS.000
INFORMIXDIR=C:\PROGRA~1\informix
INFORMIXSERVER=rs
INFORMIXSQLHOSTS=\\XEO
LOGONSERVER=\\ZAPAS
NUMBER_OF_PROCESSORS=2
ONCONFIG=ONCONFIG.rs
OS=Windows_NT
Path=C:\PROGRA~1\informix\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\p
rogram files\intel\ServerManager\Server\BIN;C:\program files\intel\ServerManager\cli;C:\To
ols;C:\TOOLS;C:\Program Files\Informix\bin;C:\Program Files\Java\j2re1.4.2_04
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0403
ProgramFiles=C:\Program Files
PROMPT=$P$G
SERVER_LOCALE=ru_RU.CP1251
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\INFORM~1.000\LOCALS~1\Temp
TMP=C:\DOCUME~1\INFORM~1.000\LOCALS~1\Temp
USERDOMAIN=ZAPAS
USERNAME=informix
USERPROFILE=C:\Documents and Settings\informix.ZAPAS.000
windir=C:\WINDOWS
...
Рейтинг: 0 / 0
проблема с транзакциями
    #34671209
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima312
CLIENT_LOCALE=ru_RU.CP1251
DBDATE=DMY4.
DBLANG=EN_US.CP1252
DBMONEY=.
DBTEMP=C:\PROGRA~1\informix\infxtmp
DB_LOCALE=ru_RU.CP1251
INFORMIXDIR=C:\PROGRA~1\informix
INFORMIXSERVER=rs
INFORMIXSQLHOSTS=\\XEO
ONCONFIG=ONCONFIG.rs
Path=C:\PROGRA~1\informix\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\program files\intel\ServerManager\Server\BIN;C:\program files\intel\ServerManager\cli;C:\To
ols;C:\TOOLS;C:\Program Files\Informix\bin;C:\Program Files\Java\j2re1.4.2_04
SERVER_LOCALE=ru_RU.CP1251
USERDOMAIN=ZAPAS
USERNAME=informix

Переменную, выделенную жирным шрифтом, нужно убрать (оставить по умолчанию), так как у вас, скорее всего, нет этих файлов.
Переменные, выделенные курсивом, вызывают подозрение (настройки сервера - ветка SQLHOSTS берутся не с локального компа, а из сети и там может быть все что угодно. Лучше настроить через setnet32 на локальном компе и брать с локального реестра.)
Еще совет - никогда не ставить клиента в Program Files, а лучше делать это в отдельный каталог, типа c:\informix, чтобы не было такого INFORMIXDIR=C:\PROGRA~1\informix (были ньюансы :)
И просмотрите, есть ли у вас файлы по следующему пути C:\Program Files\informix\gls\lc11\ru_ru\*.* ?
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Informix [игнор отключен] [закрыт для гостей] / проблема с транзакциями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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