Не происходит сжатие таблицы

Замечания и пожелания по развитию ПО, а также вопросы эксплуатации
Правила форума
Здесь место для дискуссии о:
- замеченных недостатках в ПО PEGAS,
- пожеланиях по дальнейшему развитию АРМ и сервера.
- вопросах эксплуатации ПО PEGAS.
При "неожиданном завершении программы" просьба прикреплять к сообщению файл дампа сформированного программой.
fisher

Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

После некоторого отсутсвия на работе проводил стандартные проверки работоспособности систем.
Заглянувши в админку Pegas-а увидел, что требуется оптимизация таблицы mdk_m1m_line_state_history. Ткнул, вроде оптимизация прошла, но...
Решил произвести сжатие (1.002 Г) и по её "окончании" понял, что ничего не произошло.
В результате накопал, что по окончанию первого этапа сжатия (он же и последний, что в первую очередь насторожило) в системном логе Windows появляется ошибка MySQL с кодом (ID) 100

Код: Выделить всё

Тип события:	Ошибка
Источник события:	MySQL
Категория события:	Отсутствует
Код события:	100
Дата:		29.11.2011
Время:		14:17:34
Пользователь:		Н/Д
Компьютер:	SAR-PULSAR-S
Описание:
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Sort aborted

For more information, see Help and Support Center at http://www.mysql.com.  
Nik_Igor

Re: Не происходит сжатие таблицы

Непрочитанное сообщение Nik_Igor »

Если проблема актуальна, позвоните в отдел техподдержки
(8412) 68-01-68,
(960) 01-01-0-177
fisher

Re: Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

Актуальна, но пока есть вопросы более высокого приоритета.
Но спасибо - обязательно позвоню
fisher

Re: Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

Сегодня перед звонком решил проверить сжатие.
Правда перед этим перекинул в архив часть бинарных журналов мускула (12Gb) на дрогой раздел.
После этого сжатие начало работать.

Но не всё так гладко пошло :(
Встала по ошибке реплика, используемая для техномодуля:

Код: Выделить всё

Last_SQL_Error: Error 'Table 'smk30.__dbopt_temp_table__currdata' doesn't exist' on query. Default database: 'smk30'. Query: 'REPLACE INTO __dbopt_temp_table__currdata
       VALUES( NAME_CONST('v_id',_utf8'D:10 A:3.8 T1:23.0 Inv:209 T2:1.0'),  NAME_CONST('v_utime',_binary'2011-03-27 02:00:18'),  NAME_CONST('v_upd_counter',21825964),  NAME_CONST('v_objname',_utf8'Пост 5-Солод 4*'),  NAME_CONST('v_btMode',1),  NAME_CONST('v_fR',1787100928),  NAME_CONST('v_wRDev',15),  NAME_CONST('v_wVtrms',12),  NAME_CONST('v_wC',1407),  NAME_CONST('v_fMRthrH',100000000),  NAME_CONST('v_fMRthrL',15000000),  NAME_CONST('v_wORthr',500),  NAME_CONST('v_btVthr',30),  NAME_CONST('v_btGlobal',3),  NAME_CONST('v_btMeter',3),  NAME_CONST('v_btMegR',3),  NAME_CONST('v_btLoop',1),  NAME_CONST('v_btVind',3),  NAME_CONST('v_btLcd',3),  NAME_CONST('v_btCap',2),  NAME_CONST('v_btCtrl',8))'
До сжатия проверял: отставание было нулевое.

Прошу активной помощи. Звонить?
Шитов Алексей

Re: Не происходит сжатие таблицы

Непрочитанное сообщение Шитов Алексей »

__dbopt_temp_table__currdata - временная таблица, создаваемая в памяти при сжатии таблиц. По идее она не должна реплицироваться.
fisher

Re: Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

Я, признаюсь, не большой спец в MySQL, но я вроде читал, что мускул тупо пеплицирует все пользовательские запросы, а значит и создание временных таблиц так же будет происходить и на реплике. Хотя возможно это касается релизов до 5-ой ветки версий.
Почитал какую-никакую доку и понял, что проблема зрела 2 недели, когда реплика была перезагружена (весь сервер) и все временные таблицы вытерлись.
Есть идеи?
fisher

Re: Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

Вроде решил проблему.
Добавил в конфиг реплики

Код: Выделить всё

replicate-wild-ignore-table=smk30.__%_temp_table%
и рестартовал её.
Реплика начала догонять мастера без ошибок.

Как думаете? Нормальный шаблон имени временной таблицы?
И корректно ли это?

Было бы ещё интересно сделать, чтобы запросы по этим таблицам не велись в логе на мастере, а то они львиную долю журналов заполняют (сжатие таблицы с которой начиналась тема отъела 5гигов журнала, сжав базу всего лишь на 8%, а именно 90 Mb).
Шитов Алексей

Re: Не происходит сжатие таблицы

Непрочитанное сообщение Шитов Алексей »

Почти правильно. Символ '_' является аналогом '?' в файловой маске.
В общем виде можно сделать так:

Код: Выделить всё

replicate-wild-ignore-table=smk30.\_\_%
fisher писал(а):Было бы ещё интересно сделать, чтобы запросы по этим таблицам не велись в логе на мастере, а то они львиную долю журналов заполняют (сжатие таблицы с которой начиналась тема отъела 5гигов журнала, сжав базу всего лишь на 8%, а именно 90 Mb).
Честно говоря, не уверен, что так можно. Настройки бинлога достаточно примитивны (размер, БД...). Есть вариант с реализацией на сервере - поэкспериментировать с самой процедурой сжатия (если в ближайшие N-цать месяцев найду на это время ;) ).
fisher

Re: Не происходит сжатие таблицы

Непрочитанное сообщение fisher »

Упс. Не знал про знак _
Надеюсь ничего не поломалось...
Спасибо.
Ответить