5. Сообщения оператору
5.1. Действия оператора в случае аварии и сбоев
Программа «Витрина данных НСУД» является сложным программным продуктом, установка и настройка которого осуществляется системным программистом.
Надежность аппаратной платформы сервера и рабочих станций, операционных систем серверов и рабочих станций, систем управления базами данных обеспечивается их производителями.
При эксплуатации программы возможны аварийные ситуации и сбои в работе.
Таблица Возможные аварийные ситуации
Аварийная ситуация |
Возможные причины |
Способ избежания |
Способ ликвидации последствий |
Отключение питания аппаратных средств |
Внешние или внутренние проблемы с э лектропитанием |
При вводе большого количества данных, выполнять сохранение в процесса ввода |
Повторный ввод и сохранение информации |
Сбой операционной системы сервера |
Нехватка системных ресурсов |
Мониторинг системных ресурсов |
Обратится к системному программисту |
Сбой при передаче данных |
Ошибка в работе программного обеспечения Один или несколько серверов системы недоступны. |
Мониторинг раб отоспособности серверного оборудования и программного обеспечения |
Просмотр в системе мониторинга раб отоспособности серверного оборудования и программного обеспечения. В случае корректной работы выполнить повторную отправку данных. В случае повторения ошибки обратиться к системному программисту |
При попытке подключения к серверу по ssh подключения не происходит |
Ошибка ввода. |
Вводить корректные данные |
Проверить и повторно ввести данные для подключения. Проверить раскладку клавиатуры, проверить и при необходимости отключить клавишу «Caps Lock» Обратится к системному программисту |
«Витрина данных НСУД» объединяет несколько программных продуктов. Это, особенно в первое время эксплуатации, может являться причиной возникновения аварийных ситуаций. Аварийные ситуации могут возникать как из-за ошибок в программных продуктах, так и из-за неправильной настройки.
Признаками аварийной ситуации являются:
Отсутствие связи с серверами или другими компонентами системы, например с Адаптером СМЭВ.
Окна с сообщениями о нештатной ситуации.
Окна с сообщениями на английском языке.
Сообщение об отсутствии прав на действия.
В случае нештатного поведения программного обеспечения необходимо в первую очередь проверить корректность всех настраиваемых параметров системы. Если после проверки настроек работа по-прежнему некорректна, то необходимо выслать разработчикам лог-файл.
5.2. Классификатор ошибок
При работе с программой через JDBC-клиента оператору могут выводиться сообщения, указанные в таблице 1.
Все сообщения, формируемые в процессе функционирования компонентов программы, журналируются соответствующими компонентами, а именно:
Ядро витрины ProStore в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/dtm-core;
Сервис мониторинга статусов Kafka в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/status-monitor.
Дополнительно, сервис исполнения запросов принимает сообщения от внешних по отношению к нему компонентов Витрины в ходе их выполнения и также выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/dtm-core.
Формируемые сообщения делятся на следующие категории, определяющие уровень важности сообщения:
INFO– информирующее сообщение о статусе запроса, выполненного или полученного Сервисом исполнения запросов. Сообщение имеет базовый уровень важности;TRACE,DEBUG– подробные сообщения о состояниях внутренних компонентов Сервиса исполнения запросов. Сообщения предназначены для отладки и имеют повышенный уровень важности;WARN– сообщение от ADTM о некритичном сбое, имеет повышенный уровень важности;ERR– сообщение от ADTM о критичном сбое, имеет высокий уровень важности.
Сообщения содержат:
метки даты-времени с миллисекундной точностью;
категорию сообщения;
уровень иерархической вложенности сообщения в рамках одного компонента-отправителя;
идентификатор потока в многопоточном исполнении;
идентификатор компонента-отправителя;
тело текстового сообщения.
Таблица 1. Классификатор ошибок
Выдаваемое сообщения |
Описание сообщения |
Действия программиста |
|---|---|---|
Database <имя_логической_ базы_данных> already exists |
Неуспешная попытка создания логической базы данных: указанное наименование уже используется для другой логической базы данных в рамках окружения |
Указать другое наименование логической базы данных и повторить SQL-запрос |
Database < имя_логической_ базы_данных> does not exist |
Неуспешная попытка обращения к логической базе данных: логическая база данных с указанным наименованием отсутствует в рамках окружения |
Исправить наименование логической базы данных на корректное и повторить SQL-запрос. Для получения перечня существующих логических баз данных можно использовать SQL-запрос: SELECT * FROM informat ion_schema.schemata |
System database INFORMATION_SCHEMA is non-deletable |
Неуспешная попытка удаления логической базы данных INFORMATION_SCHEMA: данная логическая база данных используется служебных целях и не может быть удалена |
Действия не требуются |
Table <имя _логической_таблицы> already exists |
Неуспешная попытка создания логической таблицы: указанное наименование уже используется для другой логической таблицы в рамках логической базы данных |
Указать другое наименование для логической таблицы и повторить SQL-запрос |
Table <имя _логической_таблицы> does not exist |
Неуспешная попытка обращения к логической таблице: логическая таблица с указанным наименованием отсутствует в рамках логической базы данных |
Исправить наименование логической таблицы на корректное и повторить исходный SQL-запрос. Для получения перечня существующих логических таблиц и представлений можно использовать SQL-запрос: SELECT * FROM infor mation_schema.tables |
Entity <имя_логического_ представления> already exists |
Неуспешная попытка создания логического представления: указанное наименование уже используется для другого логического представления в рамках логической базы данных |
Указать другое наименование логического представления и повторить SQL-запрос |
View <имя_логического_ представления> does not exist |
Неуспешная попытка обращения к логическому представлению: логическое представление с указанным наименованием отсутствует в рамках логической базы данных |
Исправить наименование логического представления на корректное наименование и повторить SQL-запрос. Для получения перечня существующих логических таблиц и представлений можно использовать SQL-запрос: SELECT * FROM infor mation_schema.tables |
External Table <имя_внешней_ таблицы> already exists |
Неуспешная попытка создания внешней таблицы: указанное наименование уже используется для другой внешней таблицы в рамках логической базы данных |
Указать другое наименование внешней таблицы и повторить SQL-запрос |
External table <имя_внешней_ таблицы> does not exist |
Неуспешная попытка обращения к внешней таблице: внешняя таблица с указанным наименованием отсутствует в рамках логической базы данных |
Исправить наименование внешней таблицы на корректное и повторить SQL-запрос |
Column <имя_столбца> does not exist |
Неуспешная попытка обращения к столбцу логической таблицы или логического представления: столбец с указанным наименованием отсутствует |
Исправить наименование столбца на корректное и повторить SQL-запрос. Для получения перечня существующих столбцов логических таблиц и представлений можно использовать SQL-запрос: SELECT * FROM inform ation_schema.columns |
Disallowed view or directive in a subquery < SQL-запрос_типа_DML> |
Неуспешная попытка создания или изменения логического представления: в SQL-запросе использованы системные представления, другие логические представления или инструкция FOR_SYSTEM_TIME, которые недоступны для логического представления |
Скорректировать SQL-запрос таким образом, чтобы в нем отсутствовали системные и другие логические представления, а также инструкция FOR_SYSTEM_TIME |
Delta is not committed |
Неуспешная попытка открытия дельты: дельта уже открыта |
Если нет необходимости в открытии новой дельты, действия не требуются. Если есть необходимость в открытии новой дельты, следует закрыть текущую открытую дельту и затем открыть новую дельту |
The delta number <номер_дельты> is not next to an actual delta |
Неуспешная попытка открытия дельты: использована инструкция SET с номером, который не соответствует формату <номе р_последней_закрытой _дельты> + 1 |
Скорректировать номер дельты или удалить инструкцию SET и некорректный номер, после чего повторить SQL-запрос. Номер последней закрытой дельты можно узнать с помощью SQL-запроса GET_DELTA_OK() |
Delta is already committed |
Неуспешная попытка закрытия дельты: дельта уже закрыта |
Действия не требуются |
Unable to set the date-time <дата_и_время> |
Неуспешная попытка закрытия дельты: использована инструкция SET с датой и временем, которые предшествуют дате и времени последней закрытой дельты |
Скорректировать указанные дату и время дельты или удалить инструкцию SET и некорректные дату и время, после чего повторить SQL-запрос. Дату и время последней закрытой дельты можно узнать с помощью SQL-запроса GET_DELTA_OK() |
Location <URI> is unreachable |
Неуспешная попытка загрузки/выгрузки данных: внешний приемник данных отсутствует по пути, указанному для внешней таблицы |
Скорректировать указанный путь к внешнему приемнику данных |
Queried entity is missing for the specified DATASOURCE_TYPE < тип_источника_данных > |
Неуспешная попытка обращения к явно заданному источнику данных: запрашиваемая сущность отсутствует в источнике данных |
Скорректировать указанный источник данных или перечень запрашиваемых сущностей, после чего повторить SQL-запрос |
No single datasource contains all queried entities |
Неуспешная попытка обращения к нескольким источникам данных: нет ни одного источника данных, который бы содержал все запрашиваемые сущности |
Скорректировать указанные источники данных или перечень запрашиваемых сущностей, после чего повторить SQL-запрос |