1. Does Online Patching require the 11gR2 Oracle Database Edition Based Redefinition (EBR) feature?
Yes. Online patching depends on the Edition Based Redefinition (EBR) feature that was introduced in the Oracle
11gR2 Database. Most notably, EBR allows editioning of code objects in the database. To do this, it provides new object types such as
editions, editioning views, and cross-edition triggers, all of which are part of the Online Patching infrastructure.
2. What are the phases that make up the Online Patching cycle?
打补丁的各个阶段是可以分开实施的, CUTOVER可以在闲时再执行 (命令如adop phase=cutover)
The Online Patching cycle consists of the following phases:
1. Prepare a virtual copy (patch edition) of the running application (run edition).
2. Apply patches to the patch edition of the application.
3. Finalize the system in readiness for the cutover phase.
4. Cutover to the patch edition and make it the new run edition.
5. Cleanup obsolete definitions or data to recover space.
3. What downtime is required during an Online Patching cycle?
The cutover phase requires a short period of downtime (typically a few minutes) for transition tasks such as a restart of the application tier services.
Cutover切换阶段需要停服务几分钟。这里是切换patch fs 与 runtime fs, 而不是同步,两个file system同步要到下次
prepare阶段。 两个file system是不能同时运行的 ( Cutover先切换db edition然后是app file system)。
Once an online patch is applied, services must be started from the right RUN File system only. Both the file systems are not equal any more. ADOP manages the file sync, creating editions, etc and finally invokes adpatch to patch the PATCH environment. ADOP always patches the $PATCH_BASE, while application is running out of $RUN_BASE. Once patching $PATCH_BASE is complete, we need to flip $PATCH_BASE into $RUN_BASE and $RUN_BASE into $PATCH_BASE. This is known as cutover phase in ADOP. This still needs downtime/outage.
Cutover Phase包含一下过程 :
1.Finalize (cutover也包括了finalize phase, 提前进行finalize可以节省cutover的时间)
2.Application Tier Services Switch
3.Database Cutover
4.File System Cutover
5.Retire Old Editions
6.Terminate Old Database Sessions
7.Application Tier Services Switch
因为数据库表的特殊性(size过大,不像应用code那么小),所以需要在cutover之前进行同步 (同步指的是runtime版本的table
中的变化数据通过trigger同步到patch版本的table中,反过来,patch apply带来的变更仅仅在patch版本的table中进行,不会同步
实施到runtime版本的table), 不像APP两套file system,patch apply期间不同步, 到了Cutover 阶段再进行交换 。
本文转自ITPUB博客tolywang的博客,原文链接:EBS R12.2 Online Patching(ADOP)及Oracle EBR - 1,如需转载请自行联系原博主。