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

AD Online Patching ในแอปพลิเคชัน Oracle

บล็อกนี้อธิบายเกี่ยวกับขั้นตอนยูทิลิตี้ Oracle ® AD Online Patching (adop) ขั้นตอนของกระบวนการแพตช์โปรเซส และคำสั่งและคำแนะนำเกี่ยวกับ adop ที่มีประโยชน์

แนะนำตัว

ยูทิลิตี adop ใช้เพื่อนำแพตช์ไปใช้กับ Oracle E-Business Suite โดยไม่มีการหยุดทำงานของระบบอย่างมีนัยสำคัญ วงจรแพทช์ประกอบด้วยหลายขั้นตอนดังแสดงในแผนภาพต่อไปนี้:

AD Online Patching ในแอปพลิเคชัน Oracle วงจรการแพตช์ออนไลน์

ที่มาของรูปภาพ:https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531065.htm

ขั้นตอน adop พื้นฐานและขั้นตอนของวงจรแพตช์

ก่อนที่จะใช้โปรแกรมแก้ไขใน Oracle R12.2 โดยใช้กระบวนการ adop ให้ดาวน์โหลดโปรแกรมแก้ไขเทคโนโลยีที่จำเป็นและเปิดเครื่องรูดเนื้อหา จากนั้นเตรียมโปรแกรมแก้ไขโดยทำตามขั้นตอนต่อไปนี้:

  • คุณสามารถคลายซิปเนื้อหาแพตช์ลงใน $NE_BASE/EBSapps/patch เนื่องจากยูทิลิตี adop ตั้งค่าสภาพแวดล้อมของตัวเอง คุณจึงไม่จำเป็นต้องระบุแหล่งที่มาของสภาพแวดล้อมก่อนที่จะเรียกใช้

หรือ

  • ตั้งค่าสภาพแวดล้อมโดยเรียกใช้ (หรือจัดหา) ไฟล์สภาพแวดล้อมของระบบไฟล์แพตช์โดยใช้รหัสต่อไปนี้:

      Source <EBS install base>/EBSapps.env run
    

การแพตช์ออนไลน์ประกอบด้วยหลายขั้นตอน ซึ่งระบุไว้ในบรรทัดคำสั่ง adop โดยใช้ไวยากรณ์ต่อไปนี้:

adop phase=<phase_name>

ระยะเตรียมการ

เตรียมเริ่มต้นรอบการแพทช์ออนไลน์ใหม่โดยใช้คำสั่งต่อไปนี้:

$ adop phase=prepare

สมัครเฟส

ใช้โปรแกรมแก้ไขอย่างน้อยหนึ่งรายการกับรุ่นโปรแกรมแก้ไขของระบบ Oracle E-Business Suite โดยดำเนินการคำสั่งต่อไปนี้:

$ source <EBS install base>/EBSapps.env patch
$ adop phase=apply patches=123456,789101 workers=8

หมายเหตุ: คุณยังสามารถปรับใช้การเปลี่ยนแปลงการปรับแต่งทั้งหมดได้ในขั้นตอนการสมัคร

สิ้นสุดเฟส

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

$ adop phase=finalize

เฟสตัด

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

$ adop phase=cutover

ระยะการล้าง

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

$ adop phase=cleanup

เรียกใช้เฟสทั้งหมดด้วยคำสั่งเดียว

รันเฟสทั้งหมดในคำสั่งเดียวโดยใช้ไวยากรณ์ต่อไปนี้:

adop phase=prepare,apply,finalize,cutover,cleanup patches=<patch_number1>,<patch_number2>

นอกจากนี้ยังอาจใช้พารามิเตอร์ทางเลือกต่อไปนี้:

actualize_all :เปิดใช้งานอ็อบเจ็กต์ทั้งหมดในแพตช์เอดิชันcleanup_full :ล้างข้อมูลและปล่อยรุ่นเก่าละทิ้ง :ละทิ้งแพตช์ที่ล้มเหลว

โหมดล้างข้อมูล

ใช้โหมดการล้างข้อมูลต่อไปนี้ตามต้องการ:

  • cleanup_mode=เร็ว – ดำเนินการล้างข้อมูลขั้นต่ำ รวมถึงลบทริกเกอร์ข้ามรุ่นที่ล้าสมัยและข้อมูลเมล็ดพันธุ์ ใช้การล้างข้อมูลอย่างรวดเร็วเมื่อคุณต้องการเริ่มการแพทช์รอบถัดไปโดยเร็วที่สุด

  • cleanup_mode=standard – ทำเช่นเดียวกับโหมดด่วนและดรอป (ลบ) ออบเจ็กต์โค้ดที่ล้าสมัย (ออบเจ็กต์ที่ปกปิด)

  • cleanup_mode=full – ดำเนินการล้างข้อมูลสูงสุด ซึ่งจะลบโค้ดที่ล้าสมัยและข้อมูลจากรุ่นก่อนหน้าทั้งหมด

เฟสเสริม

ใช้เฟสในส่วนนี้ได้ตามต้องการ

ยกเลิกเฟส

คุณไม่สามารถระบุเฟสยกเลิก เฟสแบบมีเงื่อนไข กับเฟสอื่นได้

หากเฟสการจัดเตรียมหรือนำไปใช้ล้มเหลวด้วยเหตุผลบางประการ คุณสามารถยกเลิกวงจรการแพทช์ที่จุดใดจุดหนึ่งเหล่านี้ได้โดยการรันเฟสพิเศษด้วยคำสั่ง theabort การกระทำที่ทำไปก่อนหน้านี้จะถูกยกเลิก (หรือย้อนกลับ)

คำสั่ง abort ใช้ได้เฉพาะ (แต่ไม่รวม) เฟสคัตโอเวอร์ หลังจากตัดโอเวอร์ ระบบจะทำงานในเวอร์ชันใหม่ และไม่สามารถยกเลิกได้สำหรับรอบการแพตช์นั้นอีกต่อไป

ดำเนินการยกเลิกโดยใช้คำสั่งต่อไปนี้:

$ adop phase=abort

หลังจากเรียกใช้การยกเลิก คุณต้องดำเนินการล้างข้อมูลทั้งหมด ทางเลือกหนึ่งคือใช้คำสั่งต่อไปนี้:

adop phase=cleanup cleanup_mode=full

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

$ adop phase=abort,cleanup cleanup_mode=full

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

$ adop phase=fs_clone

เฟส fs_clone

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

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

$ source <EBS install base>/EBSapps.env RUN
$ adop phase=fs_clone

หากการดำเนินการ fs_clone ล้มเหลว คุณสามารถเรียกใช้อีกครั้งโดยใช้ตัวเลือก force=yes เพื่อเริ่มกระบวนการใหม่ตั้งแต่ต้น (ด้วย ID เซสชันเดียวกัน) หรือforce=no เพื่อเริ่มกระบวนการใหม่จากจุดที่ล้มเหลว

เปิดใช้งานทุกเฟส

เมื่อวงจรการแพตช์ออนไลน์แต่ละรอบเสร็จสิ้น ฐานข้อมูลจะสะสมรุ่นฐานข้อมูลเก่าเพิ่มเติม เมื่อจำนวนเพิ่มขึ้น ประสิทธิภาพของระบบก็แย่ลง เมื่อจำนวนของฐานข้อมูลรุ่นเก่าเกิน 25 คุณควรพิจารณาทิ้งรุ่นฐานข้อมูลเก่าโดยเรียกใช้ adop actualize_all ขั้นตอนแล้วทำการล้างข้อมูลทั้งหมด

ขั้นตอนนี้ใช้เวลานานกว่ารอบการแพตช์ปกติอย่างมาก และควรทำเมื่อไม่จำเป็นต้องเริ่มรอบการแพตช์ใหม่ทันที

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าระบบมีโปรแกรมแก้ไขฐานข้อมูลที่แนะนำ และติดตั้งระดับรหัส AD-TXK ล่าสุดแล้ว

หากต้องการดำเนินการต่อ ให้รันคำสั่งต่อไปนี้ตามลำดับ:

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

เคล็ดลับคำสั่ง adop

ส่วนนี้แสดงคำสั่งยูทิลิตี้ adop ที่มีประโยชน์บางส่วน

adop และผู้จัดการพร้อมกัน

ผู้จัดการที่ทำงานพร้อมกันของ Oracle มีหน้าที่หลักในการทำให้มั่นใจว่าแอปพลิเคชันจะไม่ถูกครอบงำด้วยการควบคุมการไหลของคำขอ

Adop cutover เริ่มต้นด้วยการร้องขอการปิดตัวจัดการพร้อมกัน จากนั้นรอให้คำขอที่อยู่ระหว่างดำเนินการเสร็จสิ้น

หากตัวจัดการพร้อมกันไม่ปิดตัวภายในเวลาที่กำหนด คำขอที่เกิดขึ้นพร้อมกันที่เหลือจะถูกฆ่าและการตัดจะดำเนินต่อไป

ในการระบุระยะเวลาที่จะรอให้กระบวนการทำงานพร้อมกันที่มีอยู่เสร็จสิ้นก่อนที่จะปิดตัวจัดการภายในพร้อมกัน (ตัวจัดการหลัก) ให้เรียกใช้cutover cm_wait สั่งการ. ในตัวอย่างต่อไปนี้ cm_wait เวลา 10 นาที โดยค่าเริ่มต้น adop จะรออย่างไม่มีกำหนดเพื่อให้คำขอที่เกิดขึ้นพร้อมกันที่อยู่ระหว่างดำเนินการเสร็จสิ้น

adop phase=cutover cm_wait=10

mtrestart=no คำสั่งหยุดและไม่ได้เปิดใช้งานบริการรีสตาร์ทระดับแอปพลิเคชัน ดังที่แสดงในตัวอย่างต่อไปนี้:

adop phase=cutover cm_wait=10 mtrestart=no

adop hotpatch

ในโหมด hotpatch นั้น adop จะใช้ patch กับรุ่น run ในขณะที่ applicationservices ยังคงทำงานอยู่ ในโหมดนี้ กระบวนการแก้ไขไม่สามารถยกเลิกได้

ตัวอย่างต่อไปนี้เริ่มต้นโปรแกรมแก้ไขในโหมด hotpatch:

$ adop phase=apply patches=<patch_list> hotpatch=yes

หลังจากใช้โปรแกรมแก้ไขด่วน อย่าลืมเรียกใช้ทั้ง phase=cleanup และphase=fs_clone เพื่อซิงโครไนซ์ระบบไฟล์ที่รันกับระบบไฟล์แพตช์ เพื่อให้แน่ใจว่าทุกอย่างพร้อมสำหรับรอบการแพตช์ถัดไป

หากคุณต้องการสมัครโปรแกรมแก้ไขใหม่ คุณต้องใช้ options-forceapply พารามิเตอร์ดังตัวอย่างต่อไปนี้:

$ adop phase=apply patches=<patch list> hotpatch=yes options=forceapply

หากคุณได้รับ Continue As If It Were Successful ผิดพลาด เรียกใช้คำสั่งต่อไปนี้เพื่อดำเนินการแก้ไข:

$ adop phase=apply patches=<patch list> abandon=no restart=yes flags=autoskip

คำสั่ง adop ที่มีประโยชน์อื่นๆ

รายการต่อไปนี้ประกอบด้วยตัวดำเนินการยูทิลิตี้ adop ที่เป็นประโยชน์มากมาย:

ในการกำหนดผู้ปฏิบัติงาน:

$ adop phase=apply patches=<patch list> workers=5

วิธีกำหนด patchtop:

$ adop phase=apply patches=<patch list> patchtop=<patch location base>

วิธีผสานแพตช์:

$ adop phase=apply patches=<patch list> merge=yes

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

$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

วิธีสมัครโปรแกรมแก้ไขภาษา:

$ adop phase=apply patches=1234456_JA:u123456.drv

วิธีใช้ Adop แบบไม่โต้ตอบกับ patchtop และไดรเวอร์ที่กำหนด:

$ adop phase=apply options=nocopyportion patchtop=$XLA_TOP/patch/115 patches=driver:xla123456.drv

หากต้องการข้ามผู้ปฏิบัติงานที่ล้มเหลว ให้ทำตามขั้นตอนต่อไปนี้:

  1. ใช้ adctrl แล้วเลือกตัวเลือก #8 (สิ่งนี้จะไม่ปรากฏให้เห็น) เพื่อข้ามงานที่ล้มเหลว
  2. รีสตาร์ท adop โดยใช้ restart=yes พารามิเตอร์

หากมีงานที่ล้มเหลวจำนวนมาก คุณควรเริ่มโปรแกรมแก้ไขใหม่ด้วย flags=autoskip ดังตัวอย่างต่อไปนี้

$ adop restart=no abandon=yes flags=autoskip

คำสั่งนี้จะรีสตาร์ทโปรแกรมแก้ไขและข้ามความล้มเหลวใดๆ ที่เกิดขึ้น ตรวจสอบไฟล์บันทึกที่ส่วนท้ายของแอปพลิเคชันแพตช์เพื่อให้แน่ใจว่าข้ามข้อผิดพลาดที่เหมาะสม

สรุป:

ยูทิลิตี adop เปิดใช้งานเนื่องจากสามารถจัดเก็บรุ่นของแอปพลิเคชันได้หลายรุ่นในฐานข้อมูล และสามารถจัดเตรียมระบบไฟล์ระดับแอปพลิเคชันคู่ได้ เมื่อใดก็ตามที่ระบบไฟล์เหล่านี้ถูกกำหนดให้ทำงาน (ส่วนหนึ่งของระบบที่ทำงานอยู่) และอีกระบบหนึ่งเป็นโปรแกรมแก้ไข ระบบไฟล์ที่รันในปัจจุบันจะปรากฏต่อผู้ใช้เหมือนกับที่ระบบไฟล์ระดับแอปพลิเคชันเดียวทำใน Oracle E-Business Suite ที่เผยแพร่ก่อนเวอร์ชัน 12.2

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

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