Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / BLOBspace is full / 8 сообщений из 8, страница 1 из 1
13.09.2011, 13:32
    #37437925
Leonid Vorontsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Доброго времени суток!

Решил померить, насколько быстро работает update поля byte, хранящегося в BLOBspace. Создал его с размером страницы 600 pages.

onstat -d update:

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1023       1024       POBBD /i2/IFMXDATA/simple_blob_space.000

oncheck -pe:

Код: plaintext
1.
2.
3.
4.
5.
6.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/12/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    4         614396
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 FREE                                                                     614396

Сделал таблицу с одной строчкой:

Код: plaintext
1.
2.
3.
4.
create table simple_blob_test (
	id serial primary key,
	picture byte in simple_blob_space
);
load from 'dok_sat.unl' insert into simple_blob_test ( picture );

Размер picture 2339510 - ну, чтоб на одной странице помещался.

onstat -d update:

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1022       1024       POBBD /i2/IFMXDATA/simple_blob_space.000

oncheck -pe:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/13/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    604       613796
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 lvo:'informix'.simple_blob_test                                             600
 FREE                                                                     613796

Пока всё красиво. Ну и, собственно, попытался замерить:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create procedure ttt( c int )
    define i int;
    for i =  1  to c
        update simple_blob_test set picture = picture;
    end for;
end procedure;
select first  1  current from systables;
execute procedure ttt(  5000  );
select first  1  current from systables;

И что бы вы думали? Получил ошибку:

SQL Error (-618) : Error on copying blob data. [ ISAM error -166 : ISAM error: BLOBspace is full ]

onstat -d update показывает, что, действительно, места нет (и куда же оно подевалось, интересно знать?):

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1          1024       POBBD /i2/IFMXDATA/simple_blob_space.000

Однако oncheck -pe утверждает, что место есть:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/13/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    604       613796
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 lvo:'informix'.simple_blob_test                                             600
 FREE                                                                     613796

Но фак на лице - update не работает... Или я что-то не понимаю, или это очередной баг... :-( Любые комментарии приветствуются...

P.S. IBM Informix Dynamic Server Version 11.50.FC9
...
Рейтинг: 0 / 0
13.09.2011, 15:46
    #37438328
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Leonid VorontsovДоброго времени суток!

Решил померить, насколько быстро работает update поля byte, хранящегося в BLOBspace. Создал его с размером страницы 600 pages.

onstat -d update:

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1023       1024       POBBD /i2/IFMXDATA/simple_blob_space.000

oncheck -pe:

Код: plaintext
1.
2.
3.
4.
5.
6.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/12/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    4         614396
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 FREE                                                                     614396

Сделал таблицу с одной строчкой:

Код: plaintext
1.
2.
3.
4.
create table simple_blob_test (
	id serial primary key,
	picture byte in simple_blob_space
);
load from 'dok_sat.unl' insert into simple_blob_test ( picture );

Размер picture 2339510 - ну, чтоб на одной странице помещался.

onstat -d update:

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1022       1024       POBBD /i2/IFMXDATA/simple_blob_space.000

oncheck -pe:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/13/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    604       613796
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 lvo:'informix'.simple_blob_test                                             600
 FREE                                                                     613796

Пока всё красиво. Ну и, собственно, попытался замерить:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create procedure ttt( c int )
    define i int;
    for i =  1  to c
        update simple_blob_test set picture = picture;
    end for;
end procedure;
select first  1  current from systables;
execute procedure ttt(  5000  );
select first  1  current from systables;

И что бы вы думали? Получил ошибку:

SQL Error (-618) : Error on copying blob data. [ ISAM error -166 : ISAM error: BLOBspace is full ]

onstat -d update показывает, что, действительно, места нет (и куда же оно подевалось, интересно знать?):

Код: plaintext
1.
2.
3.
4.
5.
Dbspaces
address          number   flags      fchunk   nchunks  pgsize   flags    owner    name
70000013d65d9b8  21       0x60011    71       1        2457600  N BB     informix simple_blob_space
Chunks
address          chunk/dbs     offset     size       free       bpages     flags pathname
70000013d65db50  71     21     0          614400     1          1024       POBBD /i2/IFMXDATA/simple_blob_space.000

Однако oncheck -pe утверждает, что место есть:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BLOBspace Usage Report: simple_blob_space   Owner: informix  Created: 09/13/2011
 Chunk Pathname                                         Size      Used      Free
    71 /i2/IFMXDATA/simple_blob_space.000  2400         614400    604       613796
 Disk usage for Chunk 71                                             Total Pages
 -------------------------------------------------------------------------------
 OVERHEAD                                                                      4
 lvo:'informix'.simple_blob_test                                             600
 FREE                                                                     613796

Но фак на лице - update не работает... Или я что-то не понимаю, или это очередной баг... :-( Любые комментарии приветствуются...

P.S. IBM Informix Dynamic Server Version 11.50.FC9

Попробуй выполнить:

1. ontape -s -L 0
2. Update Statistics for simple_blob_test
3. oncheck -pe

С уважением,
Вадим.
...
Рейтинг: 0 / 0
13.09.2011, 16:21
    #37438447
Leonid Vorontsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
> 1. ontape -s -L 0
> 2. Update Statistics for simple_blob_test
> 3. oncheck -pe
Нет - "а воз и ныне там..."
...
Рейтинг: 0 / 0
13.09.2011, 17:36
    #37438660
Leonid Vorontsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Повторяется также и на 11.50.TC6W1
...
Рейтинг: 0 / 0
13.09.2011, 17:50
    #37438694
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Leonid Vorontsov,

Насколько мне помнится, с блобами в блобспейсе удаление/апдейт работало не так, как с обычными типами.
Так как эта операция (с блобами) не пишется в лог в чистом виде, то все страницы с удаленными блобами физически не удаляются до тех пор, пока не произойдет... (почитайте в букваре, там должно быть написано :)
Я, честно. не помню, а самому искать обломно.
...
Рейтинг: 0 / 0
13.09.2011, 18:21
    #37438745
Leonid Vorontsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Не повторяется на 10.00.TC8X2, так что, баг...
...
Рейтинг: 0 / 0
14.09.2011, 10:42
    #37439486
Leonid Vorontsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Извиняйте, беру свои слова обратно - повторяется на всех серверах одинаково. Значит, это такая особенность поведения. Место в BLOBspace освобождается после переключения на следующий логический журнал. Но всё равно как-то криво... Потому что с "умными" блобами таких проблем нет, да и такой апдейт (много раз в цикле) выполняется на пару порядков быстрее. Есть над чем подумать...
...
Рейтинг: 0 / 0
17.09.2011, 22:51
    #37445084
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOBspace is full
Leonid VorontsovПовторяется также и на 11.50.TC6W1

Интересно есть ли такой же эффект на IDS 11.70.xC3 при использовании Smart Blob и
что при этом показывает - onstat -g smb s/c и oncheck -cS/pS ?!

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / BLOBspace is full / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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