Online патч - это патч, который устанавливается, пока экземпляр БД находится в запущенном состоянии. Таким образом online-патч, модифицирует образ Oracle в памяти (т.е. экземпляр), при этом сами бинарные файлы не модифицируются!
Установка патча в online рекомендуется для того, чтобы избежать лишней остановки работы пользователей БД (тем самым уменьшая unplanned downtime).
Устанавливаетя combo-патч в online c помощью следующего вызова утилиты opatch:
opatch apply online -connectString SID:USERNAME:PASSWORDили в случае c RAC:
opatch apply online -connectString SID:USERNAME:PASSWORD:NODE1,SID2:USERNAME:PASSWORD:NODE2,...
Обрати внимание что при установке патча в online нужно указывать экземпляр, так в
общем случае нужно знать на какой из них накатывать патч !
Как обычно, команда
opatch lsinventoryотображает информацию о установленных патчах в том числе и об online-патчах.
После установки online-патча файлы .pch (это бинарный файл online патча - представляет из себя специальную разделяемую библиотеку) находятся в каталоге $ORACLE_HOME/hpatch/ .
Информация о том, какие online патчи установлены для экземпляра, содержится в файле
$ORACLE_HOME/hpatch/orapatch$ORACLE_SID.cfg
После перезагрузки экземпляра все online-патчи, описанные в этом файле, снова применяются к экземпляру.
Откатывается online-патч также на лету (без останова экземпляра):
opatch rollback -id PATCHID -connectString SID:USERNAME:PASSWORDили в случае c RAC:
opatch rollback -id PATCHID -connectString SID:USERNAME:PASSWORD:NODE1,SID2:USERNAME:PASSWORD:NODE2, ...
Online-патчи увеличивают объём используемой памяти PGA, что в конечном счёте также влияет и на скорость запуска процессов.
Расчитать требуемый дополнительный объём оперативной памяти можно по этой формуле:
memory overhead = ( # of processes +1) x size of ( .pch file)
Offline-патчи - это обычные, хорошо знакомые вам патчи, которые требует останова экземплыра и пересборки (relink) RDBMS.
Поскольку Online-патчи имеют накладные расходы на использования памяти, следует в ближайшее удобное для downtime время, откатить-online патч и накатить offline-патч.
Ещё одно из применение online патчей - когда администратору БД необходимо быстро выполнить на тестовом окружении проверку, решает ли данный патч возникшую проблему или нет. Быстро, без перезагрузки тестового экземпляра и без долгого ожидания перелинковки бинарников, как это происходит при накате обычных offline-патчей.
Демонстрацию установки патчей в online можно посмотреть здесь.
Демонстрация выполнена на примере патча 9620994 (это combo-патч), необходимого для установки 1С на 11.2.0.2
Обновление бинарного приложения на лету - феноменально сложная задача. И то что это было сделано для такого сложного приложения как Oracle RDBMS, по-моему просто фантастика !
А если у меня в ORACLE_HOME две базы, одну я пропатчил в онлайн, а вторую не трогал, то при перезагрузке второй, у меня патч применится?
ОтветитьУдалитьВы невнимательно читали пост
ОтветитьУдалитьПри накате патча вы указываете к какому именно экземпляру он применяется:
opatch apply online -connectString SID:USERNAME:PASSWORD
Соответственно в файле orapatch$ORACLE_SID.cfg будет содеражатся список online-патчей примененных к конкрентному экземпляру!