Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

AD Online Patching สำหรับ Oracle E-Business Suite: คู่มือขั้นตอนทีละขั้น

บทนำ

AD Online Patching (adop) Utility ใช้ Apply Patches ให้ Oracle E-Business Suite โดยไม่ต้อง Downtime มาก Patch Cycle ประกอบด้วยหลาย Phases ตาม Diagram

Phases พื้นฐานและ Patch Cycle Steps

ก่อน Apply Patch ใน R12.2: Download Technology Patches, Unzip แล้ว Prepare Patch โดย:

  • Unzip ไปที่ $NE_BASE/EBSapps/patch (adop ตั้ง Environment เอง ไม่ต้อง Source)
  • หรือ Source Patch File System Environment: Source /EBSapps.env run

Syntax: adop phase=

1. Prepare Phase

เตรียมเริ่ม Patch Cycle ใหม่:

$ adop phase=prepare

2. Apply Phase

Apply Patches ไปยัง Patch Edition:

$ source /EBSapps.env patch
$ adop phase=apply patches=123456,789101 workers=8

หมายเหตุ: สามารถ Deploy Customization Changes ใน Phase นี้ได้

3. Finalize Phase

Final Patching Operations (รันได้ขณะ Application Online):

$ adop phase=finalize

4. Cutover Phase

เปลี่ยนไปใช้ Patched Environment:

$ adop phase=cutover

5. Cleanup Phase

ลบ Objects เก่าที่ไม่ต้องการ:

$ adop phase=cleanup

Run All Phases ในคำสั่งเดียว

adop phase=prepare,apply,finalize,cutover,cleanup patches=,

Optional Parameters: actualize_all, cleanup_full, abandon

Clean-up Modes

  • cleanup_mode=quick: Minimum Cleanup (Cross Edition Triggers, Seed Data) ใช้เมื่อต้องเริ่ม Cycle ถัดไปเร็ว
  • cleanup_mode=standard: Quick + Drop Obsolete Editioned Code Objects
  • cleanup_mode=full: Maximum Cleanup (Drop All Obsolete Code/Data จาก Editions ก่อนหน้า)

Optional Phases

Abort Phase

ใช้ได้ก่อน Cutover Phase เท่านั้น หาก Prepare หรือ Apply ล้มเหลว:

$ adop phase=abort

หลัง Abort ต้อง Full Cleanup:

adop phase=cleanup cleanup_mode=full
# หรือรวม: $ adop phase=abort,cleanup cleanup_mode=full

หลัง Abort ต้องรัน fs_clone สร้าง Patch File System ใหม่:

$ adop phase=fs_clone

fs_clone Phase

Sync Patch File System กับ Run File System รันจาก Run File System:

$ source /EBSapps.env RUN
$ adop phase=fs_clone

ถ้าล้มเหลว: force=yes (Restart จากต้น) หรือ force=no (Restart จากจุดล้มเหลว)

Actualize All Phase

เมื่อ Old Database Editions > 25 Performance ลดลง ควร Drop Old Editions:

$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ adop phase=cleanup cleanup_mode=full

ใช้เมื่อไม่มีความเร่งด่วนเริ่ม Cycle ใหม่ ต้องมี DB Patches และ AD-TXK Code Level ล่าสุด

ADOP Command Tips

adop และ Concurrent Manager

Cutover เริ่มด้วยการ Request Concurrent Manager Shutdown รอ In-progress Requests เสร็จ ถ้าไม่ Shutdown ภายใน Time Limit จะ Kill Remaining Requests

# รอ 10 นาที (Default รอตลอดกาล)
adop phase=cutover cm_wait=10

# หยุดและไม่ Enable App Tier Restart Services
adop phase=cutover cm_wait=10 mtrestart=no

adop Hotpatch

Apply Patch ไป Run Edition ขณะ Services ยังรัน ไม่สามารถ Abort ได้

$ adop phase=apply patches= hotpatch=yes

หลัง Hotpatch ต้องรัน phase=cleanup และ phase=fs_clone

Reapply Patch: options=forceapply

Error "Continue As If It Were Successful":

$ adop phase=apply patches= abandon=no restart=yes flags=autoskip

Other Useful Commands

  • Define Workers: adop phase=apply patches= workers=5
  • Define Patchtop: adop phase=apply patches= patchtop=
  • Merge Patches: adop phase=apply patches= merge=yes
  • Restart จาก Failed Session: adop phase=abort → cleanup cleanup_mode=full → fs_clone → reapply
  • Language Patch: adop phase=apply patches=1234456_JA:u123456.drv
  • Non-interactive: adop phase=apply options=nocopyportion patchtop=$XLA_TOP/patch/115 patches=driver:xla123456.drv
  • Skip Failed Workers: adctrl Option #8 → restart=yes
  • Many Failed Jobs: adop restart=no abandon=yes flags=autoskip

สรุป

adop Utility ทำงานได้เพราะ Multiple Application Editions เก็บใน Database และ Dual File Systems (Run/Patch) Run File System เหมือน Single File System ใน Pre-12.2 adop จำเป็นสำหรับ Software Patches แต่ Config Changes ทำได้ทั้ง Run/Patch File System (Auto Sync)