Архивация таблиц списаний
Архивация таблиц списаний
Читал доки
http://www.netup.ru/UTM5/documentation/ ... e_rus.html,
но так и не понял, где сам скрипт переноса таблиц в архивы?
Или ядро биллинга само это делает после заполнения таблицы archives?
Данной докой разработчики биллинга дают механизм обращения к архивам при запросах к биллингу?
Поясните плиз.
http://www.netup.ru/UTM5/documentation/ ... e_rus.html,
но так и не понял, где сам скрипт переноса таблиц в архивы?
Или ядро биллинга само это делает после заполнения таблицы archives?
Данной докой разработчики биллинга дают механизм обращения к архивам при запросах к биллингу?
Поясните плиз.
В 5.3.002 ни скрипта ни утилиты для архивации нет, народ юзал самописные скрипты viewtopic.php?t=8316
Вопрос к разработчикам:
Список изменений UTM-5.3-003-release
Добавлена возможность автоматизированного архивирования больших таблиц БД в интерфейсе администратора, а так же внешней утилитой командной строки
где сабж и как использовать? в доке о нем ни слова
Вопрос к разработчикам:
Список изменений UTM-5.3-003-release
Добавлена возможность автоматизированного архивирования больших таблиц БД в интерфейсе администратора, а так же внешней утилитой командной строки
где сабж и как использовать? в доке о нем ни слова

Какую ошибку? Вообще следовало обратиться в техподдержку и предоставить логи и скрин ошибки, посмотрели бы оперативно.maxxsoft писал(а):пробовал в админке 5.3-003 воспользоваться этой фичей на стенде, база маленькая, но при попытке создать бекап, админка ОЧЕНЬ долго думала, потом вывалила ошибку....
и что делать со старыми архивами, в которых нет архивированных таблиц 8-12?
в логах постоянная ругань:
в логах постоянная ругань:
Код: Выделить всё
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM15print_backtraceEv+0x40) [0xb0aa10]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAErrorC2ERKSsS2_bNS_6Logger5LevelE+0x96) [0x54c286]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM15DBAGenericErrorC2ERKSsbNS_6Logger5LevelE+0x51) [0x54c371]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess22get_archive_table_nameEiNS_15archive_table_tERSs+0x2e2) [0x96ca22]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess19__get_invoices_listEiPSt3mapIiNS_7InvoiceESt4lessIiESaISt4pairIKiS2_EEEiillb+0x255) [0x9f2b85]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess17get_invoices_listEiPSt3mapIiNS_7InvoiceESt4lessIiESaISt4pairIKiS2_EEEiillb+0x6b) [0x8035cb]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess11get_invoiceEi+0x6e) [0x9f657e]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_Z29rpcf_get_doc_invoices_entriesPv+0x140) [0x840750]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM7RPCConn7processEv+0xfb7) [0x6bc6a7]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM17__rpcconn_wrapperEPv+0x47a) [0x6acd8a]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50) [0x7f22e4a5db50]
Aug 31 10:48:01 ?Trace : db0f0700 trace: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f22e366d95d]
Aug 31 10:48:01 ?Debug : db0f0700 DBConnection_mysql: <0x7f22dc028230> SQL SELECT query: SELECT table_name FROM archives WHERE archive_id='55' AND table_type='10'
Aug 31 10:48:01 ?Debug : db0f0700 DBConnection_mysql: <0x7f22dc028230> SQL SELECT query: 0 rows in 0.000 sec
Aug 31 10:48:01 ?Debug : db0f0700 UTM5 DBA: table invoices not exists in archive_id 55
Aug 31 10:48:01 ERROR : db0f0700 DBAGenericError: table not exists in this archive
Aug 31 10:48:01 ?Trace : db0f0700 trace: Obtained 12 stack frames.
Создать, пусть даже пустые. главное чтобы были.Point писал(а):и что делать со старыми архивами, в которых нет архивированных таблиц 8-12?
в логах постоянная ругань:Код: Выделить всё
Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM15print_backtraceEv+0x40) [0xb0aa10] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAErrorC2ERKSsS2_bNS_6Logger5LevelE+0x96) [0x54c286] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM15DBAGenericErrorC2ERKSsbNS_6Logger5LevelE+0x51) [0x54c371] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess22get_archive_table_nameEiNS_15archive_table_tERSs+0x2e2) [0x96ca22] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess19__get_invoices_listEiPSt3mapIiNS_7InvoiceESt4lessIiESaISt4pairIKiS2_EEEiillb+0x255) [0x9f2b85] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess17get_invoices_listEiPSt3mapIiNS_7InvoiceESt4lessIiESaISt4pairIKiS2_EEEiillb+0x6b) [0x8035cb] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM8DBAccess11get_invoiceEi+0x6e) [0x9f657e] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_Z29rpcf_get_doc_invoices_entriesPv+0x140) [0x840750] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM7RPCConn7processEv+0xfb7) [0x6bc6a7] Aug 31 10:48:01 ?Trace : db0f0700 trace: /netup/utm5/bin/utm5_core(_ZN3UTM17__rpcconn_wrapperEPv+0x47a) [0x6acd8a] Aug 31 10:48:01 ?Trace : db0f0700 trace: /lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50) [0x7f22e4a5db50] Aug 31 10:48:01 ?Trace : db0f0700 trace: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f22e366d95d] Aug 31 10:48:01 ?Debug : db0f0700 DBConnection_mysql: <0x7f22dc028230> SQL SELECT query: SELECT table_name FROM archives WHERE archive_id='55' AND table_type='10' Aug 31 10:48:01 ?Debug : db0f0700 DBConnection_mysql: <0x7f22dc028230> SQL SELECT query: 0 rows in 0.000 sec Aug 31 10:48:01 ?Debug : db0f0700 UTM5 DBA: table invoices not exists in archive_id 55 Aug 31 10:48:01 ERROR : db0f0700 DBAGenericError: table not exists in this archive Aug 31 10:48:01 ?Trace : db0f0700 trace: Obtained 12 stack frames.
[/quote]
Создать, пусть даже пустые. главное чтобы были.[/quote]
и соответственно данным, которые в действительности находятся в рабочей базе, а не в архивных таблицах можно сказать гудбай...., либо переносить их ручками из базы в архивные таблицы
А разработчикам вломы сделать скрипт, приводящий базу в нормальный вид и перемещающий старые данные с учетом текущих изменений??????
Создать, пусть даже пустые. главное чтобы были.[/quote]
и соответственно данным, которые в действительности находятся в рабочей базе, а не в архивных таблицах можно сказать гудбай...., либо переносить их ручками из базы в архивные таблицы

А разработчикам вломы сделать скрипт, приводящий базу в нормальный вид и перемещающий старые данные с учетом текущих изменений??????
Начинает проясняться с архивацией. Запускается бинарник db_arhiver с ключиком -а. никаких дополнительных настроек нет, этот же утиль используется для проверки и обновления бд при запуске ядра. к сожалению запуск на тестовой базе к положительным результатам не привел 
db_arhiver.log
после чего утилита впала в кому,
mysql> SHOW PROCESSLIST;
| 2461767 | root | localhost | UTM5_TEST | Sleep | 1616 | | NULL | 0 | 0
top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21370 root 20 0 148m 5792 3748 R 100,2 0,0 29:09.57 db_archiver
ждал оживления очень долго, после чего ручками прибил процесс

db_arhiver.log
Код: Выделить всё
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL SELECT query: SHOW TABLES
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL SELECT query: 182 rows in 0.001 sec
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query: CREATE TABLE dhcp_leases_log_tmp (id int NOT NULL AUTO_INCREMENT, ip int DEFAULT '0' NOT NULL, mac varchar(254) DEFAULT '' NOT NULL, relay_agent_info varchar(254) DEFAULT '' NOT NULL, account_id int DEFAULT '0' NOT NULL, expired int DEFAULT '0' NOT NULL, updated int DEFAULT '0' NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB;
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query takes 0.393 sec
Sep 01 14:45:21 Info : 91adf740 DBVerifier: CREATE TABLE dhcp_leases_log_tmp
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query: CREATE TABLE dhs_sessions_detail_tmp (id int NOT NULL AUTO_INCREMENT, dhs_sess_id int DEFAULT '0' NOT NULL, trange_id int DEFAULT '0' NOT NULL, recv_date int DEFAULT '0' NOT NULL, account_id int DEFAULT '0' NOT NULL, disc_per_id int DEFAULT '0' NOT NULL, slink_id int DEFAULT '0' NOT NULL, duration bigint DEFAULT '0' NOT NULL, base_cost double DEFAULT '0' NOT NULL, sum_cost double DEFAULT '0' NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB;
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query takes 0.315 sec
Sep 01 14:45:21 Info : 91adf740 DBVerifier: CREATE TABLE dhs_sessions_detail_tmp
Sep 01 14:45:21 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query: CREATE TABLE dhs_sessions_log_tmp (id int NOT NULL AUTO_INCREMENT, account_id int DEFAULT '0' NOT NULL, slink_id int DEFAULT '0' NOT NULL, recv_date int DEFAULT '0' NOT NULL, last_update_date int DEFAULT '0' NOT NULL, Framed_IP_Address int DEFAULT '0' NOT NULL, Framed_IP_Address6 bigint DEFAULT '0' NOT NULL, Framed_IP_Address6_ext bigint DEFAULT '0' NOT NULL, NAS_Port int DEFAULT '0' NOT NULL, Acct_Delay_Time int DEFAULT '0' NOT NULL, Acct_Session_Id varchar(255) DEFAULT '' NOT NULL, NAS_Port_Type int DEFAULT '0' NOT NULL, User_Name varchar(255) DEFAULT '' NOT NULL, Service_Type int DEFAULT '0' NOT NULL, Framed_Protocol int DEFAULT '0' NOT NULL, NAS_IP_Address bigint DEFAULT '0' NOT NULL, NAS_IP_Address_ext bigint DEFAULT '0' NOT NULL, NAS_IP_Address_type int DEFAULT '0' NOT NULL, NAS_Id varchar(255) DEFAULT '' NOT NULL, Acct_Status_Type int DEFAULT '0' NOT NULL, Acct_Input_Packets bigint DEFAULT '0' NOT NULL, Acct_Input_Octets bigint DEFAULT '0' NOT NULL, Acct_Input_Gigawords bigint DEFAULT '0' NOT NULL, Acct_Output_Packets bigint DEFAULT '0' NOT NULL, Acct_Output_Octets bigint DEFAULT '0' NOT NULL, Acct_Output_Gigawords bigint DEFAULT '0' NOT NULL, Acct_Session_Time bigint DEFAULT '0' NOT NULL, Acct_Terminate_Cause int DEFAULT '0' NOT NULL, Called_Station_Id varchar(255) DEFAULT '' NOT NULL, Calling_Station_Id varchar(255) DEFAULT '' NOT NULL, flags int DEFAULT '0' NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB;
Sep 01 14:45:22 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query takes 0.313 sec
Sep 01 14:45:22 Info : 91adf740 DBVerifier: CREATE TABLE dhs_sessions_log_tmp
Sep 01 14:45:22 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query: CREATE INDEX index_24247dc217bfec3ceaf294cc46949837 ON dhs_sessions_log_tmp(account_id,last_update_date);
Sep 01 14:45:22 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query takes 0.328 sec
Sep 01 14:45:22 Info : 91adf740 DBVerifier: CREATE INDEX index_24247dc217bfec3ceaf294cc46949837 ON TABLE dhs_sessions_log_tmp
Sep 01 14:45:22 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query: CREATE INDEX index_64791de5ab4ea85459319893269706ea ON dhs_sessions_log_tmp(last_update_date,Acct_Status_Type);
Sep 01 14:45:23 ?Debug : 91adf740 DBConnection_mysql: <0x7fbe88046db0> SQL query takes 0.424 sec
Sep 01 14:45:23 Info : 91adf740 DBVerifier: CREATE INDEX index_64791de5ab4ea85459319893269706ea ON TABLE dhs_sessions_log_tmp
mysql> SHOW PROCESSLIST;
| 2461767 | root | localhost | UTM5_TEST | Sleep | 1616 | | NULL | 0 | 0
top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21370 root 20 0 148m 5792 3748 R 100,2 0,0 29:09.57 db_archiver
ждал оживления очень долго, после чего ручками прибил процесс
аналогичная ситуация, только лог остановился на другой таблице, всё чего процесс сделал, это создал таблицы:Point писал(а): ждал оживления очень долго, после чего ручками прибил процесс
Код: Выделить всё
dhcp_leases_log_tmp
dhs_sessions_detail_tmp
dhs_sessions_log_tmp
discount_transactions_all_tmp
discount_transactions_iptraffic_all_tmp
invoices_tmp
invoice_entry_details_tmp
invoice_entry_tmp
payment_transactions_tmp
потом встаёт колом.
повторный запуск молчит, в логе кроме проверки таблиц ничего нет.
удалял созданные таблицы, ситуация повторяется в точности:
лог заканчивается этим:
Код: Выделить всё
Sep 04 01:24:06 ?Debug : f07740 DBConnection_mysql: <0x1503800> SQL query takes 0.180 sec
Sep 04 01:24:06 Info : f07740 DBVerifier: CREATE INDEX index_204db493907b7f4ddf2336ae78db201d ON TABLE payment_transactions_tmp
Sep 04 01:24:06 ?Debug : f07740 DBConnection_mysql: <0x1503800> SQL query: CREATE INDEX index_b37e82d403f2755b32e4baece65863a7 ON payment_transactions_tmp(hash);
Sep 04 01:24:06 ?Debug : f07740 DBConnection_mysql: <0x1503800> SQL query takes 0.190 sec
Sep 04 01:24:06 Info : f07740 DBVerifier: CREATE INDEX index_b37e82d403f2755b32e4baece65863a7 ON TABLE payment_transactions_tmp
serjk писал(а):2maxxoft
Обратитесь, пожалуйста, в техподдержку и предоставьте им дамп тестовой базу и полный лог. Сможем оперативно решить вопрос.
Код: Выделить всё
agent (внешний e-mail) 01.09.2015 13:26:26
Тема: [Ticket#: 2015083110000023] Bug Report
Прикрепленный файл:
Добрый день,
Мы проанализируем логи db_archiver и если проблема действительно
существует, сдадим ее разработчикам.
Ну как обычно.Point писал(а):serjk писал(а):2maxxoft
Обратитесь, пожалуйста, в техподдержку и предоставьте им дамп тестовой базу и полный лог. Сможем оперативно решить вопрос.Код: Выделить всё
agent (внешний e-mail) 01.09.2015 13:26:26 Тема: [Ticket#: 2015083110000023] Bug Report Прикрепленный файл: Добрый день, Мы проанализируем логи db_archiver и если проблема действительно существует, сдадим ее разработчикам.