PowerProtect. Устранение ошибок синтаксического анализа в файле конфигурации addon.cfg для запланированного резервного копирования Oracle
Summary: Заказчики, использующие Dell EMC PowerProtect Data Manager (PPDM) с резервным копированием баз данных Oracle, сообщали о проблемах с резервным копированием по расписанию. Тем не менее, специализированное ручное резервное копирование работает без каких-либо проблем. Корневая причина была определена как пустой раздел в файле addon.cfg ([]), который является результатом неправильной обработки функции getInstallOracleSidUser() вывода определенной команды. Эта проблема будет устранена в следующем выпуске исправления 19.18 и следующем выпуске исправления 19.17. Пользователи, которые не хотят выполнять обновление, могут запросить оперативное исправление для выпуска 19.16. ...
Symptoms
* Запланированное резервное копирование Oracle имеет проблемы * Может работать нерегламентированное ручное резервное копирование * Python не может обработать файл конфигурации в формате INI с пустым разделом, например "[]" * В файл addon.cfg добавлена пустая секция * Информация о шуме, добавленная на карту, вызывающая пустую секцию * Информация о шуме поступает из командной строки Imperva Cyber * Обнаружение Imperva Cyber базы данных Oracle вмешивается в процесс резервного копирования.
В журнале отображается следующее сообщение об ошибке:
[2024-07-28 17:00:17,742 GMT| 2024-07-29 01:00:17,743555 +08| APPBACKUPASSETS_89AE63F6DB2D6224| PID-77095| TID-140512660902656| ERROR| TraceContext-TRACE_ID:89ae63f6db2d6224;EXEC_ID:a631207817a80e3d] /opt/dpsapps/agentsvc/tmp/_MEIng5l7D/AddOnManager/AddOnManager.pyc-getAllAddOnsMap()-Line 140- Exception Source contains parsing errors: '/opt/dpsapps/agentsvc/AddOns/D2B24128_9482_44D2_8723_6D211DB49BFB/addon.cfg' [line 26]: '[]\n' in getAllAddOnsMap.Traceback (most recent call last): File "AddOnManager/AddOnManager.py", line 126, in getAllAddOnsMap File "AddOnManager/AddOnManager.py", line 96, in __add2modules File "AddOnManager/AddOnManager.py", line 87, in instantiateMainClass File "nsr/AppAgentService/AddOns/D2B24128_9482_44D2_8723_6D211DB49BFB/AddOnMain.py", line 42, in get_instance File "nsr/AppAgentService/AddOns/D2B24128_9482_44D2_8723_6D211DB49BFB/AddOnMain.py", line 63, in __init__ File "nsr/AppAgentService/AddOns/D2B24128_9482_44D2_8723_6D211DB49BFB/AddOnBase.py", line 1319, in parseConfigFile File "configparser.py", line 713, in read File "configparser.py", line 1132, in _readconfigparser.ParsingError: Source contains parsing errors: '/opt/dpsapps/agentsvc/AddOns/D2B24128_9482_44D2_8723_6D211DB49BFB/addon.cfg' [line 26]: '[]\n'
И мы видим, что в addon.cfg автоматически есть [].
Cause
Python не может обработать файл конфигурации в формате INI с пустым разделом, например "[]". Если конфигурация аналогична приведенному ниже примеру, она не будет проанализирована:
[+APX1] agent_user = oragrid [ASMCR5R] agent_user = oracloud []
Чтобы мы могли знать, что проблема возникла из-за пустого раздела "[]" в файле addon.cfg.
Информация о шуме поступает от устройства Imperva Cyber, используемого клиентом. После того, как Imperva Cyber одновременно запустится с обнаружением прикладной системы, пустой раздел "[]" будет добавлен в файл addon.cfg. Командная строка Imperva Cyber выглядит следующим образом:
sh -c /opt/imperva/ragent/bin/db-discovery.sh -d Oracle -f /opt/imperva/ragent/bin/ -r "tnslsnr" -i _pmon_ -e "false" -s "oracle+ASM[A-Za-z0-9]{0,}|asm_d[000-999]|ora_d[000-999]" -a "false" -p 9999 -o /opt/imperva/ragent/var/db_discovery_oracle.txt -ipc 2>>/opt/imperva/ragent/var/stderr_db_discovery.txt
/bin/bash /opt/imperva/ragent/bin/db-discovery.sh -d Oracle -f /opt/imperva/ragent/bin/ -r tnslsnr -i _pmon_ -s oracle+ASM[A-Za-z0-9]{0,}|asm_d[000-999]|ora_d[000-999] -a "false" -p 9999 -o /opt/imperva/ragent/var/db_discovery_oracle.txt -ipc
По сути, Imperva Cyber использует тот же способ обнаружения базы данных Oracle, но помещает ключевое слово {}pmon_{_} в командную строку, и наша функция не обрабатывает вывод, содержащий команды Imperva Cyber well.
Resolution
В качестве временного решения проблемы с запланированным резервным копированием Oracle можно выполнить резервное копирование вручную. Эта проблема возникает из-за неспособности Python обработать файл конфигурации в формате INI с пустыми разделами, такими как "[]". Эту проблему можно проследить до файла addon.cfg, который содержит пустой раздел. Исправление будет доступно в выпуске 19.18 и следующем выпуске исправления 19.17. Если вы используете выпуск 19.16 и не планируете выполнять обновление, обратитесь в службу поддержки Dell для получения дополнительной помощи и запроса оперативного исправления.