Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 проблема с транзакциями  [new]
dima312
Member

Откуда:
Сообщений: 11
Используется 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.
А дальше всё тоже самое, опять не проходят транзакции.
17 июл 07, 10:44    [4396571]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
svat2
Member

Откуда: Украина, Кременчуг
Сообщений: 263
dima312


ontape -s -L 0 -U rs


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

из описания ontape:
-B set the following database(s) to buffered logging
-U set the following database(s) to unbuffered logging
17 июл 07, 11:49    [4396993]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
dima312
Member

Откуда:
Сообщений: 11
И с таким ключом тоже пробывал, нчего не изменилось.
17 июл 07, 11:53    [4397023]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
что такое null в винде???
Показывайте что делаете, нам не нужен вольный пересказ

>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



Сообщение было отредактировано: 17 июл 07, 12:14
17 июл 07, 12:09    [4397141]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Алексан
Member

Откуда: Москва
Сообщений: 127
Журавлев Денис
что такое null в винде???
Показывайте что делаете, нам не нужен вольный пересказ

>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 называться, насколько я помню...
17 июл 07, 12:33    [4397369]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Алексан
Он должен NUL называться, насколько я помню...
Может они в файл с таким именем тейпят
17 июл 07, 12:40    [4397440]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
dima312
Member

Откуда:
Сообщений: 11
Извините неправильно написал, имел ввиду 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

По поводу вольного написания, Вам нужно написать какую я процедуру выполняю или что?
17 июл 07, 12:57    [4397605]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
У него версия 9.4 может ontape не понимает что от него хотят когда делаете одновременно и level-0 и перевод базы в режим журналирования?
Попробуй так:

ontape -s -B dbname
17 июл 07, 13:20    [4397800]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
dima312

По поводу вольного написания, Вам нужно написать какую я процедуру выполняю или что?
ну я бы хотел увидеть вывод команды: echo "begin work"|dbaccess rs
17 июл 07, 14:08    [4398225]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Andron
У него версия 9.4 может ontape не понимает что от него хотят когда делаете одновременно и level-0 и перевод базы в режим журналирования?

да ну, с каких это пор (или версий) не понимает ? Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.
17 июл 07, 15:44    [4399104]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
dima312
В консоле включил журналирование ontape -c

Поправлю, этой командой вы включили непрерывное архивирование логических журналов (или журналов с записью транзакций), но не сам режим журналирования транзакций.
dima312
А теперь вопрос. При выполнении процедур, в которіх заданы команды управления транзакциями Begin, Work, Rollback и др. происходит ошибка "Transaction not available".

кстати, это ведь легко проверить, в каком режиме находится база
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" :)
17 июл 07, 16:05    [4399326]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
vasilis
[quot Andron]Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.


А вы попробуйте - и увидите :)
17 июл 07, 16:35    [4399593]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Andron
vasilis
[quot Andron]Всю жизнь именно так одновременно и делалось, т.к. без выполнения архива 0-го уровня перевод базы в транзакционных режим не считается полностью завершенным.

А вы попробуйте - и увидите :)

Что мне попробовать ? Какие конкретно действия выполнить ?
17 июл 07, 16:40    [4399642]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Создайте на тестовом нежурналируемую базу а затем переключите ее в журналируемый режим с помощью ontape -s -B dbname - это работает. И база действительно будет журналируемой. Помощь по ontape говорит что это правильно, т.е. флаг для переключения режимов журналирования необязательно применять вместе с флагом -L :

-s [[-L archive_level][-F]] [-A database_list] [-B database_list]
[-N database_list] [-U database_list] }
17 июл 07, 16:45    [4399690]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Вдогонку - нулевой бэкап будет сделан при этом, но речь о том что ontape из 9.4 (справка выше взята из 10) не понимает одновременно флагов -B и -L (пусть автор темы проверит)
17 июл 07, 16:47    [4399710]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
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 будет мешать ?
С какой стати ? Это будет явный баг, но после ошибок с расчетом кеширования, я , похоже, уже, не буду удивлен :)
17 июл 07, 16:57    [4399819]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
vasilis

...
Возможно, вы имели в виду, что конкретное указание -L 0 будет мешать ?


Именно (для 9.4 о чем я и сказал автору проверить)
17 июл 07, 16:59    [4399837]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Andron
Вдогонку - нулевой бэкап будет сделан при этом, но речь о том что ontape из 9.4 (справка выше взята из 10) не понимает одновременно флагов -B и -L (пусть автор темы проверит)

Теперь более понятно.
Так это предположение или есть такие сведения ?
17 июл 07, 17:06    [4399890]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
Andron
Member

Откуда: Cherepovets
Сообщений: 1816
Это предположение, у меня нету установленного 9.4 так что пусть автор проверяет.
17 июл 07, 17:26    [4400073]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
olleg
Member

Откуда: Россия
Сообщений: 190
Andron
ontape из 9.4 не понимает одновременно флагов -B и -L

У меня IDS 9.40.TC5 и при этом -L 0 не мешает -B :)
17 июл 07, 18:22    [4400483]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
dima312
Member

Откуда:
Сообщений: 11
Согласен с Ollegom. -L 0 абсолютно не мешает
17 июл 07, 18:55    [4400657]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
olleg
Member

Откуда: Россия
Сообщений: 190
Однако у меня:

>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

А у вас?
17 июл 07, 19:18    [4400722]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
onstat-
Member

Откуда:
Сообщений: 6941
А может имеется ввиду этот случай ?
17 июл 07, 20:12    [4400862]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
dima312
Member

Откуда:
Сообщений: 11
Сегодня после всех моих экспериментов начало выдавать следующие сообщение.
>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
18 июл 07, 14:00    [4403886]     Ответить | Цитировать Сообщить модератору
 Re: проблема с транзакциями  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
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

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

По ошибке 107 - ISAM error: record is locked говорит о том, что кто то уже работает с базой (она
открыта и на ней есть разделяемая блокировка, а включение транзакций требует эксклюзивного доступа).

Сообщение было отредактировано: 18 июл 07, 15:16
18 июл 07, 15:13    [4404547]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Informix Ответить