บล็อกนี้อธิบายเกี่ยวกับขั้นตอนยูทิลิตี้ Oracle ® AD Online Patching (adop) ขั้นตอนของกระบวนการแพตช์โปรเซส และคำสั่งและคำแนะนำเกี่ยวกับ adop ที่มีประโยชน์
แนะนำตัว
ยูทิลิตี adop ใช้เพื่อนำแพตช์ไปใช้กับ Oracle E-Business Suite โดยไม่มีการหยุดทำงานของระบบอย่างมีนัยสำคัญ วงจรแพทช์ประกอบด้วยหลายขั้นตอนดังแสดงในแผนภาพต่อไปนี้:
วงจรการแพตช์ออนไลน์ที่มาของรูปภาพ: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
หากต้องการข้ามผู้ปฏิบัติงานที่ล้มเหลว ให้ทำตามขั้นตอนต่อไปนี้:
- ใช้
adctrl
แล้วเลือกตัวเลือก #8 (สิ่งนี้จะไม่ปรากฏให้เห็น) เพื่อข้ามงานที่ล้มเหลว - รีสตาร์ท adop โดยใช้
restart=yes
พารามิเตอร์
หากมีงานที่ล้มเหลวจำนวนมาก คุณควรเริ่มโปรแกรมแก้ไขใหม่ด้วย flags=autoskip
ดังตัวอย่างต่อไปนี้
$ adop restart=no abandon=yes flags=autoskip
คำสั่งนี้จะรีสตาร์ทโปรแกรมแก้ไขและข้ามความล้มเหลวใดๆ ที่เกิดขึ้น ตรวจสอบไฟล์บันทึกที่ส่วนท้ายของแอปพลิเคชันแพตช์เพื่อให้แน่ใจว่าข้ามข้อผิดพลาดที่เหมาะสม
สรุป:
ยูทิลิตี adop เปิดใช้งานเนื่องจากสามารถจัดเก็บรุ่นของแอปพลิเคชันได้หลายรุ่นในฐานข้อมูล และสามารถจัดเตรียมระบบไฟล์ระดับแอปพลิเคชันคู่ได้ เมื่อใดก็ตามที่ระบบไฟล์เหล่านี้ถูกกำหนดให้ทำงาน (ส่วนหนึ่งของระบบที่ทำงานอยู่) และอีกระบบหนึ่งเป็นโปรแกรมแก้ไข ระบบไฟล์ที่รันในปัจจุบันจะปรากฏต่อผู้ใช้เหมือนกับที่ระบบไฟล์ระดับแอปพลิเคชันเดียวทำใน Oracle E-Business Suite ที่เผยแพร่ก่อนเวอร์ชัน 12.2
การมีอยู่ของระบบไฟล์คู่มีผลกระทบต่อแพตช์ที่เปลี่ยนการกำหนดค่าระบบ จำเป็นต้องใช้ยูทิลิตี้ adop เพื่อใช้ซอฟต์แวร์แพตช์กับระบบไฟล์แพตช์ แต่ไม่จำเป็นต้องทำการเปลี่ยนแปลงการกำหนดค่า คุณสามารถเปลี่ยนแปลงการกำหนดค่าให้กับระบบไฟล์ที่รันหรือระบบไฟล์แพตช์ และการซิงโครไนซ์อัตโนมัติจะเกิดขึ้นในทั้งสองกรณีในภายหลัง
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม