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

ข้อผิดพลาดและการแก้ไข Oracle AD Online Patching

เผยแพร่ครั้งแรกโดย Tricore:14 ส.ค. 2017

บล็อกนี้อธิบายปัญหาทั่วไปและวิธีแก้ไขสำหรับยูทิลิตี้ Oracle® AD Online Patching (adop):

  • ข้อผิดพลาดของพจนานุกรมข้อมูลเสียหาย
  • adop เตรียมล้มเหลว
  • ฟอร์มล้มเหลวในการสร้างวัตถุ
  • ใช้คัตโอเวอร์วางสาย
  • ยกเลิกโปรแกรมแก้ไข

ข้อผิดพลาดพจนานุกรมข้อมูลเสียหาย

ข้อผิดพลาดความเสียหายของพจนานุกรมข้อมูลอาจเกิดขึ้นเมื่อ adop เตรียม stepfails

ข้อผิดพลาด

ข้อผิดพลาดต่อไปนี้อาจแตกต่างกันไปตามสภาพแวดล้อม

[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
5608973 ORA$BASE        IMAT            V_WFSTAGETIME                  VIEW
[UNEXPECTED]Data dictionary corruption detected. Provide details to
[UNEXPECTED]Oracle Support and ask for a bug to be opened against the
[UNEXPECTED]Online Patching component of Oracle Application Install.

/apps1/SID/fs_ne/EBSapps/log/adop/18/adop_xxxxx_xxxxx.log:

สาเหตุ

ปัญหาพจนานุกรมข้อมูลนี้เกิดขึ้นเมื่อนักพัฒนาส่งเสริมการปรับแต่งอย่างไม่เหมาะสม ซึ่งละเมิดมาตรฐานการแพตช์ออนไลน์

โซลูชัน

ในการแก้ไขความเสียหายของพจนานุกรมข้อมูล (ไม่มีพาเรนต์) ให้ทำตามขั้นตอนต่อไปนี้:

  1. เรียกใช้ $AD_TOP/sql/ADZDDBCC.sql สคริปต์เป็น apps user เพื่อยืนยันว่ามีความเสียหายของพจนานุกรมข้อมูลเชิงตรรกะหรือไม่ ตรวจสอบความเสียหายในบันทึกสปูล

  2. เรียกใช้สคริปต์ $AD_TOP/patch/115/sql/adzddmpfix.sql เป็น sys user เพื่อแก้ไขการทุจริต ในตัวอย่างต่อไปนี้ มีการแก้ไขวัตถุเสียหาย 12 รายการ

     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. เรียกใช้ $AD_TOP/sql/ADZDDBCC.sql สคริปต์อีกครั้งในฐานะ apps user เพื่อตรวจสอบว่าความเสียหายของพจนานุกรมข้อมูลเชิงตรรกะยังคงมีอยู่หรือไม่ หากไม่พบความเสียหาย ให้ดำเนินการอัปเกรดหรือใช้ patching-cycle.b หากยังคงมีความเสียหายอยู่ โปรดติดต่อ Oracle Support และบันทึกจุดบกพร่อง

  4. หลังจากแก้ไขปัญหาแล้ว ให้ลองทำตามขั้นตอนการเตรียม adop อีกครั้ง

adop เตรียมล้มเหลว

ในบางครั้ง ขั้นตอนการเตรียม adop ล้มเหลว ส่วนนี้แสดงข้อผิดพลาดในการจัดเตรียมและวิธีแก้ไขที่เป็นไปได้หนึ่งข้อ

ข้อผิดพลาด

ข้อผิดพลาดในการจัดเตรียม adop ต่อไปนี้เป็นข้อบกพร่องของ Oracle:

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

โซลูชัน

ในการแก้ไขข้อผิดพลาดนี้ ให้ทำตามขั้นตอนต่อไปนี้:

  1. เปลี่ยนเซิร์ฟเวอร์เป้าหมายตัวอย่างและ SID ในตัวอย่างโค้ดต่อไปนี้เป็นพอร์ตและพาธที่รายงานในข้อผิดพลาด และรันโค้ดเพื่อแก้ไขปัญหานี้

     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. ลองใช้ adop อีกครั้งหลังจากใช้การแก้ไขแล้ว

ฟอร์มล้มเหลวในการสร้างวัตถุ

บางครั้ง เมื่อใช้แพตช์กับ adop phase=apply patches=123456 ออบเจ็กต์ theforms อาจไม่สร้างสำเร็จ ซึ่งทำให้เซสชัน adop หยุดทำงานโดยไม่แสดง Patch continue prompt Y/N .

ข้อผิดพลาด

ตัวอย่างเช่น ออบเจ็กต์ Oracle Forms ต่อไปนี้สร้างไม่สำเร็จ:

inv     forms/US        INVMWBIV.fmx

โซลูชัน

รีสตาร์ทเซสชันแพตช์ที่ล้มเหลวจากไดเร็กทอรีแพตช์ด้วยคำสั่งต่อไปนี้:

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

adop cutover ค้าง

หาก adop cutover ค้างหรือเซิร์ฟเวอร์มีปัญหาการหยุดทำงานหรือรีบูตในช่วงกลางของระยะการตัดของ adop ให้ทำตามขั้นตอนต่อไปนี้เพื่อแก้ไขปัญหา จากนั้นดำเนินการตามกระบวนการแก้ไข

โซลูชัน

  1. ตรวจสอบให้แน่ใจว่าไม่มีบริการหรือกระบวนการทำงานจากระบบไฟล์ PATCH

  2. ตรวจสอบให้แน่ใจว่า Weblogic Admin Server และ Node Manager กำลังทำงานอยู่บนระบบ runfile ดำเนินการคำสั่งต่อไปนี้เพื่อตรวจสอบสถานะ:

     $ adadminsrvctl.sh status
     $ adnodemgrctl.sh status
    
  3. ดำเนินการคำสั่งต่อไปนี้:

     $ adop phase=abort
     $ adop phase=cleanup cleanup_mode=full
     $ adop phase=fs_clone force=yes
    
  4. เรียกใช้ adop cycle ที่ว่างเปล่าเพื่อให้แน่ใจว่าไม่มีปัญหาใน adop cutover โดยดำเนินการคำสั่งต่อไปนี้:

     $adop phase=prepare, finalize, cutover, cleanup cleanup_mode=full
    
  5. เริ่ม adp ใหม่ เตรียมตัวและใช้แพทช์

  6. หลังจากใช้ขั้นตอนแล้ว ให้ทำตามขั้นตอนที่เหลือให้เสร็จสิ้น ซึ่งรวมถึงขั้นสุดท้าย การตัดขอบ และการล้างข้อมูล

ยกเลิกโปรแกรมแก้ไข

หากรอบการแพตช์ล้มเหลวและคุณไม่สามารถแก้ไขปัญหาได้อย่างรวดเร็ว คุณสามารถยกเลิกรอบการแพตช์และกลับสู่การทำงานรันไทม์ปกติ ซึ่งจะทำให้รุ่นแพตช์ลดลง

คุณสามารถละทิ้งวงจรการแพตช์ (โดยไม่ต้องใช้แพตช์ใดๆ) โดยเรียกใช้คำสั่งต่อไปนี้:

$ adop phase=abort

สำคัญ: คุณสามารถใช้คำสั่งนี้ได้เฉพาะก่อนที่จะเสร็จสิ้นขั้นตอนการตัดผ่าน หลังจากการตัดทอน ระบบกำลังทำงานในฉบับใหม่และ abort ใช้คำสั่งไม่ได้อีกต่อไปสำหรับรอบการแพตช์นั้น

การยกเลิกรอบการแพตช์จะทำให้รุ่นแพตช์หยุดทำงาน แต่คุณต้องรันเฟสการล้างข้อมูลและ fs_clone ก่อนเริ่มรอบการแพตช์ใหม่ การล้างข้อมูลจะต้องเป็นการล้างข้อมูลทั้งหมด ตัวอย่างต่อไปนี้แสดงให้เห็นถึงลำดับเหตุการณ์:

$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

คุณสามารถเลือกรวมคำสั่งยกเลิกและล้างข้อมูลตามที่แสดงในคำสั่งต่อไปนี้:

$ adop phase=abort,cleanup cleanup_mode=full

หมายเหตุ: คุณไม่สามารถยกเลิกโปรแกรมแก้ไขที่ใช้ในโหมด hotpatch(adop phase=apply apply_mode=hot patch )

บทสรุป

ชุดของปัญหาที่ทราบและวิธีแก้ปัญหาสำหรับยูทิลิตี้ adop นี้สามารถช่วยเหลือผู้ดูแลระบบฐานข้อมูลได้เมื่อมีปัญหาเหล่านี้หรือปัญหาที่คล้ายกัน

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม