powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / start a transaction log
8 сообщений из 8, страница 1 из 1
start a transaction log
    #32842742
ladyirina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onaudit включен, ура!
на повестке дня transaction log.
как его включить?
в общем, сначала посмотрела, что на базу не включено логирование.
включила.
ondblog buf dbname.
сделала бэкап 0-го уровня, чтобы вступило в силу изменение.
однако, смотрю логи аудита:
при запуске процедуры
ошибка -256

-256 Transaction not available.

You cannot begin a transaction in this database because it does not
have a transaction log. In order to support transactions, you must
start a transaction log. Refer to your Administrator's Guide for
information on how to start a transaction log.


куда смотреть?
как стартануть этот транзакшн лог?

спасибо.
...
Рейтинг: 0 / 0
start a transaction log
    #32842788
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"как стартануть этот транзакшн лог?"

Стартовать его не надо, нужно просто перевести базу в режим регистрации транзакций. У каждой БД может быть свой режим. К тому же регистрация транзакций (проще говоря в БД разрешен и поддерживается транзакционный механизм) может быть буферированная и не буферированная (подробности в Руководстве админа).
Перевести БД в любой режим можно утилитой ontape (это ее побочная работа, кроме архивирования/восттановления) или ondblog (это ее основная работа).
Проверить состояние БД можно посмотрев sysdatabases из sysmaster.
Могу предложить запрос для формирования списка баз и их параметров.
------------------------------------------
-- Create the list of databases (all db)
-- (sysmaster:sysdatabases)
-- IDS 7.3+ 9.2+
--
-- V.Shulzhenko DBA_Tools
------------------------------------------
set isolation to dirty read;
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;
...
Рейтинг: 0 / 0
start a transaction log
    #32842835
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Проверьте, что транзакции для базы действительно включились - в onmonitor или в sysdatabases

2. Попробуйте перекомпилировать процедуру, запустив update statistics for procedure <>
...
Рейтинг: 0 / 0
start a transaction log
    #32843482
ladyirina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilis"как стартануть этот транзакшн лог?"

Стартовать его не надо, нужно просто перевести базу в режим регистрации транзакций. У каждой БД может быть свой режим. К тому же регистрация транзакций (проще говоря в БД разрешен и поддерживается транзакционный механизм) может быть буферированная и не буферированная (подробности в Руководстве админа).
Перевести БД в любой режим можно утилитой ontape (это ее побочная работа, кроме архивирования/восттановления) или ondblog (это ее основная работа).
Проверить состояние БД можно посмотрев sysdatabases из sysmaster.
Могу предложить запрос для формирования списка баз и их параметров.
------------------------------------------
-- Create the list of databases (all db)
-- (sysmaster:sysdatabases)
-- IDS 7.3+ 9.2+
--
-- V.Shulzhenko DBA_Tools
------------------------------------------
set isolation to dirty read;
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;

так как и я говорила, база переведена в режим логирования.
то есть до этих манипуляций в sysmaster -> sysdatabases
были параметры на мою базу
is_logging=0
после манипуляций с ondblog и произведением бэкапа нулевого уровня (как и пушут в мануалах) - эти параметры выставились
is_logging=1
is_buff=1

но опять после отработки скрипта, смотрю логи аудита
и вижу:
ONLN|2004-12-23 19:17:08.000|serv3|24758|serv_sw|oper|-256:EXSP:dbname_test:0

такая же ошибка была и до включения буферизированного логирования.
...
Рейтинг: 0 / 0
start a transaction log
    #32843491
ladyirina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vybegallo1. Проверьте, что транзакции для базы действительно включились - в onmonitor или в sysdatabases

2. Попробуйте перекомпилировать процедуру, запустив update statistics for procedure <>

ну насколько я понимаю, включились.
из данных onaudit -а я не вижу, какая именно процедура запускалась.

update statistics на всю базу поможет отцу русской демократии?
...
Рейтинг: 0 / 0
start a transaction log
    #32845691
ladyirina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смотрю на строчку
ONLN|2004-12-23 19:17:08.000|serv3|24758|serv_sw|oper|-256:EXSP:dbname_test:0

и в мануал:
Informix Trusted Facility Guide, где пишут, что последнее поле расшифровывется следующим образом
EXSP dbname proc. id

имя базы есть, а вот proc. id у меня ноль.
чтобы это значило?
как узнать, какая именно процедура вызывалась?


спасибо.
...
Рейтинг: 0 / 0
start a transaction log
    #32846538
Vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
procid = 0 - похоже на баг.
Попробуйте в dbaccess
begin work;
select ..
commit work;

- работает или ругается, что нет транзакций ? Если работает, то update statistics должно помочь.
...
Рейтинг: 0 / 0
start a transaction log
    #32846672
ladyirina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vybegalloprocid = 0 - похоже на баг.
Попробуйте в dbaccess
begin work;
select ..
commit work;

- работает или ругается, что нет транзакций ? Если работает, то update statistics должно помочь.

что имеем:

ONLN|2004-12-27 17:31:10.000|serv3|6371|serv_sw|informix|0:OPDB:dbname_test:0:-
ONLN|2004-12-27 17:31:10.000|serv3|6371|serv_sw|informix|0:ACTB:dbname_test:informix:accounts:100
ONLN|2004-12-27 17:31:10.000|serv3|6371|serv_sw|informix|0:RDRW:dbname_test:100:3146503:258
ONLN|2004-12-27 17:31:10.000|serv3|6371|serv_sw|informix|0:RDRW:dbname_test:100:3146503:259
ONLN|2004-12-27 17:31:10.000|serv3|6371|serv_sw|informix|0:CLDB:dbname_test

но тут-то никаких процедур не вызывается...
так что не понятно, что это дает.
кстати, update statistics for procedure
сделала.
помогло это или нет - не знаю.
тока сервер упал, и после его поднятия 256 ошибка не возникает больше.
однако возникает другая ошибка, тоже не понятно в какой процедуре
ONLN|2004-12-24 16:37:31.000|serv3|1954|serv_sw|oper|-746:EXSP:dbname_test:0
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / start a transaction log
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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