OPatch — ошибка 73: как понять и исправить
Что означает код ошибки 73
Код 73 в OPatch чаще всего указывает на одну из двух групп причин:
- конфликт или несовместимость патча с текущей установкой;
- блокировка или некорректные права/инвентарь, мешающие установщику записать или зарегистрировать патч.
Коротко: сначала проверяем состояние ОС и прав, затем инвентарь Oracle и только после этого — попытки «обойти» системные проверки.
Важно: не используйте флаги, отключающие проверки, в продуктивной среде без плана отката.
Быстрые проверки перед детальной диагностикой
- Перезагрузите сервер — многие блокировки освобождаются.
- Убедитесь, что скачан правильный патч для вашей версии Oracle и архитектуры (x86_64/64-bit vs 32-bit).
- Запускайте установку под учётной записью с правами администратора/DBA.
- Откройте Командную строку/терминал с повышенными правами (Запуск от имени администратора).
- Проверьте каталог
ORACLE_HOME/.patch_storageна наличие файла блокировкиpatch_lockedи снимите блокировку корректно. - Перекачайте архив патча — возможна повреждённая загрузка.
Если эти шаги не помогают — переходите к подробным инструкциям ниже.
Распространённые причины
- Некорректный путь к ORACLE_HOME или к инвентарю (oraInventory).
- Неправильные права доступа на подкаталоги инвентаря и .patch_storage.
- Параллельно запущенный Oracle Universal Installer (OUI) или другой экземпляр OPatch.
- Использование неправильной версии OPatch (совместимость между версиями).
Подробная пошаговая инструкция по исправлению
1. Завершите все процессы Oracle
- Откройте Диспетчер задач (Ctrl + Shift + Esc) и найдите все процессы, связанные с Oracle.
- Для каждого процесса выполните “Завершить задачу”.


После завершения всех процессов повторите установку патча. Часто ошибка возникает именно из‑за блокирующего процесса.
2. Проверьте и исправьте права доступа
- Перейдите в каталог
ORACLE_HOME/.patch_storage. - Откройте свойства папки и вкладку “Безопасность”.

- Выберите группу “Администраторы” или учётную запись, под которой выполняется инсталляция, и установите “Полный доступ”.

Альтернатива: смените владельца каталога на Oracle-учётную запись и рекурсивно примените права. Также проверьте права на поддиректории oraInventory.
3. Пере-регистрация Oracle Home в инвентаре
Если opatch lsinventory или OUI указывает на неверное расположение, нужно прикрепить домашнюю директорию к инвентарю.
Выполните в терминале (на Unix/Linux):
% cd $ORACLE_HOME/oui/bin
./attachHome.shНа Windows используйте эквивалентные шаги в OUI или скриптах, если они присутствуют. После успешного прикрепления повторите opatch lsinventory и установку патча.
4. Перенесите файлы OPatch вручную
Иногда файлы OPatch в каталоге установки частично отсутствуют. Скопируйте (или переместите) из исходной папки OPatch в каталог OPatch целевой инсталляции следующие файлы:
- opatch.install
- opatch.log
- opatch.license
- opatch.manual
- opatch.properties
- opatch.scripting
- opatch.service
- opatch.settings
- opatch.version
После переноса убедитесь, что владельцем файлов является пользователь Oracle или администратор, и права доступа корректны.
5. Изменение расположения Oracle Home
Иногда проблема связана с некорректной структурой путей. Пример из практики: при установке WebLogic 12c Oracle Home был размещён в неподходящей папке. Решение — переместить ORACLE_HOME в ожидаемую директорию и обновить переменную окружения ORACLE_HOME.
Пример:
- Было:
/oracle/DRD/11203 - Стало:
/oracle/DRD/112_64
После изменения проверьте, что переменная окружения ORACLE_HOME указывает на новую директорию, и что файл инвентаря (oraInventory) доступен.
6. Использование флага ignoreSysPrereqs (с осторожностью)
Если вы уверены, что системные предусловия можно пропустить, можно запустить OPatch с опцией -ignoreSysPrereqs. На Windows:
- Откройте поиск (Win + S), введите “Command Prompt”, щёлкните правой кнопкой и выберите “Запуск от имени администратора”.

- Подтвердите UAC и перейдите в каталог установки OPatch.
- Выполните команду:
OPatch -ignoreSysPrereqs
Примечание: этот флаг пропускает проверки и может привести к нестабильности, если причина ошибки действительно системная. Используйте только для отладки или в тестовой среде.
7. Обращение в поддержку Oracle
Если ничего не помогает, откройте тикет в поддержке Oracle. В запросе приложите:
- вывод
opatch lsinventory; - логи OPatch (opatch.log) и системные логи;
- точную версию Oracle и OPatch, архитектуру ОС и шаги, которые вы выполняли.
Поддержка может подтвердить баг в патче или дать инструкции по ручному применению обновления.
Альтернативные подходы и когда они применимы
- Использовать свежую версию OPatch совместимую с вашей версией Oracle.
- Применять патч на изолированном тестовом стенде и затем переносить изменения на продакшн.
- Временно остановить сервисы приложений и баз данных, чтобы исключить блокировки файлов.
Противопоказание: использовать -ignoreSysPrereqs в продакшне без плана отката.
Мини‑методология быстрого расследования (шаги для DBA)
- Соберите данные:
opatch lsinventory,ps -ef | grep pmon(Linux), журналы OPatch. - Проверка состояния: права на каталоги, наличие
patch_locked. - Изоляция: остановите все Oracle-процессы, повторите установку.
- Верификация инвентаря: запустите
./attachHome.shпри необходимости. - Тест: попробуйте на тестовой копии ORACLE_HOME.
- Эскалация: если неуспех — откройте SR в Oracle.
Чек‑лист по ролям
DBA:
- Проверить
opatch lsinventory. - Убедиться в корректности ORACLE_HOME.
- Резервная копия ORACLE_HOME и oraInventory перед изменениями.
Системный администратор:
- Проверить права NTFS/Unix и владельца каталогов.
- Освободить блокирующие процессы и убедиться в отсутствии активных установщиков.
DevOps/Release engineer:
- Пересобрать и проверить пакет патча.
- Выполнить установку на стейдж-инфраструктуре до продакшна.
Простая блок‑диаграмма действий (Mermaid)
flowchart TD
A[Начало: ошибка OPatch 73] --> B{Проверили перезагрузку?}
B -- Нет --> C[Перезагрузить сервер]
B -- Да --> D{Процессы Oracle активны?}
D -- Да --> E[Завершить процессы и retry]
D -- Нет --> F{Права на .patch_storage корректны?}
F -- Нет --> G[Исправить права и retry]
F -- Да --> H{ORACLE_HOME прикреплён к инвентарю?}
H -- Нет --> I[Запустить attachHome.sh]
H -- Да --> J{Патч корректен для версии?}
J -- Нет --> K[Скачать правильный патч]
J -- Да --> L[Если всё не помогло — обратиться в поддержку]Когда это может не сработать
- Патч действительно несовместим с вашей версией Oracle (нужна другая сборка).
- Повреждён oraInventory или отсутствует критическая мета‑информация — в этом случае нужен ручной реинсталл инвентаря или поддержка Oracle.
Критерии приёмки
- OPatch успешно завершил установку без ошибок.
opatch lsinventoryпоказывает применённый патч.- Сервисы Oracle запускаются и проходят smoke‑тесты базовых функций.
Итог
Ошибка OPatch 73 чаще всего исправляется простыми действиями: снять блокировки, исправить права, убедиться в корректности ORACLE_HOME и патча. Всегда выполняйте предустановочные проверки на тестовой среде, сохраняйте резервные копии ORACLE_HOME и oraInventory, и осторожно используйте флаги игнорирования предусловий.
Важно: опишите в комментариях, какой из шагов помог вам — это поможет другим администраторам быстрее находить решение.
Похожие материалы
Kodi на Linux: установка и настройка
Focus на Mac — настройка и советы
Goal Seek в Excel: как найти нужное значение
Как создать файл в Linux — все методы
Документы в Google Chat: создание и доступ