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

แก้ไขข้อผิดพลาดทั่วไปของ Oracle AD Online Patching: คู่มือขั้นตอนทีละขั้น

บทนำ

บทความนี้อธิบาย Common Issues และ Solutions สำหรับ Oracle AD Online Patching (adop) Utility:

  • Data Dictionary Corruption Error
  • adop Prepare Failure
  • Forms Object Generation Failure
  • adop Cutover Hang-up
  • Patch Abort

1. Data Dictionary Corruption Error

อาจเกิดเมื่อ adop Prepare Step ล้มเหลว

Error

[EVENT] Verifying data dictionary.
[UNEXPECTED]Data dictionary corrupted: [UNEXPECTED]Data dictionary corruption - missing parent 5608975 ORA$BASE IMAT V_WORKFLOWWORKITEMII VIEW 5608973 ORA$BASE IMAT V_WFSTAGETIME VIEW
[UNEXPECTED]Data dictionary corruption detected. Provide details to Oracle Support...

Cause

Developer Promote Customizations ผิดวิธี ฝ่าฝืน Online Patching Standards

Solution

  1. Run $AD_TOP/sql/ADZDDBCC.sql as apps user ตรวจสอบ Corruption ใน Spool Log
  2. Run $AD_TOP/patch/115/sql/adzddmpfix.sql as sys user แก้ไข Corruption (ตัวอย่าง: Fixed 12 Objects)
    SQL> @adzddmpfix.sql
    "---- Fixing Data Dictionary Corruptions (missing parent) ----"
    12 rows deleted. Commit complete. System altered.
    "---- Compiling invalids ----"
    PL/SQL procedure successfully completed. Commit complete.
  3. Run ADZDDBCC.sql อีกครั้ง ตรวจสอบว่า Corruption หายไปหรือยัง
    • ไม่มี Corruption → ดำเนินต่อ
    • ยังมี → ติดต่อ Oracle Support, Log Bug
  4. Retry adop Prepare Step

2. adop Prepare Failure

บางครั้ง Prepare Step ล้มเหลว (Oracle Bug)

Error

Lines #(47-50): runMSSrvPortsVal : oacore_server1:7252
ERROR: Run fs Context variable s_oacore_server_ports value cannot be NULL for oacore_server2
ERROR: Derived Patch managed server oacore_server2 port : NULL
ERROR: Failed to clone Run Context file to refresh Patch context file

Solution

  1. เปลี่ยน Target Server/SID ใน Code ตาม Error แล้วรัน:
    perl $AD_TOP/patch/115/bin/adProvisionEBS.pl \
     ebs-delete-managedserver \
     -contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml
     -managedsrvname=oacore_server2 -servicetype=oacore
     -logfile=$APPLRGF/TXK/delMS_oacore_server2.log
    
    perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl
     -contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml
     -configoption=removeMS -oacore=server.cm.charter.com:7252
  2. Retry adop Prepare

3. Forms Object Generation Failure

Apply Patches ด้วย adop phase=apply patches=123456 Forms Objects อาจไม่ Generate สำเร็จ ทำให้ Session หยุดโดยไม่แสดง Prompt Patch continue prompt Y/N

Error

inv forms/US INVMWBIV.fmx

Solution

Restart Failed Patch Session จาก Patch Directory:

cd /apps1/SID/fs_ne/EBSapps/patch
adop phase=apply patches=20609071 restart=yes flags=autoskip

4. adop Cutover Hang

ถ้า Cutover Hang หรือ Server Crash/Reboot ระหว่าง Cutover:

Solution

  1. ตรวจสอบไม่มี Services/Processes รันจาก PATCH File System
  2. ตรวจสอบ WebLogic Admin Server และ Node Manager รันบน Run File System:
    $ adadminsrvctl.sh status
    $ adnodemgrctl.sh status
  3. รันคำสั่ง:
    $ adop phase=abort
    $ adop phase=cleanup cleanup_mode=full
    $ adop phase=fs_clone force=yes
  4. รัน Empty adop Cycle ทดสอบ Cutover:
    $ adop phase=prepare,finalize,cutover,cleanup cleanup_mode=full
  5. เริ่ม Fresh adop Prepare และ Apply Patches
  6. หลัง Apply เสร็จ ทำ Finalize, Cutover, Cleanup ต่อ

5. Patch Abort

ถ้า Patch Cycle ล้มเหลวและแก้ไขไม่ออก ให้ Abort และกลับสู่ Normal Operation (Drop Patch Edition)

Abort Command (ก่อน Cutover เท่านั้น)

$ adop phase=abort

สำคัญ: ใช้ได้ก่อน Cutover สำเร็จเท่านั้น หลัง Cutover ระบบรันบน New Edition Abort ไม่ได้

หลัง Abort ต้อง Cleanup (Full) และ fs_clone ก่อนเริ่ม Cycle ใหม่:

$ adop phase=prepare
$ adop phase=apply patches=123456
[ปัญหาเกิดขึ้น ต้องการ Abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

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

หมายเหตุ: ไม่สามารถ Abort Hotpatch Mode ได้ (adop phase=apply apply_mode=hot patch)

สรุป

Known Issues และ Solutions นี้ช่วย DBA เมื่อเจอปัญหาเหล่านี้หรือปัญหาแบบคล้ายคลึง