...
| Блок кода |
|---|
mv [имя backup] /var/ems-backup/main
cd /var/ems-backup/main
sudo ./ems-restore.sh [имя backup] |
Шаг третьий устранение ошибок
| Предупреждение |
|---|
После загрузки backup может возникнуть ошибка расхождения схем заполнения таблиц баз данных. об этом может соответствовать то, что при попытке запустить апплет сервис eltex-ems будет переходить в статус inactive, и в файле /var/log/eltex-ems/black_box.txt будет сообщение подобного содержания: [main] ERROR Kernel Server$1.print(line:371). [ EltexException (EltexException.SERVER) : codeError = 1; msg = 'Invalid version '46' of 'eltex_ems' schema. Should be '55'. Please, update eltex-ems-db packet.'; infoObject = 'null' ] |
...
| Примечание |
|---|
Может появится ошибка связанная с отсутствием параметра 4 из-за чего не отображаются alarm: | Без форматирования |
|---|
2025-11-19T04:10:48,656 [AlertStoreHandler] ERROR DB EventDB.storeNewAlerts(line:246). SQL error. alerts = [[ AlertEltex : ID=-1; alertType=Trap; code=alert; subcode=SNMP_TRAP; message='Slot 1 PLC8: optical channel 0 has active ONTs'; createDate='19.11.2025 04:10:48'; status=FINISHED; priority=INFO ] [ SimpleSystemAlert : storeToDB=true; alarmFlag=0 ] [ OidAlert : sourceIp=192.168.128.75; sourceName='satt-srb-subotica-olt-3'; sourceId=51; sourceType=MA4000; additionalTrapRuleProcess=false; messageOID=1.3.6.1.4.1.35265.1.22.100.4.14; meanParamText=false; paramText='null'; finishedMode='AUTO'; finishedSource='AUTO'; finishedDate=19.11.2025 04:10:48'; normOids=[1.3.6.1.4.1.35265.1.22.100.3.14]; messageDescription=PLC, slot 1: Channel0 has ONTs now; birthdayDate=Wed Nov 19 04:10:48 CET 2025 ][ SnmpAlert : requestId=932715204; trapUpTime=2533418783'; messageId='0'; MessageParam1=0*; MessageParam2=0; MessageParam3=1; isMeanParam3=true; MessageParam4=0; isMeanParam4=false; MessageExState='0'; ProcessDate=''; ProcessUser='null'; ProcessMaxDelay='0'; FinishedNote='null'; AlwaysClosedFlag=false; TransmitToGUI=N'; DeliverToTl1=N ]]
java.sql.BatchUpdateException: Unknown column 'MESSAGE_PARAM4' in 'field list'
at jdk.internal.reflect.GeneratedConstructorAccessor59.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:481) ~[?:?]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1154) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1835) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1319) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:954) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128) ~[HikariCP-3.4.5.jar!/:?]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) ~[HikariCP-3.4.5.jar!/:?]
at org.eltex.ems.web.server.db.EventDB.storeNewAlerts(EventDB.java:228) ~[classes!/:3.41-16939 (18.11.25 13:32:29)]
at org.eltex.ems.web.server.alert.AlertStoreHandler.handle(AlertStoreHandler.java:142) ~[classes!/:3.41-16939 (18.11.25 13:32:29)]
at org.eltex.ems.web.common.pool.ObjectHandler.run(ObjectHandler.java:371) ~[ems_common.jar!/:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'MESSAGE_PARAM4' in 'field list'
at jdk.internal.reflect.GeneratedConstructorAccessor58.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:481) ~[?:?]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1915) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2136) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1813) ~[mysql-connector-java-5.1.49.jar!/:5.1.49]
... 8 more |
устранить такую проблему можно применением команды в mysql: | Блок кода |
|---|
sudo mysql -e "alter table eltex_alert.ALERT_TABLE add column MESSAGE_PARAM4 int(10);" |
После необходимо перезагрузить сервис eltex-ems |
Backup с помощью mysqldump
В качестве альтренативного метода бекапа баз EMS можно воспользоваться утилитой mysqldump.
Ниже приведена команда для формирования бекапа EMS-таблиц.
| Блок кода |
|---|
sudo mysqldump -uroot -proot --databases Syslog eltex_alert eltex_ems eltex_ont wireless --lock-tables=false > dump1.sql |
В результате его выполнения будет сформирован файл, хранящий бекап баз данных EMS dump1.sql. Его необходимо переместить в любую директорию на новом сервере. К примеру в домашнюю папку.
Затем на новом сервере нужно будет загрузить таблицы из файла dump1.sql и перезапустить службы eltex-ems и mysql :
| Блок кода |
|---|
sudo mysql -uroot -proot < dump1.sql
sudo service mysql restart
sudo service eltex-ems restart |
В случае, если после этих действией служба eltex-ems будет запускаться с ошибкой и будет иметь статус, отличный от running, просьба выполнить действия из третьего шага:
| Блок кода |
|---|
sudo dpkg -i eltex-ems-db_3.35-13244_all.deb
sudo dpkg -i eltex-ems_3.35-13244_all.deb
sudo service eltex-ems restart |
В качестве резльтата ожидается корректный старт службы eltex-ems с последущющей проверкой с помощью аплета.