5. Сообщения оператору

5.1. Действия оператора в случае аварии и сбоев

Программа «Витрина данных НСУД» является сложным программным продуктом, установка и настройка которого осуществляется системным программистом.

Надежность аппаратной платформы сервера и рабочих станций, операционных систем серверов и рабочих станций, систем управления базами данных обеспечивается их производителями.

При эксплуатации программы возможны аварийные ситуации и сбои в работе.

Таблица Возможные аварийные ситуации

Аварийная ситуация

Возможные причины

Способ избежания

Способ ликвидации последствий

Отключение питания аппаратных средств

Внешние или внутренние проблемы с э лектропитанием

При вводе большого количества данных, выполнять сохранение в процесса ввода

Повторный ввод и сохранение информации

Сбой операционной системы сервера

Нехватка системных ресурсов

Мониторинг системных ресурсов

Обратится к системному программисту

Сбой при передаче данных

Ошибка в работе программного обеспечения

Один или несколько серверов системы недоступны.

Мониторинг раб отоспособности серверного оборудования и программного обеспечения

Просмотр в системе мониторинга раб отоспособности серверного оборудования и программного обеспечения. В случае корректной работы выполнить повторную отправку данных.

В случае повторения ошибки обратиться к системному программисту

При попытке подключения к серверу по ssh подключения не происходит

Ошибка ввода.

Вводить корректные данные

Проверить и повторно ввести данные для подключения. Проверить раскладку клавиатуры, проверить и при необходимости отключить клавишу «Caps

Lock» Обратится к системному программисту

«Витрина данных НСУД» объединяет несколько программных продуктов. Это, особенно в первое время эксплуатации, может являться причиной возникновения аварийных ситуаций. Аварийные ситуации могут возникать как из-за ошибок в программных продуктах, так и из-за неправильной настройки.

Признаками аварийной ситуации являются:

  • Отсутствие связи с серверами или другими компонентами системы, например с Адаптером СМЭВ.

  • Окна с сообщениями о нештатной ситуации.

  • Окна с сообщениями на английском языке.

  • Сообщение об отсутствии прав на действия.

В случае нештатного поведения программного обеспечения необходимо в первую очередь проверить корректность всех настраиваемых параметров системы. Если после проверки настроек работа по-прежнему некорректна, то необходимо выслать разработчикам лог-файл.

5.2. Классификатор ошибок

При работе с программой через JDBC-клиента оператору могут выводиться сообщения, указанные в таблице 1.

Все сообщения, формируемые в процессе функционирования компонентов программы, журналируются соответствующими компонентами, а именно:

  1. Ядро витрины ProStore в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/dtm-core;

  1. Сервис мониторинга статусов Kafka в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/status-monitor.

Дополнительно, сервис исполнения запросов принимает сообщения от внешних по отношению к нему компонентов Витрины в ходе их выполнения и также выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории var/log/dtm-core.

Формируемые сообщения делятся на следующие категории, определяющие уровень важности сообщения:

  1. INFO – информирующее сообщение о статусе запроса, выполненного или полученного Сервисом исполнения запросов. Сообщение имеет базовый уровень важности;

  2. TRACE, DEBUG – подробные сообщения о состояниях внутренних компонентов Сервиса исполнения запросов. Сообщения предназначены для отладки и имеют повышенный уровень важности;

  3. WARN – сообщение от ADTM о некритичном сбое, имеет повышенный уровень важности;

  4. ERR – сообщение от ADTM о критичном сбое, имеет высокий уровень важности.

Сообщения содержат:

  1. метки даты-времени с миллисекундной точностью;

  2. категорию сообщения;

  3. уровень иерархической вложенности сообщения в рамках одного компонента-отправителя;

  4. идентификатор потока в многопоточном исполнении;

  5. идентификатор компонента-отправителя;

  6. тело текстового сообщения.

Таблица 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-запрос