Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

AD Online Patching Cho Oracle E-Business Suite: Hướng Dẫn Bước Đi

Giới thiệu

Blog này mô tả các giai đoạn của tiện ích Oracle AD Online Patching (adop), các bước quy trình patch, và một số lệnh adop hữu ích cùng mẹo.

Tiện ích adop được dùng để áp dụng patch cho Oracle E-Business Suite mà không có downtime hệ thống đáng kể. Chu kỳ patch bao gồm một số giai đoạn như được hiển thị trong sơ đồ sau:

Hình ảnh: Chu kỳ online patching
Nguồn: https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531065.htm

Các giai đoạn adop cơ bản và bước chu kỳ patch

Trước khi áp dụng patch trong Oracle R12.2 bằng quy trình adop, tải xuống các technology patches cần thiết và giải nén nội dung. Sau đó chuẩn bị patch bằng một trong các bước sau:

  • Bạn có thể giải nén nội dung patch vào $NE_BASE/EBSapps/patch. Vì tiện ích adop tự thiết lập môi trường riêng, bạn không cần source môi trường trước khi chạy nó.
  • Hoặc thiết lập môi trường bằng cách thực thi (hoặc source) file môi trường patch file system:
    Source <EBS install base>/EBSapps.env run

Một online patching bao gồm một số giai đoạn, được chỉ định trên dòng lệnh adop bằng cú pháp:

adop phase=<phase_name>

Giai đoạn Prepare (Chuẩn bị)

Chuẩn bị bắt đầu chu kỳ online patching mới bằng lệnh:

$ adop phase=prepare

Giai đoạn Apply (Áp dụng)

Áp dụng một hoặc nhiều patch cho patch edition của hệ thống Oracle E-Business Suite bằng lệnh:

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

Lưu ý: Bạn cũng có thể triển khai tất cả thay đổi tùy chỉnh (customization) trong giai đoạn apply.

Giai đoạn Finalize (Hoàn tất)

Thực hiện các hoạt động patching cuối cùng trong giai đoạn này bằng lệnh (có thể thực thi khi ứng dụng vẫn online):

$ adop phase=finalize

Giai đoạn Cutover (Chuyển đổi)

Chuyển sang môi trường đã patch bằng lệnh:

$ adop phase=cutover

Giai đoạn Cleanup (Dọn dẹp)

Loại bỏ các đối tượng cũ không còn cần thiết từ quy trình patch bằng lệnh:

$ adop phase=cleanup

Chạy tất cả giai đoạn trong một lệnh duy nhất

Chạy tất cả giai đoạn trong một lệnh bằng cú pháp:

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

Các tham số tùy chọn sau cũng có thể được dùng:

  • actualize_all: Actualize tất cả đối tượng trong patch edition.
  • cleanup_full: Cleanup và drop các edition cũ.
  • abandon: Bỏ qua các patch thất bại.

Các chế độ Clean-up (Clean-up modes)

Sử dụng các chế độ clean-up sau theo nhu cầu:

  • cleanup_mode=quick – Thực hiện cleanup tối thiểu, bao gồm loại bỏ obsolete cross edition triggers và seed data. Dùng quick cleanup khi bạn cần bắt đầu chu kỳ patching tiếp theo sớm nhất.
  • cleanup_mode=standard – Làm giống quick mode và cũng drop (loại bỏ) obsolete editioned code objects (covered objects).
  • cleanup_mode=full – Thực hiện cleanup tối đa, drop tất cả code và data cũ từ các edition trước.

Các giai đoạn tùy chọn (Optional phases)

Giai đoạn Abort (Hủy bỏ)

Bạn không thể chỉ định giai đoạn abort, một giai đoạn có điều kiện, với bất kỳ giai đoạn nào khác.

Nếu vì lý do nào đó giai đoạn prepare hoặc apply thất bại, bạn có thể hủy chu kỳ patching tại một trong hai điểm này bằng cách chạy một giai đoạn đặc biệt với lệnh abort. Các hành động trước đó sẽ bị loại bỏ (hoặc rollback).

Lệnh abort chỉ có sẵn cho đến (nhưng không bao gồm) giai đoạn cutover. Sau cutover, hệ thống chạy trên edition mới, và abort không còn có thể cho chu kỳ patching đó.

Thực hiện abort bằng lệnh:

$ adop phase=abort

Sau khi chạy abort, bạn phải thực hiện full cleanup. Một tùy chọn là dùng lệnh:

adop phase=cleanup cleanup_mode=full

Bạn có thể chạy cả abort và cleanup cùng lúc bằng lệnh kết hợp:

$ adop phase=abort,cleanup cleanup_mode=full

Sau khi hủy bỏ việc áp dụng patch cho patch edition, bạn phải chạy lệnh fs_clone sau để tái tạo patch file system:

$ adop phase=fs_clone

Giai đoạn fs_clone

Giai đoạn fs_clone đồng bộ hóa patch file system với run file system. Giai đoạn fs_clone chỉ nên chạy khi được đề cập như một phần của thủ tục có tài liệu cụ thể.

Bạn phải gọi lệnh này từ run file system, trước khi chạy giai đoạn prepare tiếp theo, như các lệnh sau:

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

Nếu hoạt động fs_clone thất bại, bạn có thể chạy lại với tùy chọn force=yes để khởi động lại quy trình từ đầu (với cùng session ID) hoặc force=no để khởi động lại từ điểm thất bại.

Giai đoạn Actualize All

Khi mỗi chu kỳ online patching hoàn tất, database tích lũy thêm các database edition cũ. Khi số lượng tăng lên, hiệu suất hệ thống xấu đi. Khi số edition cũ vượt quá 25, bạn nên cân nhắc drop các edition cũ bằng cách chạy giai đoạn adop actualize_all và sau đó thực hiện full cleanup.

Thủ tục này kéo dài đáng kể lâu hơn chu kỳ patching bình thường và chỉ nên thực hiện khi không có nhu cầu ngay lập tức bắt đầu chu kỳ patching mới.

Trước khi bắt đầu, đảm bảo hệ thống có các database patches khuyến nghị và latest AD-TXK code level đã cài đặt.

Để tiếp tục, chạy các lệnh sau theo thứ tự:

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

Mẹo lệnh adop (adop command tips)

adop và Concurrent Manager

Oracle concurrent managers chịu trách nhiệm chính đảm bảo ứng dụng không bị quá tải bằng cách điều phối luồng yêu cầu.

adop cutover bắt đầu bằng cách yêu cầu shutdown concurrent manager và sau đó chờ các yêu cầu đang chạy hoàn tất.

Nếu concurrent manager không shutdown trong giới hạn thời gian quy định, các concurrent request còn lại bị kill và cutover tiếp tục.

Để chỉ định thời gian chờ cho các concurrent process hiện tại hoàn thành trước khi shutdown Internal Concurrent Manager (master manager), chạy lệnh cutover cm_wait. Trong ví dụ sau, thời gian cm_wait là 10 phút. Mặc định, adop chờ vô thời hạn cho các concurrent request đang chạy hoàn tất.

adop phase=cutover cm_wait=10

Lệnh mtrestart=no dừng và không bật application tier restart services:

adop phase=cutover cm_wait=10 mtrestart=no

adop hotpatch

Trong chế độ hotpatch, adop áp dụng patch cho run edition trong khi application services vẫn đang chạy. Trong chế độ này, quy trình patch không thể bị hủy bỏ (aborted).

Ví dụ sau khởi tạo patch trong chế độ hotpatch:

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

Sau khi dùng hotpatch, hãy chắc chắn chạy cả phase=cleanup và phase=fs_clone để đồng bộ run file system với patch file system. Điều này đảm bảo mọi thứ sẵn sàng cho chu kỳ patching tiếp theo.

Nếu bạn cần áp dụng lại một patch, bạn phải dùng tham số options=forceapply như ví dụ:

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

Nếu gặp lỗi Continue As If It Were Successful, chạy lệnh sau để tiếp tục patch:

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

Các lệnh adop hữu ích khác

  • Định nghĩa workers: $ adop phase=apply patches=<patch list> workers=5
  • Định nghĩa patchtop: $ adop phase=apply patches=<patch list> patchtop=<patch location base>
  • Merge patches: $ adop phase=apply patches=<patch list> merge=yes
  • Khởi động lại adop từ session thất bại: chạy abort, cleanup full, fs_clone, sau đó reapply patch.
  • Áp dụng language patch: $ adop phase=apply patches=1234456_JA:u123456.drv
  • Non-interactive adop với patchtop và driver định nghĩa: $ adop phase=apply options=nocopyportion patchtop=$XLA_TOP/patch/115 patches=driver:xla123456.drv
  • Bỏ qua failed workers: dùng adctrl chọn option #8 (sẽ không hiển thị) để skip failed jobs, sau đó restart adop với restart=yes.
  • Nhiều failed jobs: restart patch với flags=autoskip: $ adop restart=no abandon=yes flags=autoskip. Lệnh này restart patch và bỏ qua bất kỳ thất bại nào xảy ra. Xem log file cuối cùng để đảm bảo các thất bại thích hợp đã bị bỏ qua.

Kết luận

Tiện ích adop được bật vì nhiều application editions có thể được lưu trong database, và dual application tier file systems có thể được provisioned. Tại bất kỳ thời điểm nào, một trong các file system này được chỉ định là run (phần của hệ thống đang chạy) và cái kia là patch (đang được patch hoặc chờ chu kỳ patching tiếp theo). Run file system hiện tại xuất hiện cho user như single application tier file system trong các bản phát hành Oracle E-Business Suite trước phiên bản 12.2.

Sự tồn tại của dual file system có ý nghĩa cho các patch thay đổi cấu hình hệ thống. Tiện ích adop là bắt buộc cho việc áp dụng software patches cho patch file system, nhưng nó không bắt buộc để thực hiện thay đổi cấu hình. Bạn có thể thực hiện thay đổi cấu hình cho cả run file system hoặc patch file system, và đồng bộ hóa tự động sau đó diễn ra trong cả hai trường hợp.

Sử dụng tab Feedback để đưa ra nhận xét hoặc đặt câu hỏi.