Тяпница

2011-10-14 Пенетрантность Konstantin R. Beliaev

Подхожу к туалету, вижу закрытую дверь, мысль: Critical section locked...
Пора завязывать с многопоточными приложениями )))



Re: Как отключить -USE_(ALL_SPACE) ?

2011-06-03 Пенетрантность Konstantin R. Beliaev

Khorsun Vlad wrote:

Ты вообще пытался хоть какую-нибудь документацию читать ? Прости, но
за много лет пребывания на этом форуме твои вопросы заставляют меня
считать обратное, и лучше не становится...


Извини, Влад :)
отвечу анекдотом:
- Почему так мало людей умеют устанавливать UNIX ?
- Потому что его один раз поставил - и он стоит...

Так и с птицей: когда необходимость в GFIX возникает раз в год, о его 
существовании как-то забываешь :)))




Re: Как отключить -USE_(ALL_SPACE) ?

2011-05-27 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

Konstantin R.Beliaev ...


Когда-то сдуру при ресторе включил опцию gbak
-USE_(ALL_SPACE)  do not reserve space for record versions

Теперь в свойствах базы вижу
Attributes  force write, no reserve

Несколько раз бэкап-ресторил уже без этой опции, но в свойствах no
reserve сохраняется.
Как его теперь отключить-то? :)
FB 2.5



   gfix -use тебе всё скажет


Блин, ни за что б не догадался, что надо GFIX смотреть :((



Re: Бэкап через сервисы

2011-05-27 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

Cannot perform operation -- service is not attached.


   isc_service_start вызван без вызова isc_service_attach, или 
isc_service_attach завершился с ошибкой.



Не, ну разница-то только в пути к файлу бэкапа!
Если я укажу несуществующий диск или каталог, например: H:\blabla\123.fbk
то у меня программа дает сообщение о неправильном файле,
а у клиента не подключается сервис! :(

gbak через сервисы дает нормальную диагностику про неправильный файл,
хотя пока игрался, нашел что вот такая ошибочная команда:
gbak -b localhost:d:\base\multi.fdb h:\base\multi_meta.gbk -g -m -se
приводит к падению процесса классика (Firebird-2.5.1.26166-0_Win32) :
This application has requested the Runtime to terminate it in an unusual 
way.

Please contact the application's support team for more information.



Бэкап через сервисы

2011-05-26 Пенетрантность Konstantin R. Beliaev
Не знаю, чья это бага: птицы, pFIBBackupService или кривой настройки, но 
есть какие-то странности в сообщениях об ошибках.
Например, если неправильно задать имя файла бэкапа, то при бэкапе через 
сервисы из FIB-ов на моей машине выдается вполне понятное сообщение:


gbak: cannot open backup file testworkstation:f:\base\test.fbk
gbak: Exiting before completion due to errors

а на машине клиента:

Cannot perform operation -- service is not attached.

Как бы это пофиксить?



Access violation

2011-05-18 Пенетрантность Konstantin R. Beliaev

Я понимаю, что это стук в подвале, но может кто-то знает, где копать?

Периодически возникает Access Violation по адресу 77C32A16 в msvcrt.dll 
при вызове isc_iterprete в функции ФИБов TIBClientLibrary.isc_interprete

Как бы понять, в чем причина?

WinXP SP3
gds32.dll 6.3.4.4910
FB 2.5.1.26166

Может это быть из-за несовпадения версий сервера и GDS32 ?



Сильно неуникальный индекс

2011-03-25 Пенетрантность Konstantin R. Beliaev
Помнится раньше сильно неуникальные интексы, со статистикой 0.3-0.5 
считались большим злом и сильно тормозили при удалении записей.
В 2.5 это поправили или все еще рекомендуется добавлять в индекс 
какое-нибудь поле для улучшения уникальности?




Re: Генерация номеров - генераторы или автономная транзакция?

2011-03-25 Пенетрантность Konstantin R. Beliaev

Nikolay Ponomarenko wrote:
Необходим некоторый механизм, который выдает уникальные номера, но 
настраивается на стороне пользователя - т.е. во время работы с базой 
(например раздельные последовательности номеров по структурным 
подразделениям, которые могут появляться, удаляться).


Вот такой не подойдет:
http://konstb.newmail.ru/interbase/gennum.htm
?



Re: Господа, презабавнейшая идея

2011-03-25 Пенетрантность Konstantin R. Beliaev

Valery Gruzdev wrote:
Вот именно что для каждой базы - персональный порт, а хочется 
имитировать наличие всех баз на одном стандартном сервере.


ZeeBeDee ?



Re: Кто-то портит GDS32

2011-02-10 Пенетрантность Konstantin R. Beliaev

Евгений Виноградный wrote:
Не Vista/7 случаем? Клиента с повышенными правами под админом копировали 
в system32?

Чур меня :-)
Нее, у нас XP и кое-где 98я



Версия сервера

2011-02-10 Пенетрантность Konstantin R. Beliaev

Забавно, что при обращении к FB 1.5.5 возвращается версия WI-V6.3.5.4926
а к FB 2.5 - WI-V6.3.1.26158
Билд увеличился, а минорная версия - уменьшилась :)))



Re: Кто-то портит GDS32

2011-02-08 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

все заработало, спасибо :)

Оказывается, не все :(
На Win98 не заработало. Там еще какие-то библиотеки надо ставить?



Re: Кто-то портит GDS32

2011-02-03 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

Никто не сталкивался с такой ситуацией:
сервер лежит в каталоге C:\FB25, fbclient.dll скопирован в gds32.dll
Прописываю в IBE работать через библиотеку C:\FB25\bin\gds32.dll - все 
работает,

копирую в system32 и правлю путь в IBE - не работает, пишет:
Client Library is missing or invalid.
копирую из SYSTEM32 в C:\---\gds32.dll и опять правлю путь в IBE - не 
работает с тем же сообщением :((


Проявляется не на всех машинах, подозрение на вирус-антивирус 
проверяется...


Еще странность: проявляется только на gds32.dll от FB 2.5.1, на версии 
от 2.1 все работает нормально. Теряюсь в догадках... :(




Re: Кто-то портит GDS32

2011-02-03 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:
Похоже с рантаймами у тебя косяки. Снапшоты (включая 2.5.1) собирается 
чуток другой версией MSVC и хотят другую версию msvcr80. Нужный рантайм 
идет в комплекте, поэтому из C:\FB25\bin\ все грузится. А в системе его 
нет, поэтому из %system% не грузится.


Скопировал msvcp80.dll msvcr80.dll из BIN в SYSTEM32 - не помогло :(

При попытке добавить в SYSTEM32 Microsoft.VC80.CRT.manifest выдает 
сообщение:

---
Microsoft Visual C++ Runtime Library
---
Runtime Error!
Program: C:\Do...
R6034
An application has made an attempt to load the C runtime library 
incorrectly.

Please contact the application's support team for more information.

Чего я не доделал?
WinXPPro SP3



Re: Переход 2.5 - 2.1

2011-02-03 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

На SQL.RU сказали, что там увеличена длина имен security class'ов,


   Эту чушь там не говорили, ибо это чушь


Сорри, напутал (посыпая голову пеплом)



Re: Переход 2.5 - 2.1

2011-02-03 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

   До 2.5 имена классов безопасности для таблиц формировались как
SQL$table, есс-но из имени таблицы бралось 27 символов. Поэтому
была возможна ситуация, когда для 2-х таблиц с одинаковым префиксом
в =27 символов использовался один и тот же класс безопасности, и
гранты перемешивались.

   В 2.5 (ODS 11.2) имена классов безопасности больше не используют
этот метод именования и не связаны с именами таблиц. Но, как позже
выяснилось, движки до 2.5 проверяют соответствие имени классов
безопасности имени таблицы, отсюда проблемы с даунгрейдом при ресторе.


Влад, а можно тогда методику даунгрейда описать? А лучше скриптик 
подготовить ;)
А то на большой системе все не отследишь, и после перехода вероятна 
ситуация, когда что-то не заработает и требуется откат обратно, а его 
нету :(




Re: Кто-то портит GDS32

2011-02-03 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

В %system% нельзя тупо копировать рантайм, только ставить редистом.

Возьми тут:
http://www.ibprovider.com/download/crt/vs2005_SP1_8_0_50727_4053/vcredist_x86__8_0_50727_4053.exe 



Тут его нету :(
Нашел поиском по сети, все заработало, спасибо :)



Re: Переход 2.5 - 2.1

2011-02-03 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

   Так тебе же дали всё ? Или оно не рабочее ?

Я ж написал, что не проверял :) А ты не подтвердил и не опроверг ;)


   Возможность даунгрейда проверяют *до* перехода, а не когда петух клюнет.
И чем больше система, тем тщательнее проверяют...
Это понятно, просто стандартная процедура отката всегда работала, и 
упоминание в релиз-нотах про security class ну никак не 
проассоциировалось с невозможностью оного в данном случае.




Кто-то портит GDS32

2011-02-02 Пенетрантность Konstantin R. Beliaev

Никто не сталкивался с такой ситуацией:
сервер лежит в каталоге C:\FB25, fbclient.dll скопирован в gds32.dll
Прописываю в IBE работать через библиотеку C:\FB25\bin\gds32.dll - все 
работает,

копирую в system32 и правлю путь в IBE - не работает, пишет:
Client Library is missing or invalid.
копирую из SYSTEM32 в C:\---\gds32.dll и опять правлю путь в IBE - не 
работает с тем же сообщением :((


Проявляется не на всех машинах, подозрение на вирус-антивирус проверяется...



Re: Переход 2.5 - 2.1

2011-02-02 Пенетрантность Konstantin R. Beliaev

Dmitry Sinchilin wrote:

Привет, все!

Раньше можно было используя разные версии gbak сделать downgrade для 
базы. Сейчас не получается этого сделать для 2.5 - 2.1


база под 2.5, делаю бекап с помощью gbak2.1, потом с этой же gbak2.1 
restore под FB2.1, получаю


gbak:restoring privilege for user SYSDBA
gbak: ERROR:action cancelled by trigger (3) to preserve data integrity
gbak: ERROR:table/procedure has non-SQL security class defined

тоже самое с gbak2.5

может можно что-нибудь сделать? Не надо меня спрашивать зачем.
Просто: можно ли downgrade с 2.5?


Искал ответ на тот же вопрос из-за странных зависаний 2.5
На SQL.RU сказали, что там увеличена длина имен security class'ов, 
поэтому на 2.1 оно не хочет ресториться. Дали скрипт, который вроде бы 
исправляет проблему (см. аттач):


1. Выполнение в IBEScript (можно и в IBExpert) скрипта из вложения для 
восстановления имен security class'ов
2. Бэкап по tcp при помощи gbak.exe от версии FB 2.1 (формат бэкапа 2.5 
для рестора на версии 2.1 не подходит)

3. Рестор на версии FB 2.1.

Честно скажу: сам не пробовал, мне помог переход на последний снапшот.
Так что сначала потренируйся на копии :)


_restore_25_to_21.rar
Description: Binary data


!! 2.5: обламывается рестор !!

2011-01-20 Пенетрантность Konstantin R. Beliaev

На последнем снапшоте рестор обламывается с сообщением:

gbak:restoring SQL role: RDB$ADMIN
gbak: ERROR:attempt to store duplicate value (visible to active 
transactions) in unique index RDB$INDEX_39


Хотя я вообще роли не использую!!!
И в таблице RDB$ROLES единственная запись: RDB$ADMIN



Re: !! 2.5: обламывается рестор !!

2011-01-20 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

20.01.2011 14:56, Konstantin R. Beliaev пишет:


На последнем снапшоте рестор обламывается с сообщением:

gbak: restoring SQL role: RDB$ADMIN
gbak: ERROR:attempt to store duplicate value (visible to active
transactions) in unique index RDB$INDEX_39



Ты бекап базы от 2.5 (ODS 11.2) сделал gbak-ом от 2.1 (или еще раньше), 
только в этом случае такое вылазит.


Хмм... возможно, щас проверю. Но это по любому бага: пытаться вставить 
роль, не проверяя, а нет ли ее там уже.




Re: Странные обрывы соединения

2011-01-18 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

без ключа он не работает :-)
тупо TCP-туннель пробрасывает и все, чтобы коннект работал.
пишет ли при этом лог - непомню, скорее нет.


Ну, тогда понятно, почему был пустой лог.
Насчет обрывов: админы признались, что перепрошили биос на матери, после 
этого начала глючить бортовая сетевуха. Поставили слотовую - обрывы исчезли.




Re: Странные обрывы соединения

2011-01-13 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

KeepAliveTime = 12
KeepAliveInterval = 1000
MaxDataRetries - нету такого
TcpMaxDataRetransmissions = 10


подитожим.
на сервере, где стоит FB  FBScanner, и _так_ настроен Keep Alive,

через 125 секунд после выдергивания сетевого шнура у клиента
- никакой реакции в firebird.log и FBScanner.log ?


125 секунд я не ждал, я жал кнопу в программе - на сервер уходил запрос, 
который обламывался и сообщал мне об обрыве связи.
В ФИБах включена опция восстановления связи при обрыве - после втыкания 
шнура она срабатывает и восстанавливает соединение. Но насколько я 
понимаю, это - уже другое соединение с другим процессом классика, разве 
нет? А предыдущее должно спокойно умереть с отметками в логах.

Или я ошибаюсь, и восстанавливается именно предыдущее соединение?



Re: Странные обрывы соединения

2011-01-13 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:
   Если же при вытащенном шнуре клиент попробует обратиться к серверу 
FB, то обрыв заметит fbclient.dll, выйдет ошибка Enable to complete 
network request to host  ... и после уже fib-ы будут создавать новое 
соединение.



   Далее. Сервер вытаскивания пачкорда из клиентской машины не заметит 
до тех пор, пока не попробует что-то отправить клиенту (например. dummy 
packet), или пока не сработает keepalive на самом сервере. И только 
после этого закроет этот коннект с записью в firebird.log
   Что при этом было на сервере - FB или FBScanner - неважно. Они оба 
реагируют на закрытие сокета самой ОС.





Ну, так это самое и происходит: Enable to complete network request..., 
потом переподключение. На сервере появляется второй процесс.
Через несколько минут птица обнаруживает потерю коннекта и гасит первый 
процесс.
У меня два сервера. На одном появляется запись в FBScanner.log, на 
другом - нет :((

Правда, другой - это тот, где слетела регистрация FBScanner.
В логах птицы нет записей ни там, ни там.



Re: Подвисает 2.5 :(((

2011-01-11 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

Если падает на препаре, то воспроизведется. А так оно и есть, скорее всего.

Да, воспроизводится. Причем на 2.5.0 работает нормально.
Бэкап 300 метров в архиве, куда слать?



Re: Подвисает 2.5 :(((

2011-01-03 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:
Это вряд ли. А вот снапшоты 2.5.1 - это без месяца релиз. И подобные 
подвисания как минимум двух видов там правились.

Firebird-2.5.1.26158-0_Win32
рвется соединение на вот таком запросе:

SELECT ws.priceoutcurr, 
SUM((st.in_store+st.reserved+st.in_assemble)*ws.priceout)

FROM   wares ws, store st, category ct
WHERE  ws.complex='F'
and ws.warenum = st.warenum
and ws.category=ct.num
and ct.isservice  'T'
/*** если исключить вот этот подзапрос - все нормально /
and (st.num not in (
select sn.num from filter_table_details ftd, storenames sn
where ftd.ft_id=14 and ftd.key1=sn.num
))
/***/
group by ws.priceoutcurr



Re: Подвисает 2.5 :(((

2011-01-03 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

А база где?

А база размером в гиг.
Если на только метаданных воспроизведется - пришлю.
Там проблема именно в NOT IN, переписал через not exists - заработало.



Странные обрывы со единения

2010-12-30 Пенетрантность Konstantin R. Beliaev

Всех с Новым годом :)
Что-то странное у нас происходит. Клиенты жалуются на обрывы связи с птицей:

Enable to complete network request to host ...
Error reading data from the connection.

Однако ни в логах птицы, ни в логах FBScaner ничего подобного не 
наблюдается. Например, за вчерашний день в логах нет ВООБЩЕ никаких 
сообщений об ошибках!

Где копать?



Re: Странные обрывы с оединения

2010-12-30 Пенетрантность Konstantin R. Beliaev
Провел эксперимент с выдергиванием сетевого шнура: клиент потерю 
обнаружил, но в логах птицы ничего не появилось :(

Так и должно быть?



Re: Странные обрывы с оединения

2010-12-30 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

шнур между клиентским компом и коммутатором?

угу

какой период срабатывания у Keep Alive - успел сработать?

А где глянуть, напомни?
Птицевый клиент потерю связи обнаружил, и потом почему-то сетевой 
коннект долго не восстанавливался.




Подвисает 2.5 :(((

2010-12-30 Пенетрантность Konstantin R. Beliaev

Зависает Firebird-2.5.0.26074-0_Win32 в режиме классик
Один из процессов уходит в 100% загрузку процессора, при этом остальные 
могут подключиться к базе, но любой запрос, в том числе из таблиц 
мониторинга, уходит в бесконечное ожидание.

Убиение загруженного процесса все возвращает в норму на какое-то время.
В аттаче - результат программы fb_lock_print.exe


locks.rar
Description: Binary data


Re: Странные обрывы с оединения

2010-12-30 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

на сервере.
который должен заметить пропадание клиента



KeepAliveTime = 12
KeepAliveInterval = 1000
MaxDataRetries - нету такого
TcpMaxDataRetransmissions = 10




Re: Подвисает 2.5 :(((

2010-12-30 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

Зависает Firebird-2.5.0.26074-0_Win32 в режиме классик
Один из процессов уходит в 100% загрузку процессора, при этом остальные 
могут подключиться к базе, но любой запрос, в том числе из таблиц 
мониторинга, уходит в бесконечное ожидание.

Убиение загруженного процесса все возвращает в норму на какое-то время.
В аттаче - результат программы fb_lock_print.exe


Проблема еще в том, что откатиться на 2.1 не получается из-за
gbak: ERROR:action cancelled by trigger (3) to preserve data integrity
gbak: ERROR:table/procedure has non-SQL security class defined
Может, есть какой способ?



Re: Подвисает 2.5 :(((

2010-12-30 Пенетрантность Konstantin R. Beliaev

Alexey Kovyazin wrote:

Попробуй перейти на последний снэпшот 2.5.1.

Попробую.
Проблема только в том, что это боевой сервер :(((
И зависание довольно случайное и непонятное. Т.е. исправится или нет - 
будет ясно только когда подключатся юзеры...




Re: Подвисает 2.5 :(((

2010-12-30 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

Alexey Kovyazin wrote:


Попробуй перейти на последний снэпшот 2.5.1.


Попробую.
Проблема только в том, что это боевой сервер :(((
И зависание довольно случайное и непонятное. Т.е. исправится или нет - 
будет ясно только когда подключатся юзеры...



Хмм... Пока возился - обнаружил неперекомпиленный before delete триггер, 
в котором упоминались NEW значения. Может, в нем было дело?

Перекомпилил. Завтра посмотрим



Re: FBScaner, FIB+ и IBExpert (was FB 1.5.6 classic. Виснет ресто р)

2010-12-23 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:
Какие такие проблемы при бекапе? Указывай порт везде, где указываешь 
хост, вот и все. Т.е. в твоем случае - и для сервиса, и для базы.


А как это должно выглядеть в параметрах вызова API ?
Можно пример заполнения?



Re: FBScaner, FIB+ и IBExpert (was FB 1.5.6 classic. Виснет ресто р)

2010-12-23 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:
Также, как и сейчас выглядит, только дописать к имени хоста через слеш 
номер порта.

Хмм...
Посмотрел, как было.
Получалась такая цепочка вызовов:
- вызов сервиса на 3050
- коннект к FBScaner по 3050
- перенаправление на FB 3051
- старт GBAK через сервисы
- коннект GBAK по 3050 к FBScaner (*)
- перенаправление на FB 3051 (*)
..где-то здесь зависон..

Если строчки (*) заменить на
- коннект GBAK по 3051 к FB
то все работает.
Значит, проблема где-то в FBScaner...



Re: FBScaner, FIB+ и IBExpert (was FB 1.5.6 classic. Виснет ресто р)

2010-12-16 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:
Версии новее во-первых поддерживают локальный протокол, а во-вторых он 
для сервисов все равно не нужен, т.к. они запускаются потоками и 
подключаются к базе через embedded-доступ. Так что начиная с 2.0 Влад 
правильно говорит. А 2.5 вообще обломит с таким редиректом.


Интересно, а как тогда заполнять эти парамеры при вызове сервиса (из 
программы, а не для GBAK), если 1.5 требует указания хоста, а 2.5 его 
наоборот, запрещает?


И остался еще любопытный вопрос, который я кажется уже поднимал:
поскольку порт можно указать либо при запуске ключом -p 3051, либо в 
conf файле, может возникнуть ситуация, когда эти порты разные.
А т.к. все коннекты _с_ этого компа берут порт по умолчанию из conf (как 
мне здесь объясняли), то как поведет себя сервер в этой ситуации?


У меня получилось что: если поставить в conf 3051, то прога с этого 
компа пытается подключиться к FB на другом компе по 3051, а не по 3050,
если же поставить в conf 3050, а сервис запускать с ключом -p 3051, то 
возникают проблемы про бэкапе.

Как быть?



Re: FB 1.5.6 classic. Виснет рест ор :((

2010-12-15 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

Через gbak -se тоже виснет? Коннект к сервисам локальный или TCP?


Да, виснет в том же месте.

gbak -с -se server:service_mgr f:\base\3.fbk server:f:\base\4.fdb -o -v 
-y f:\base\restore.res


PS
Вообще говоря, синтаксис с сервисами весьма неочевиден :((
Где-то с двадцатой попытки до меня дошло, что лог тоже создается на 
сервере, что надо указывать server:service_mgr и повторить server в пути 
к базе :((


PPS
У меня на сервере стоят рядом 1.5 и 2.5, причем в SYSTEM32 лежит 
gds32.dll от 2.5 - с этим может быть связано?




FBScaner, FIB+ и IBExpert (was FB 1. 5.6 classic. Виснет рестор)

2010-12-15 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:
gbak -с -se server:service_mgr f:\base\3.fbk server:f:\base\4.fdb -o -v 
-y f:\base\restore.res


Тааак, отмена - проблема не в птице, а в FBScanner.

У меня птица висит на порту 3051.
Команды
gbak -с -se server/3051:service_mgr f:\base\3.fbk 
server/3051:f:\base\4.fdb -o -v -y c:\restore.res

и
gbak -с -se server:service_mgr f:\base\3.fbk server/3051:f:\base\4.fdb 
-o -v -y c:\restore.res

проходят нормально,

а
gbak -с -se server/3051:service_mgr f:\base\3.fbk server:f:\base\4.fdb 
-o -v -y c:\restore.res

- виснет в упомянутой точке

Интересно, как IBExpert и ФИБы парсят строку server/3051:f:\base\4.fdb, 
так что получается не то, что надо...




Re: FBScaner, FIB+ и IBExpert (was FB 1.5.6 classic. Виснет ресто р)

2010-12-15 Пенетрантность Konstantin R. Beliaev

Все интереснее и интереснее...

Обнаружилось, что в firebird.conf не указан порт 3051 (он указан при 
старте сервиса:

C:\FB\bin\fb_inet_server.exe -s -p 3051
Поправил - стало ресториться нормально.

Как-то оно не совсем логично: получается, что при запуске gbak через 
сервисы порт запущенного сервера игнорируется, и берется из conf ?




Re: FBScaner, FIB+ и IBExpert (was FB 1.5.6 classic. Виснет ресто р)

2010-12-15 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:

   У тебя строка gbak'а включает имя хоста в имени БД (кто каке научил?):

-se host1:service_mgr ... host2:db_path


Хм, а озвучьте плиз _правильный_ синтаксис этой команды, поскольку то, 
что получилось у меня - был единственный рабочий вариант.


Команда
gbak -r -se server:service_mgr f:\base\3.fbk f:\base\4.fdb -o -v -y 
c:\restore.res


пишет в лог:
gbak: opened file f:\base\3.fbk
gbak: transportable backup -- data in XDR format
gbak:   backup file is compressed
gbak: ERROR: unavailable database
gbak: ERROR: failed to create database f:\base\4.fdb
gbak: Exiting before completion due to errors



FB 1.5.6 classic. Виснет ресто р :((

2010-12-14 Пенетрантность Konstantin R. Beliaev

Я понимаю, что 1.5 уже не поддерживается, но жить как-то надо...

Вопрос такой: рестор через gbak проходит на ура, а если попытаться тот 
же файл отресторить через сервисы (при помощи IBExpert, или компонентов 
FIB+), то все намертво подвисает :((


На 1.5.5 вис в точке
gbak: restoring domain RDB$3408

обновился до 1.5.6 - стал виснуть на сотню строк дальше:
gbak: restoring table EMPLOYEE
gbak: restoring column WAGE_RATE
gbak: restoring column FIRSTNAME
gbak: restoring column SECONDNAME
gbak: restoring column THIRDNAME
gbak: restoring column INITIALS
gbak: restoring column INCOME
gbak:

В чем может быть дело? никто не сталкивался?
В бэкапе только метаданные.



Re: Out of memory...

2010-12-13 Пенетрантность Konstantin R. Beliaev

Igor Zakhrebetkov wrote:

а что-то типа
 substring(cast(Config as varchar(1)) from 1 for 1024)
не поможет?


Хмм... помогло, спасибо!!!



Re: Переход на 2.5

2010-12-10 Пенетрантность Konstantin R. Beliaev

Kochmin Alexandr wrote:

нужно быть вообще безбашенным программистом чтоб писать такой код.
Вот и механизм пусть пишет такой программист сам ;)


Почему же безбашенным?
Навскидку:

UPDATE T
SET A = (select sum(..) from X),
B = A + (select sum(..) from Y)
C = (case
 when B  0 then (select ... from Z)
 else (select ... from ZZ)
 end)

это то, что родилось за 5 минут :))

Почему я подумал о механизме? Для перехода на диалект 3 есть специальный 
диалект 2, который генерит много предупреждений.
Вот и пришло в голову, что и тут мог бы быть ключик GBAK, выдающий 
всякие предупреждения о некорректном коде.




Re: Out of memory...

2010-12-10 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:


Если ФБ 2.5, то курить MON$MEMORY_USAGE.


2.1, хотя могу попробовать запустить под 2.5
А чем это поможет? Такое ощущение, что внутренние вызовы хранимок едят 
память.




Re: Out of memory...

2010-12-10 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

Dmitry Yemanov wrote:


Если ФБ 2.5, то курить MON$MEMORY_USAGE.



2.1, хотя могу попробовать запустить под 2.5
А чем это поможет? Такое ощущение, что внутренние вызовы хранимок едят 
память.




На 2.5 не воспроизводится



Re: Out of memory...

2010-12-10 Пенетрантность Konstantin R. Beliaev

Sergey Mereutsa wrote:

Смотри в сторону временных блобов. Хотя вроде фиксили, так что не
уверен.

Да, есть в вызываемой хранимке чтение из блоба в строку:
  select substring(Config from 1 for 1024) from Config
  where Name='columnsmap' into :S;
которая потом парсится через substring.
Как это обойти? Хранимки только читающие.



Out of memory...

2010-12-09 Пенетрантность Konstantin R. Beliaev
Внутри хранимки выполняется цикл (выбирается по условию список товаров, 
к которым другими хранимками добавляются еще реквизиты):


  FOR
  execute statement
  'select w.Dashcode, w.WareNum, l.Pricecode
from wares w join pricelevel l on (w.Printit = l.Pricecode)
where 1=1 '||where_str
  INTO
:Dashcode, :WN, :Pricecode
  DO
  begin
FOR
select n.Num, g.Price, g.Region_Id
  from Get_Wares_Prices(:WN, :Priceout_Curr) g
   left join StoreNames n on (g.REGION_ID = n.Pricecolumn_Int)
  where g.Price is not null
and (n.Closed=0 or n.Closed is null)
INTO
  :Storenum, :Price, :Region_Id
DO
begin
  if (:Region_Id  :Old_Region_Id) then
  -- ищем, только если код сменился
select f.PRICENAME, f.Priceid from Pricetypes_Full f /*  */
  where f.Priceid = :Region_Id
  into :Region_Name, :Old_Region_Id;
  --end if
  suspend;
end
  end

Проблема в том, что если верхний запрос возвращает слишком много 
записей, то в конце концов возникает нехватка памяти на вызове хранимки 
Pricetypes_Full, и процесс fb_inet_server занимает всю доступную память.

Commit приводит потребление памяти в норму.

Что происходит и как это побороть?



Переход 2.1 - 2.5

2010-11-24 Пенетрантность Konstantin R. Beliaev

Допустимо ли при переходе с 2.1 на 2.5 не делать бэкап-рестор?



Re: Переход 2.1 - 2.5

2010-11-24 Пенетрантность Konstantin R. Beliaev

Ovchinnikov Vasily wrote:
Допустимо. Если срастется (см. ниже причины несрастания), то работать 
будет.

Но B/R рекомендуется сделать. Ибо меняется ODS.
К тому же кодировку метаданных надо будет скорее всего исправить, так 
что без B/R будет не обойтись.
См. misc/upgrade/metadata/metadata_charset.txt в каталоге, куда поставил 
FB 2.5.

На предмет нового параметра запуска gbak:
 -FIX_FSS_METADATA charset

Если дело только в кодировке метаданных, то я с ней уже тра... возился 
при переходе с 1.5 на 2.1 :-)

Хотя параметр в gbak - это интересно :)



Re: Переход 2.1 - 2.5

2010-11-24 Пенетрантность Konstantin R. Beliaev

 -FIX_FSS_METADATA charset
Я правильно понимаю, что этот параметр можно использовать только один 
раз, и что повторное его использование чревато порчей текстовых полей?




Re: Переход 2.1 - 2.5

2010-11-24 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

 -FIX_FSS_METADATA charset


Я правильно понимаю, что этот параметр можно использовать только один 
раз, и что повторное его использование чревато порчей текстовых полей?


а как ты сумеешь использовать ключ дважды при restore ?


Запросто:
backup - restore -FIX_FSS_METADATA win1251 -
- backup - restore -FIX_FSS_METADATA win1251 -
- и т.д.
:)))



[OFF/2] Странная ошибка

2010-10-13 Пенетрантность Konstantin R. Beliaev

Я понимаю, что это стук в подвале, но может кто сталкивался...

Есть тестовое приложение, использующее FIB.
На одной из машин, если запустить это приложения из Delphi 7, то при 
завершении приложения возникает Access Violation в NTDLL.dll (функция 
strchr).
AV возникает не каждый раз, а только если открывалась форма, 
использующая EventAlerter.
Если запустить скомпилированное приложение без среды, или скомпилировать 
и запустить на соседней машине - все нормально, ошибок нет.

Трассировка указывает на finalization модуля StrUtil.pas ФИБ-ов.

Еще странность: на проблемной машине в дополнение к основному треду 
возникает тред ws2help.dll, на других машинах его нет. Библиотеки 
ws2help.dll на машинах одинаковы, ось везде Win XP.


Как побороть? Какие идеи?



Проблемка с сообще ниями об ошибках

2010-09-30 Пенетрантность Konstantin R. Beliaev

При переходе на 2.1 стал получать подобные сообщения:

I/O error for file @2.

Как сделать, чтоб вместо @2 было нормальное имя?
Вероятно какие-то либы остались от 1.5, но не пойму какие.
Намекните, плииз...



Re: Проблемка с сообщ ениями об ошибках

2010-09-30 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:


старый клиент и/или firebird.msg


А без firebird.msg нельзя? Вроде на 1.5 без него все прекрасно работало.



FB 1.5 - 2.1

2010-09-24 Пенетрантность Konstantin R. Beliaev

Допустимо ли повторное выполнение команды обновления метаданных?

select * from rdb$fix_metadata('WIN1251');

А то у меня первый запуск завершился ошибкой из-за наличия параллельного 
коннекта к базе :-(




Re: FB 1.5 - 2.1

2010-09-24 Пенетрантность Konstantin R. Beliaev

Dmitry Yemanov wrote:

24.09.2010 12:04, Konstantin R. Beliaev пишет:


Допустимо ли повторное выполнение команды обновления метаданных?

select * from rdb$fix_metadata('WIN1251');

А то у меня первый запуск завершился ошибкой из-за наличия параллельного
коннекта к базе :-(



Если ты зароллбечился после ошибки, то повторяй снова. Это же обычный SQL.


К сожалению, это был скрипт, в котором стоял коммит :-(
Как изменить хранимку, чтобы апдейтились только структуры, в которых не 
установился чарсет?




[OFF] Укуренные в дым (остатки от прошлой п ятницы)

2010-08-10 Пенетрантность Konstantin R. Beliaev
Вспоминая одноименный фильм, родилась идея: надо засадить все торфяники 
коноплей. Если не горит - будет пенька, горит - народ будет ходить 
веселый :-))

Надо собрать подписи и устроить референдум - кто за? ;)



Re: Странное поведени е птицы

2010-07-23 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:


   Кол-во бекверсий и длины их цепочек.


Это вот это?
Average version length: 61.82, total versions: 40104, max versions: 1
В нескольких таблицах есть подобное количество версий, но max versions 
больше 1 не поднимается.



   no reserve зачем поставил ?


Я его не ставил :-
Вот строчка тестового рестора из скрипта в отдельный каталог:
gbak %BFILE% %RFILE% -replace_database -o -v -y %RLOG%
Время от времени я руками подменяю рабочую базу отресторенной.
Разве что когда-то давно поставил и он запоминается в файле бэкапа?
Как его теперь отключить-то?



Переполнение тригг ера?

2010-07-22 Пенетрантность Konstantin R. Beliaev
Есть у меня лог-таблица для репликатора, и вчера я обнаружил, что 
порядковые номера записей, которые до этого были в районе 78292294 стали 
вдруг 0.

Номера генерятся триггером:

CREATE OR ALTER TRIGGER REP$LOGS_BI FOR REP$LOGS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.LOG_ID IS NULL) THEN
NEW.LOG_ID = GEN_ID(GEN_REP$LOGS_ID,1);
END

Решив, что произошло переполнение - сбросил генератор в 1, однако ничего 
не изменилось: номера по прежнему равны нулю :((

Как исправить?

FB 2.1, 1й диалект,
Поле LOG_ID типа INTEGER



Re: Переполнение триг гера?

2010-07-22 Пенетрантность Konstantin R. Beliaev

Konstantin R. Beliaev wrote:

Подумал: не изменил ли кто домен? Нет, вроде все как есть.
Такое ощущение, что триггер просто выключился, и присваивается дефолтное 
значение.


Все-таки дело было в домене :-(((
Убрал default - заработало.

Хотя я не понял: домен поменялся недели три назад, а работать перестало 
буквально вчера. Что за нафиг?




Re: Переполнение триг гера?

2010-07-22 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:

Кэш метаданных.


В классике? При ежедневном отключении ВСЕХ юзеров
Даже больше: между этими событиями был бэкап-рестор с заменой рабочей базы.



Re: Странное поведени е птицы

2010-07-22 Пенетрантность Konstantin R. Beliaev

Vlad Khorsun wrote:


   gstat -r при намёках на тормоза


И на что там смотреть?
Sweep у меня запускается ночью по расписанию.

Database header page information:
Flags   0
Checksum12345
Generation  14420651
Page size   8192
ODS version 11.1
Oldest transaction  14303512
Oldest active   14303513
Oldest snapshot 14303513
Next transaction14303515
Bumped transaction  1
Sequence number 0
Next attachment ID  117057
Implementation ID   16
Shadow count0
Page buffers200
Next header page0
Database dialect1
Creation date   Apr 5, 2010 23:57:07
Attributes  force write, no reserve

Variable header data:
Sweep interval: 0
*END*



Пятница

2010-04-23 Пенетрантность Konstantin R. Beliaev

Парень на заднем плане :-)
http://www.youtube.com/watch?v=4Ha1XZSqsyc



--
Subscription settings: 
http://groups.google.com/group/ru-firebird/subscribe?hl=ru


Re: Странный бэкап-ло г

2010-04-21 Пенетрантность Konstantin R. Beliaev

Khorsun Vlad wrote:

   Он не от той версии

Точно!
У меня там 2 сервера стоит: 1.5 и 2.1, и полуторка при установке 
прописала свой путь в реестр.

Странно, что 2.1 это обнаружила только вчера :))



--
Subscription settings: 
http://groups.google.com/group/ru-firebird/subscribe?hl=ru


Re: Table RDB$DATABASE unknown

2010-04-20 Пенетрантность Konstantin R. Beliaev

Кузнецов Евгений wrote:
Стоп, как только Вы выдаете явно права кому-то на RDB$RELATIONS, все 
остальные их теряют - см. древнюю статью 
http://www.ibase.ru/devinfo/sysprot.htm

А вот почему после revoke эффект сохраняется - не в курсе.

Действительно, интересно. Вопрос к птицеводам?
И мое подозрение: что бэкап-рестор сбрасывает все права на системные 
таблицы - правильно?



Classic + видимость метаданных?

Не, ну я переподключался в натуре :-)
Как раз на коннекте он и ругался, что RDB$DATABASE не существует.



Можно прогнать скрипт из статьи и выдать права PUBLIC на SELECT.
Только его модифицировать для FB вроде бы надо.
И на последних версиях его не пробовал, только на полуторке.

Ну, на эксперте можно програть ибе-блок:
execute ibeblock
as
begin
  for
select distinct p.Rdb$Relation_Name
from Rdb$relations p
where p.Rdb$Relation_Name starting with 'RDB$'
  into :TMP DO
  begin
CMD = 'GRANT SELECT ON '|| :TMP ||' TO PUBLIC;';
execute statement :CMD;
  end
  commit;
end



--
Subscription settings: 
http://groups.google.com/group/ru-firebird/subscribe?hl=ru


Re: Table RDB$DATABASE unknown

2010-04-19 Пенетрантность Konstantin R. Beliaev

Кузнецов Евгений wrote:

Отобрать у PUBLIC права на чтение RDB$RELATIONS вполне достаточно
(не знаю, как в последних версиях, а 1.x, 2.0.x работают с системными
таблицами с правами текущего пользователя).


Опять пользователи порезвились :((
Стали играться с тестовой базой, получили вот что:
1) есть нормальный доступ к базе - на RDB$RELATIONS никаких грантов не 
наблюдается
2) даем любому юзеру грант на RDB$RELATIONS, и тут же - revoke у этого 
юзера

ВСЕ! досуп к базе пропал для всех кроме SYSDBA!
Куда копать чтобы исправить?



--
Subscription settings: 
http://groups.google.com/group/ru-firebird/subscribe?hl=ru


Re: Утилита автоматич еской конвертации баз в формат ФБ 2.5

2010-04-05 Пенетрантность Konstantin R. Beliaev

Andrei wrote:

отослал экзешник на имэйл из профиля.


Спасибо, получил :-)
У нас просто 50 объектов, и надо их все с 1.5 поднять хотя бы до 2.1
И автоматизация тут весьма кстати :)



--
To unsubscribe, reply using remove me as the subject.


Re: Подвисает птица : ((

2010-04-05 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:
Еще последний FBScanner стоит, но не думаю, что в нем дело: процессы 
птицы не умирают даже после разрыва соединения.


попробуй пустить все коннекты на прямой порт, и поработать так.
У меня роботы смотрят на прямой порт, а юзеры - на сканерный, поэтому 
просто так перескочить не получится.

Да и не думаю, что в сканере дело.



Re: Подвисает птица : ((

2010-04-05 Пенетрантность Konstantin R. Beliaev

Oleg Matveyev wrote:

а в firebird.log есть что-то вроде 10038 ?

10038 нет, есть 10054



--
To unsubscribe, reply using remove me as the subject.


Re: Подвисает птица : ((

2010-04-05 Пенетрантность Konstantin R. Beliaev

Khorsun Vlad wrote:

   Проверь. Ибо эта зараза как раз блокирует CS. Если найдёшь, добавь
fb_inet_server в список исключений IMON.


Проверил: нету его :)))



--
To unsubscribe, reply using remove me as the subject.


Re: Утилита автоматич еской конвертации баз в формат ФБ 2.5

2010-04-02 Пенетрантность Konstantin R. Beliaev

Andrei wrote:

Берите, пользуйтесь:
http://gsbelarus.com/gs/fdbconvert/fdbconvert_rus.html


А на конвертацию в формат 2.1 ее можно приспособить? ;))



--
To unsubscribe, reply using remove me as the subject.


Подвисает птица :( (

2010-04-02 Пенетрантность Konstantin R. Beliaev

Уже второй раз за месяц виснет птица Firebird-2.1.3.18185-0_Win32 классик.
Симптомы такие: пользователи подключаются, но ничего сделать не могут: 
не стартует ни одной транзакции, хотя Process Explorer показывает, что 
новые коннекты активно грузят проц:

http://picasaweb.google.com/lh/photo/ShlnX9K3J_4D_r0fxw1ruA
Спасает перезагрузка всего сервера.
Что делать и как предотвратить?

PS. Перед перезагрузкой снял fb_lock_print, если кому интересно.



--
To unsubscribe, reply using remove me as the subject.


Re: Подвисает птица : ((

2010-04-02 Пенетрантность Konstantin R. Beliaev

Khorsun Vlad wrote:

   Там не видно, что проц грузят именно новые коннекты.
Я не говорю, что они его грузят на 100%, но они явно что-то активно 
делают, возможно цикл ожидания так выглядит?



1. Убедиться, что нет антивирусов, файрволлов и прочих перехватчиков TCP

К сожалению, все это присутствует, и я не уверен, что можно убрать.

4. Если зависнет, найти process id зависшего процесса и убить его 
ватсоном :

   drwtsn32 -p process id

И как его найти среди 80 процессов птицы?


PS. Перед перезагрузкой снял fb_lock_print, если кому интересно.

   Выкладывай

Куда?
37К



--
To unsubscribe, reply using remove me as the subject.


Re: Подвисает птица : ((

2010-04-02 Пенетрантность Konstantin R. Beliaev

Khorsun Vlad wrote:

   Вис наступает при наличии 63 коннектов ? Антивирус часом не NOD ?

Насчет числа коннектов - не знаю, вроде бы и 70 видел в нормальной работе.
Угу, ESET NOD32, хотя кажется наврал: не вижу я его процессов на 
сервере, видимо нет его там.
Еще последний FBScanner стоит, но не думаю, что в нем дело: процессы 
птицы не умирают даже после разрыва соединения.


4. Если зависнет, найти process id зависшего процесса и убить его 
ватсоном :

   drwtsn32 -p process id


И как его найти среди 80 процессов птицы?

   Коннекты, стартовавшие последними, PE показывает последними.

Ага, т.е. с моей картинки - это любой из нижних процессов с
IO Write Bytes = 116 ? ИМХО они все подвисшие.


   Можно мне мылом. Только расширение архива смени

отправил на hvlad .. users.sourceforge.net



--
To unsubscribe, reply using remove me as the subject.


RAID

2010-03-11 Пенетрантность Konstantin R. Beliaev

Собираемся менять RAID на птице-сервере, ибо старый похоже дохнет.
Кто с какими моделями (из последних) работал? Интересуют положительные и 
отрицательные впечатления.




Re: RAID

2010-03-11 Пенетрантность Konstantin R. Beliaev

Sergey Mereutsa wrote:
Тебю зеркало или 5-й? 


По традиции используем 5й,
под виндой, так что проблемы дебиана волнуют не сильно :-)



Re: Проблема с получение м уникального номера доку мента

2010-03-11 Пенетрантность Konstantin R. Beliaev

Vadim Mescheryakov wrote:

Получается решение такое:

Во временную таблицу (время жизни до конца транзакции) пишем  Id 
созданных документов


После завершения процедуры формирования  в этой же транзакции выполняем 
update номера документа значением полученным из генератора, получается 
что единственный вариант пропуска номера – разрыв коннекта в промежутке 
между получением номеров их генератора и  коммит.


А зачем тут временная таблица?
У документа 2 номера: внутренний IDint и внешний IDext (для юзера),
при создании документа внешний номер остается пустым, если все нормально 
создалось, делаем

update Document set IDext = GEN_ID(IDext_gen,1) where IDint = ...;

Вороятность получить документ без внешнего номера - только в случае 
потери коннекта перед update. На этот случай можно на старте программы 
делать

update Document set IDext = GEN_ID(IDext_gen,1) where IDext is null;

Да! сохраненный документ с присвоенным IDext удалять нельзя - иначе 
опять дырка в нумерации.


Как вариант: операцию присвоения номера документу вынести в отдельный 
бизнес-процесс, называемый регистрация документа или как-то так.




Re: RAID

2010-03-11 Пенетрантность Konstantin R. Beliaev

Vadim Mescheryakov wrote:


А тот что дохнет случаем не Intel RAID U41 или U42 ?


Intel(R) RAID controller SASMF8I;
Intel(R) RAID SAS controller AXX4SASMOD



BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Какие-то непонятки...
Вроде на 1.5 функция SUBSTRING должна преобразовывать текстовый BLOB в 
VARCHAR, однако это срабатывает для блобов в созданных мной таблицах, и 
не работает в системных.


Вот такой запрос выполняется нормально:
 select c.Num, c.Name, substring(c.Requisits from 1 for 1000)
 from client  с

а вот такой:
SELECT  substring(rf.RDB$DESCRIPTION from 1 for 1000), rf.RDB$FIELD_NAME
FROM RDB$RELATIONS r,  RDB$RELATION_FIELDS rf,   RDB$FIELDS f, 
 RDB$TYPES rt

WHERE
  (r.RDB$RELATION_NAME = rf.RDB$RELATION_NAME) and
  (rf.RDB$FIELD_SOURCE =f.RDB$FIELD_NAME)  and
  (f.RDB$FIELD_TYPE = rt.RDB$TYPE)   and
  ((r.RDB$SYSTEM_FLAG = 0) and (r.RDB$VIEW_SOURCE IS NULL) and
   (rt.RDB$FIELD_NAME = 'RDB$FIELD_TYPE')) and
  (r.RDB$RELATION_NAME='EMPGROUP')
дает
conversion error from string BLOB.

Разница в объявлении полей вроде только в Charset: у меня c.Requisits 
типа WIN1251,

а в RDB$RELATION_FIELDS -- UNICODE_FSS

Как это обойти?
Чарсет коннекта - WIN1251



Re: BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:

Попробуй напрямую заюзать UDF Blob2String().

Не нашел ее среди стандартных, есть только обратная: string2blob в fbudf.dll
:((



Re: BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:

Вродь тут народ брал: ftp://ftp.adhoc-data.de/FreeAdhocUDF/
Не хотелось бы использовать то, что не идет с птицей: слишком по многим 
серверам надо раскладывать...




Table RDB$DATABASE unknown

2009-12-15 Пенетрантность Konstantin R. Beliaev
Вот скажите, что такое можно сделать с грантами, чтоб сервер не находил 
RDB$DATABASE? :-)
Сосед тут что-то крутил в ИБЕ (заводил нового юзера и давал ему гранты) 
и вдруг при попытке коннекта к этой базе под любым юзером кроме SYSDBA 
получил вышеназванное сообщение.

Бэкап-рестор помог, но что это было???
ЧТО он такого мог сделать? Сам не признается :-))



CHECK у домена

2009-12-08 Пенетрантность Konstantin R. Beliaev


Есть IBE-шный скрипт, который выполняет команду:

ALTER DOMAIN QQQ ADD CHECK (VALUE in (''S'',''M''));

вопрос: каким запросом к системным таблицам можно проверить, что CHECK 
уже установлен у домена, чтоб пропустить этот вызов?




Re: CHECK у домена

2009-12-08 Пенетрантность Konstantin R. Beliaev


dennis redozubov wrote:

RDB$FIELDS.RDB$VALIDATION_SOURCE

Спасибо.Нашел :)



Re: Переход на FB 2.1

2009-10-21 Пенетрантность Konstantin R. Beliaev


Dmitry Yemanov wrote:


Тогда и дорога назад открыта...


Я бы не дал 100% гарантию. В некоторых случаях после перекомпиляции для 
того же SQL в 2.х может быть сгенерен новый BLR, который на 1.5 уже не 
отресторится. Ситуация редкая, но возможная.



Меня больше волновала перекодировка процедур и триггеров в UTF.
В целом ясно - надо пробовать...



Re: Совместное использование BDE и FIBPlus

2009-10-19 Пенетрантность Konstantin R. Beliaev


Alex Cherednichenko wrote:

Константин, а чё это твой сайт пытается мне что-то установить в огнелиса?
Огнелис блокирует попытку установки некоего софта.
Страница у внешнего хостера, давно ее не правил, вероятно кто-то их 
взломал и что-то прицепил к страничке :-(((

Сейчас не могу туда войти: не принимает пароль :-(((



Переход на FB 2.1

2009-10-19 Пенетрантность Konstantin R. Beliaev


А я правильно подозреваю, что после рестора базы от FB 1.5 на FB 2.1 и 
апдейта метаданных с помощью metadata_charset_create.sql ,

обратного пути уже не будет?



Re: Переход на FB 2.1

2009-10-19 Пенетрантность Konstantin R. Beliaev


Sergey Mereutsa wrote:


А что, скрипты кто-то отменял?


Скрипты?
Ты предлагаешь мета- и данные из 20-гиговой базы вылить в скрипт???
Или что-то еще?

Я имел в виду, что бэкап при помощи FB 1.5 и рестор уже не поможет, как 
раньше, так?




Re: Совместное использование BDE и FIBPlus

2009-10-06 Пенетрантность Konstantin R. Beliaev


Ну, вспоминая мой переезд c БДЕ, все должно работать.
Правда это было еще на Delphi-3... :-)
http://konstb.newmail.ru/interbase/hints.html#oneconnect



Ошибка: record disappeared (186)

2009-09-18 Пенетрантность Konstantin R. Beliaev


Обнаружил в логе ошибку:
internal gds software consistency check (record disappeared (186))
ну, как лечить-то понятно: через b/r
но откуда она взялась?
Это уже второй такой случай, прошлый был несколько месяцев назад.
Причем это тестовая база, которую юзают не очень активно

Version: WI-V1.5.5.4926 Firebird 1.5



Re: Как правильно организовать работу.

2009-09-18 Пенетрантность Konstantin R. Beliaev


Oleg Matveyev wrote:
Если хочешь дожить до самой смерти, выгоняй всех из базы перед такими 
операциями.


Как? Тем более при наличии на сервере зависших соедениений?


как правило, на обрыв TCP коннекта реагируют все соединения (включая 
зависшие), и в полуторке тоже.

не всегда мгновенно, но с очень большой вероятностью.


Не, я порой встречаю зомбюков, иногда даже таких, что всю работу 
классика блокируют...

Сюда писал, но видимо полуторку уже точить неинтересно...
Единственно, против чего не устоит ни один зомбюк - это ребут сервера :-)))
А если при этом еще и LAN-овский кабель выдернуть... ;-))



Re: Как правильно организовать работу.

2009-09-18 Пенетрантность Konstantin R. Beliaev


PEAKTOP wrote:

Ну, а когда клиентские приложения получают такое сообщение, то дружно
все отваливаются.

Изврат конечно, но пользовал его давно, еще с эпохи InterBase 6 до
того момента, когда появился Firebird двойка. Сбоев ни разу не было,
хотя теоретически способ вроде бы не надежный.


Конечно ненадежный: мало ли в каком состоянии ползатель бросил 
приложение и пошел покурить...




Re: Как правильно использовать тест tpc-c?

2009-09-18 Пенетрантность Konstantin R. Beliaev

Nikolay Ponomarenko wrote:
А вот тогда, когда в конфе проскакивала ссылка и праглашение к потестить 
- кто-нить запускал его? Какие цифры у кого получались?
Я где-то год назад пытался его юзать для тех же целей, и даже сюда 
результаты вроде постил, правда не довел до конца: планировалось 
сравнить несколько разных контроллеров, но админы меня обломали... :-(
Насколько помню, по максимальная производительность получалась при 
минимально допустимых размерах всего: страйпа, кластера, страницы БД. 
Мне тогда ответили, что на этом тесте так и должно быть.

По буферам только небольшой максимум наблюдался


TPCC.rar
Description: Binary data


Temporary directories

2009-09-18 Пенетрантность Konstantin R. Beliaev


В firebird.conf сказано:

# 
# Temporary directories
#
# Provide ';'-separated trees list, where temporary files are stored.
# Relative paths are treated relative to RootDirectory entry
# (see above). Default value is determined using FIREBIRD_TMP,
# TEMP or TMP environment options. Once the first specified
# directory has no available space, the engine will switch to the
# next one, and so on.

У меня стоит
TempDirectories = d:\Temp; c:\Temp; f:\Temp
и периодически (при особо больших запросах) я получаю таки сообщение, 
что на D:\TEMP отсутствует место.
Видимо фраза the engine will switch to the next one не относится к 
одному большому файлу сортировки?

FB 1.5
Или это поправлено в 2.х ?



Re: Как правильно организовать работу.

2009-09-18 Пенетрантность Konstantin R. Beliaev


Oleg Matveyev wrote:
оказалось знаешь что? своя UDF, которая делает cross-database запрос в 
другую БД через инет.

У меня своих UDF нету, тем более таких :-)
Там какой-то косяк есть в блокировщике полуторки, что лочится индекс, и 
все запросы, желающие этот индекс заюзать - курят в сторонке. Другие - 
работают.

Встречается редко, примерно раз в год.
Прибиваешь самого старого зомби - все остальные сами помирают. Прям как 
про графа Дракулу расказываю :-




Re: Temporary directories

2009-09-18 Пенетрантность Konstantin R. Beliaev


Alex Cherednichenko wrote:


А как ты себе представляешь _файл_ разбросанный по нескольким _логическим_ 
дискам?


Также, как FB умеет разбрасывать базу по нескольким файлам ;-
Конечно, это даст лишний оверхед, но иначе проблема с нехваткой места не 
решается: КАК птичка поймет, что следующий файл сортировки надо кидать в 
следующий по списку каталог ??? Ведь заранее она не знает размер файла.
Ну, или если места не хватило - проверять свободное место в следующем 
каталоге и _целиком_ переносить файл сортировки туда.




Re: Temporary directories

2009-09-18 Пенетрантность Konstantin R. Beliaev


Khorsun Vlad wrote:

Только вот что там с этим в 1.5 - не помню и даже смотреть не хочу.

Я понял :-)
Пора переползать хотя бы на 2.0.
Кроме Б/Р при таком переходе вроде ничего не требуется?

А то на 2.1 мороки с переходом гораздо больше: надо метаданные 
конвертить, что в удаленных филиалах не так просто сделать без админа... :-(


Аа, фак! там еще секюрити базу конвертить надо :-(((
Тогда видимо сразу на 2.1, один черт инструкцию для чайников писать...



  1   2   3   4   5   6   7   >