Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation) / 6 сообщений из 6, страница 1 из 1
06.01.2014, 20:28:17
    #38518741
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
hi all

окно-1:
isql my_database.fdb // да, по embedded-протоколу
SQL> insert into ... select ... from ...; -- ушло в себя, там добавляется много строк

окно-2: gstat -r my_database.fdb

вывод в окне-2:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Database header page information:
        Flags                   0
        Generation              41
        System Change Number    0
        Page size               4096
        ODS version             12.0
        Oldest transaction      6
        Oldest active           35
        Oldest snapshot         35
        Next transaction        36
        Sequence number         0
        Next attachment ID      15
        Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Jan 6, 2014 19:58:27
        Attributes

    Variable header data:
        *END*


Database file sequence:
File /var/db/fb30/my_database.fdb is the only file

I/O error during "lock" operation for file "my_database.fdb"
-Error while trying to open file
-Resource temporarily unavailable

Что он попытался залочить, обломавшись именно тогда, когда коннект в первом окне идёт по embedded, а не по ТСР ?
...
Рейтинг: 0 / 0
06.01.2014, 20:41:42
    #38518745
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
файл базы. У тебя же супер, т.е. SharedDatabase = false, так? Вот и получи облом при открытии файла базы двумя различными процессами.
...
Рейтинг: 0 / 0
06.01.2014, 20:52:40
    #38518750
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
dimitrфайл базы. У тебя же супер, т.е. SharedDatabase = false, так? Вот и получи облом при открытии файла базы двумя различными процессами.Да, у мну тут суперсервер.
А почему тогда не получает аналогичный облом команда isql my_database.fdb, если база открыта была ДО этого по ТСР другими коннектами ?
...
Рейтинг: 0 / 0
06.01.2014, 21:19:04
    #38518757
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
Таблоид,

понятия не имею
...
Рейтинг: 0 / 0
06.01.2014, 21:34:00
    #38518763
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
Таблоид,

скорее всего, isql пробует localhost, если локальный коннект не прошёл.
Запрети Remote провайдер - проверишь
...
Рейтинг: 0 / 0
06.01.2014, 21:56:51
    #38518773
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation)
hvladскорее всего, isql пробует localhost, если локальный коннект не прошёл.
Запрети Remote провайдер - проверишья трейсом всё увидел: так и есть, isql пытается хапнуть файл при empbedded-коннекте, получает облом и без шума и пыли открывает коннект по ТСР. Каким-то образом он при этом еще и выведывает порт прослушки (у меня это 3330, а не дефолтный 3050).

Окно-0. Запускаем трейс:
Код: plaintext
1.
$ fbtracemgr -sta -c ztrace.conf -se localhost/3330:service_mgr
Trace session ID 2 started

Окно-1. Запускаем с удалённой машины коннект:
Код: plaintext
1.
C:\MIX\firebird\4GRANT>isql 192.168.0.220/3330:/var/db/fb30/tmp20140106.fdb
Database:  192.168.0.220/3330:/var/db/fb30/tmp20140106.fdb

Окно-2. Запускаем с консоли сервера isql с коннектом по empbedded-протоколу (якобы):
Код: plaintext
1.
$ isql tmp20140106.fdb
Database:  tmp20140106.fdb

Трейс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
2014-01-06T21:46:52.9230 (17480:0x7f2e17664fd8) TRACE_INIT
        SESSION_2


2014-01-06T21:46:52.9230 (17480:0x7f2e17664fd8) ATTACH_DATABASE
        /var/db/fb30/tmp20140106.fdb (ATT_32, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:2080

2014-01-06T21:46:52.9290 (17480:0x7f2e17664fd8) START_TRANSACTION
        /var/db/fb30/tmp20140106.fdb (ATT_32, SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:2080
                (TRA_52, CONCURRENCY | WAIT | READ_WRITE)

2014-01-06T21:46:52.9300 (17480:0x7f2e17664fd8) START_TRANSACTION
        /var/db/fb30/tmp20140106.fdb ( ATT_32 , SYSDBA:NONE, NONE, TCPv4:192.168.43.96)
        C:\MIX\firebird\fb25\bin\isql.exe:2080
                (TRA_53, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)

2014-01-06T21:47:25.1780 (30256:0x7f054d3f6e00) TRACE_INIT
        SESSION_2


2014-01-06T21:47:25.1780 (30256:0x7f054d3f6e00) FAILED ATTACH_DATABASE
        tmp20140106.fdb ( ATT_0 , SYSDBA, NONE, <internal>)

2014-01-06T21:47:25.1780 (30256:0x7f054d3f6e00) ERROR AT JProvider::attachDatabase
        tmp20140106.fdb ( ATT_0 , SYSDBA, NONE, <internal>)
335544344 : I/O error during "lock" operation for file "tmp20140106.fdb"
335544734 : Error while trying to open file
       11 : Resource temporarily unavailable

2014-01-06T21:47:25.1780 (30256:0x7f054d3f6e00) TRACE_FINI
        SESSION_2


2014-01-06T21:47:25.2330 (17480:0x7f2e17666350) TRACE_INIT
        SESSION_2


2014-01-06T21:47:25.2330 (17480:0x7f2e17666350) ATTACH_DATABASE
        /var/db/fb30/tmp20140106.fdb ( ATT_34 , SYSDBA:NONE, NONE,  TCPv4:127.0.0.1 )
        /opt/fb30/bin/isql:30256

2014-01-06T21:47:25.2390 (17480:0x7f2e17666350) START_TRANSACTION
        /var/db/fb30/tmp20140106.fdb (ATT_34, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
        /opt/fb30/bin/isql:30256
                (TRA_54, CONCURRENCY | WAIT | READ_WRITE)

2014-01-06T21:47:25.2400 (17480:0x7f2e17666350) START_TRANSACTION
        /var/db/fb30/tmp20140106.fdb (ATT_34, SYSDBA:NONE, NONE, TCPv4:127.0.0.1)
        /opt/fb30/bin/isql:30256
                (TRA_55, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)

Видно, что "некто" под служебным аттачем att_0 пытался установить "обычный" аттач att_3 3 , но получил облом. И далее сделал новый коннект по ТСР, его ид = att_3 4
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gstat -r my_base.fdb: что он пытается залочить ? (I/O error during "lock" operation) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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