Оформление
Ошибка обновления данных
1. ORA-01555: снимок слишком старый
проблемное явление
Вы устанавливаете соединение с данными Oracle и не можете обновить SQL-таблицу с объемом данных 90 миллионов, проверяете файл fanruan.log в %FineBI%\logs и получаете сообщение об ошибке, как показано на следующем рисунке:

Анализ причин
Слишком большое время выполнения SQL-оператора, или слишком маленькое пространство таблицы UNDO, или слишком большой объем транзакций, или слишком частые фиксации приводят к тому, что сегмент отката базы данных при последовательном чтении во время выполнения SQL-процесса оказывается переполненным, а прежнее зеркальное отражение изменений, сделанных после выполнения SQL (т. е. данные UNDO), уже перезаписано в пространстве таблицы UNDO, поэтому блок последовательного чтения не может быть построен.
Рецепт
Чтобы увеличить размер табличного пространства UNDO, можно добавить файлы данных в табличное пространство undo или переключить табличное пространство undo, см. раздел: Oracle Управление табличным пространством undo.
2. Получение тайм-аута при чтении пакетов связи
проблемное явление
Сбой обновления бизнес-пакета FineBI и сбой обновления одной таблицы при автономном развертывании. Проверьте файл fanruan.log в разделе %FineBI%\logs и увидите ошибку: Error Code:62400001Got timeout reading communication packets, как показано ниже:

Анализ причин
После того как протокол MySQL установит соединение, продолжительность клиентского соединения в этот момент контролируется параметрами wait_timeout и interactive_timeout.
interactive_timeout: количество секунд ожидания активности перед тем, как сервер закроет интерактивное соединение.
wait_timeout: количество секунд ожидания активности перед тем, как сервер закроет неинтерактивное соединение.
Оба параметра действуют в зависимости от того, подключен ли клиент в интерактивном или неинтерактивном режиме. В интерактивном режиме действует interactive_timeout, в неинтерактивном - wait_timeout. Проблема обновления возникает, когда соединение прерывается из-за слишком маленького параметра, в результате чего не удается обновить данные.
Рецепт
1) Проверьте параметры wait_timeout и active_timeout в базе данных MySQL, выполнив SQL-оператор: show global variables like '%timeout%';, как показано ниже:

2) Измените размер параметров и выполните SQL-запрос: set global wait_timeout=xxxx; set global interactive_timeout=xxxx ;
3. Имя или услуга неизвестны
проблемное явление
В системе Linux глобальное обновление BI застряло, а обновление отдельных пакетов обновлений не происходит. Проверьте файл fanruan.log в разделе %FineBI%\logs и увидите ошибку: DISDB1:DISDB1:Имя или служба не известны, как показано ниже:

Анализ причин
Выполните hostname в среде Linux, обнаружив, что имя хоста - DISDB1, проверьте конфигурационный файл etc/hosts, в нем нет соответствующей конфигурации имени хоста. Обновление завершается неудачей.
вылечить
Войдите в конфигурационный файл hosts с помощью команды vi /etc/hosts и добавьте соответствующее имя IP-хоста, как показано ниже:

4. из памяти
проблемное явление
Обновление одной таблицы прошло успешно, но фон сообщает об ошибке out of memory. Проверьте файл fanruan.log в %FineBI%\logs и увидите ошибку: out of memory, как показано на следующем рисунке:

Анализ причин
Ошибка нехватки памяти - это необходимость посмотреть на состояние базы данных и использование памяти в данный момент, возможно, это связано с нестабильностью базы данных, вызванной.
Рецепт
Проверьте параметры key_buffer_size, max_heap_table_size и tmp_table_size в MySQL и настройте их на нужный размер. Вы можете обратиться к разделу: решение проблемы нехватки памяти.
5. ORA-01652: Unable to extend temp segment by 128 (in tablespace TEMP)
проблемное явление
Не удалось установить соединение с данными Oracle и создать набор данных SQL, просмотреть и сохранить. При просмотре бэкенда возникла ошибка ORA-01652: Unable to extend temp segment by 128 (in tablespace TEMP)
Анализ причин
Основное назначение временного табличного пространства - обеспечить временное вычислительное пространство, когда база данных выполняет операции сортировки, управляет индексами, обращается к представлениям и другие операции, и система автоматически очищает его после завершения операций. Если временного табличного пространства недостаточно, скорость выполнения операций становится аномально низкой, а временное табличное пространство быстро увеличивается до максимального объема (предела расширения), который, как правило, не очищается автоматически. Если пространство временных таблиц не настроено на автоматическое расширение, то при нехватке пространства временных таблиц при выполнении транзакции будет выдаваться сообщение об ошибке ora-01652 Unable to expand temporary segment.
Рецепт
Способ 1: Увеличьте размер временного файла.
Способ 2: Установите авторасширение временного файла данных.
В частности, вы можете обратиться к следующим разделам: Решения
6. слишком длинные данные для столбца 'id' в строке xxx
проблемное явление
После миграции ресурсов, после открытия BI и ввода подготовки данных, дисплей пуст. Проверьте файл fanruan.log в разделе %FineBI%\logs и увидите ошибку: Data too long for column 'id' at row 1, как показано ниже: 
Анализ причин
Из-за несоответствия настроек длины полей базы данных по умолчанию в двух системах до и после миграции ресурсов поле 'id' в таблице представляет собой бизнес-пакет + таблицу + имя поля, которое является относительно длинным, и эта проблема возникает, когда длина этого поля 'id' превышает максимальную длину по умолчанию в базе данных соответствующей системы, в которую импортируется ресурс.
Рецепт
Просто измените стандартную длину полей базы данных, используемой системой, которая требует импорта ресурса. В качестве примера можно привести встроенную в FineBI базу данных findb:
1) Подключитесь к базе данных FineDB, удалите индекс поля 'id' в таблице fine_conf_entity и fine_conf_classname базы данных, перестройте поле и измените его длину. Выполните следующие операторы по порядку:
alter table fine_conf_entity drop primary key;
alter table fine_conf_entity add key(id);
alter table fine_conf_entity modify column id varchar(xxxx); xxxx может быть установлен в соответствующий размер согласно соответствующей длине символов базы данных.
2) Сделайте то же самое для classname и перезапустите BI.
7. Фьючерсы завершаются через [300 секунд].
проблемное явление
При автоматическом обновлении бизнес-пакетов через регулярные промежутки времени в фоновом режиме появляется ошибка Futures timed out after [300 seconds]. Просматривая файл fanruan.log в разделе %FineBI%\logs, я вижу ошибку: java.until.concurrent.TimeoutException: Futures timed out after [300 seconds], как показано на следующем рисунке: 
Рецепт
Найдите таблицу fine_conf_entity в базе данных finedb и добавьте параметр (ID)DistributedOptimisationConfig.spiderConfig.spark_sql_broadcastTimeout и установите значение VALUE равным 12000, вот и все. Как показано на следующем рисунке:

8. com.fr.transaction.ConfigException: java.lang.NullPointerException
сообщение об ошибках
Ошибка в журнале: ERROR [standard] java.lang.NullPointerException com.fr.transaction.ConfigException: java.lang.NullPointerException, все наборы данных внезапно Обновление не удалось.
Анализ причин
Встроенная база данных блокируется (возможно, вы не убили ее при закрытии проекта или использовали сторонний инструмент для подключения к finedb).
Рецепт
Удалите файл db.lck или перенесите базу данных в каталог %FineBI%/webapps/webroot/WEB-INF/embed/finedb.
9. Таблица аномалий, отмеченных красным цветом
сообщение об ошибках
Обновление таблицы не удалось, и на экране обновления отображается: com.fr.engine.bi.config.exception.IllegalTableMarkedException: Table Exception Marked Red
Анализ причин
Поля таблицы в базе данных изменились и не совпадают с данными, которые ранее были извлечены из таблицы в FineBI.
Рецепт
Нажмите на кнопку "Редактировать" и снимите флажки с полей, отмеченных красным цветом.

10. нет такого файла или каталога и информация о файле
проблемное явление
Невозможно обновить базу данных после подключения к ней в среде Linux.
Анализ причин
Папка, в которой хранятся данные в Linux, не имеет прав на чтение/запись. Папку и путь к ней можно посмотреть в разделе Подготовка данных > Настройки обновления, подробнее см. в разделе Обновление и хранение данных.
вылечить
Предоставьте права на чтение и запись в папке, где хранятся обновленные данные.
Например, если путь к папке, в которой хранятся данные, - /home/update data, то chmod -R 777 /home/update data даст вам права на чтение/запись в этой папке.
11. com.StreamDemoTableData
метод решения вопроса
Проверьте WEB-INF/classes/com/ на каждом узле кластерной среды, чтобы убедиться, что файл класса был помещен туда.
12. RA-28001: срок действия пароля истек
Анализ причин
Срок действия пароля базы данных истек.
метод решения вопроса
Измените пароль базы данных и пароль для подключения к данным.
13. Цикл смерти существует при вычислении виджетов:shopCode->deptid→deptid
метод решения вопроса
Убедитесь, что в шаблоне отчета клиента нет таблиц, которые сделаны неправильно
14. Невозможность приобрести фиктивный замок
Анализ причин
Две среды имеют общий ZK. Одни и те же таблицы, обновленные в одно и то же время, являются причиной этой проблемы.
метод решения вопроса
Измените путь к zk. Имя параметра в fine_conf_entity: DistributedOptimisationConfig.spiderConfig.spider_zookeeper_lock_root_path
Значение параметра по умолчанию: /DISTRIBUTED_LOCK_MANAGERTEST
15. получить ошибку в подмодели DataModel
Анализ причин
Параметр "Запоминание" установлен на 10000, а фактическое значение - 40573, вам необходимо увеличить параметр "Запоминание". Запоминание означает загрузку всех данных таблицы в память для вычисления.
метод решения вопроса
Поднимите параметр Запоминание. См. документацию: Параметры BI/Spider
16. Информация о таблице потеряна
метод решения вопроса
Посмотрите на родительскую таблицу анализируемой таблицы и убедитесь, что обновление прошло успешно (убедитесь, что размер файла данных составляет 0 кб). (T_XXXX - это, как правило, файл данных родительской таблицы)
17. ExportCheckJob
метод решения вопроса
1) Удалите запись триггера для задачи обновления по таймеру, удалите все данные в таблице, начинающейся с QRTZ в finedb, и перезапустите BI после этого;
2) Переделайте предыдущее задание с таймером и сохраните его.
18. Исключение, брошенное в awaitResult
Анализ причин
tomcat неоднократно запускается с несколькими процессами.
Рецепт
Выключите tomcat и перезапустите его.
19. com.fr.engine.exception.NoFieldFoundException: Невозможно найти поле
метод решения вопроса
Проверьте, не изменились ли данные, используемые для обновленной таблицы (базовая таблица или таблица базы данных).
20. Начальное задание не приняло ни одного ресурса
Анализ причин
Ресурсы приложения BI превышают ресурсы системы spark;брандмауэр BI не открыт, необходимо подтвердить статус брандмауэра
Рецепт
Измените конфигурацию ресурсов spark на стороне bi, spark_executor_memory; spark_executor_cores; spark_cores_max, если конфигурация ресурсов нормальная, проверьте, не занимает ли ресурсы унаследованный процесс; отключите брандмауэр на стороне bi или разрешите приложению bi проходить через брандмауэр.
21. Слишком много открытых файлов
Рецепт
Справочный документ: Максимальное количество открытых файлов в Linux
22. не имеют одинакового размера строки, убедитесь, что соединение N:1 отношение
Анализ причин
вызвано тем, что поле отношения ассоциации, действующее на компонент, не является уникальным
метод решения вопроса
Проверьте, является ли принадлежность 1:1/1:N/N:1.
23. Таблица xxx не существует
Рецепт
Зайдите в базу данных и проверьте, существует ли таблица.
24. HiveAccessControlException
Анализ причин
Проблемы, связанные с разрешением диалекта базы данных
Рецепт
Сброс прав доступа к базе данных
25. 61300108spider многоузловое хранилище памяти исключение записи блока обслуживания
Анализ причин
Ошибка, о которой сообщается для 61300108, в основном связана со службой alluxio и идентификатором блока.
Решение
Добавьте параметр конфигурации к компоненту alluxio, alluxio.network.netty.heartbeat.timeout.ms=1800000
26. java.lang.RuntimeException: java.lang.InterruptedException
Анализ причин
1) Несоответствие между типами полей таблицы анализа и базовой таблицы; 2) Несоответствие между типами полей базовой таблицы и базы данных
Рецепт
1) Удалите используемую базовую таблицу, а затем добавьте ее заново и обновите; 2) Отредактируйте и сохраните базовую таблицу;
27. Сбой инициализации вычислительного двигателя
проблемное явление
Вложенное исключение - java.lang.NoClassDefFoundError
Анализ причин
Проблема конфликта пакетов jar, связана с конфликтом пакетов hive-jdbc-1.1.0-cdh5.13.0-standalone.jar внутри Jackson, вызванным конфликтом пакетов, и конфликтом самого bi!
Рецепт
Просто удалите конфликтующий jar из lib.
28. Не может быть представлен в виде java.sql.Date
Анализ причин
Ошибки баз данных, ошибки, не связанные с обновлением, неподдерживаемый jdbc
метод решения вопроса
Просто измените настройки поля и пересохраните его.
29. Исключение, брошенное в awaitResult
Анализ причин
Количество файлов в linux слишком мало.
Рецепт
Проблема с подсчетом открытых файлов в linux.
30. com.StreamDemoTableData
метод решения вопроса
Проверьте WEB-INF/classes/com/ на каждом узле кластерной среды, чтобы убедиться, что файл класса был помещен туда.
31. java.lang.ArrayIndexOutOfBoundsException
Анализ причин
Поля базы данных добавляются, а об инкрементном удалении сообщается как об ошибке.
Рецепт
Перередактируйте поля и немного обновите их при полном объеме.
32. На устройстве не осталось свободного места
метод решения вопроса
Увеличьте размер временного табличного пространства базы данных.
33. Невозможно получить блокировку для таблицы
Анализ причин
Посмотрел на приборную панель одновременно с обновлением; обновление не завершилось, это нормально, чтобы сообщить об ошибке о невозможности получить блокировку.
34. сообщать о множестве ошибок, есть ошибка swift, есть ошибка чтения конфигурационной таблицы hsql, есть ошибка отчета dbcontext
Анализ причин
Клиент не перенес базу данных, возможно, к finedb подключено более одного проекта, или для подключения к finedb использовался сторонний инструмент, в результате чего соединение было заблокировано при загрузке.
метод решения вопроса
Миграция баз данных
35. Таймаут операции записи в базу данных
проблемное явление
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Application was streaming results when the connection failed. Consider raising value 'net_write_timeout' на сервере.
Анализ причин
Таймаут операции записи в базу данных
вылечить
1) Вы можете уменьшить параллелизм потока обновления базовой таблицы: установите параметр DistributedOptimisationConfig.spiderConfig.spider_base_update_thread_proportion равным 30 по умолчанию, вы можете установить его на 20 или 25;
2) Измените параметр concurrency tableLoadThreadPoolNum с 20 по умолчанию на 10;
3) отрегулируйте значение параметра net_write_timeout: подключитесь к базе данных, выполните команду show global variables типа '%timeout%', а затем выполните SET GLOBAL net_write_timeout = XXX (по умолчанию 60, нужно настроить немного больше)
36. ошибка при разборе лицензии в json: at com.fr.engine.distribute.local.timerjob.LiteJob.run
вылечить
Замена файла lic
37. Обновление ошибки 61100006
Анализ причин
Задача находится в середине обновления, и перезапуск среды в этот момент будет считать обновление в середине обновления неудачным и сообщит об ошибке.
513 Верхнее сообщение об ошибке будет оптимизировано и будет выглядеть так: Очистка выполняемого задания обновления после перезапуска BI является ошибкой