Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Các lỗi và bản sửa lỗi của Oracle AD Online Patch

Được xuất bản lần đầu bởi Tricore:14 tháng 8, 2017

Blog này mô tả các vấn đề phổ biến và giải pháp sau cho tiện ích (áp dụng) Oracle® AD Online Patch:

  • Lỗi hỏng từ điển dữ liệu
  • áp dụng chuẩn bị thất bại
  • Lỗi tạo đối tượng biểu mẫu
  • áp dụng chế độ gác máy tạm thời
  • Hủy bỏ bản vá

Lỗi hỏng từ điển dữ liệu

Lỗi hỏng từ điển dữ liệu có thể xảy ra khi các bước chuẩn bị áp dụng.

Lỗi

Lỗi sau có thể khác nhau đối với các môi trường khác nhau.

[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:

Nguyên nhân

Sự cố từ điển dữ liệu này xảy ra khi nhà phát triển quảng bá các tùy chỉnh quá mức, vi phạm các tiêu chuẩn vá trực tuyến.

Giải pháp

Để sửa lỗi từ điển dữ liệu (thiếu-gốc), hãy thực hiện các bước sau:

  1. Chạy $AD_TOP/sql/ADZDDBCC.sql tập lệnh dưới dạng apps user để xác nhận cho dù có tồn tại tham nhũng từ điển dữ liệu lôgic hay không. Kiểm tra lỗi trong nhật ký cuộn.

  2. Chạy tập lệnh $AD_TOP/patch/115/sql/adzddmpfix.sql với tư cách là người dùng sys user khắc phục sự tham nhũng. Trong mẫu sau, 12 đối tượng tham nhũng đã được sửa.

     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. Chạy $AD_TOP/sql/ADZDDBCC.sql tập lệnh lại với tư cách là apps user xác định xem lỗi từ điển dữ liệu lôgic vẫn còn tồn tại. a. Nếu không tìm thấy lỗi nào, hãy tiếp tục nâng cấp hoặc áp dụng chu trình vá lỗi. B. Nếu vẫn còn lỗi, hãy liên hệ với Bộ phận hỗ trợ của Oracle và ghi lại lỗi.

  4. Sau khi sự cố được giải quyết, hãy thử lại bước chuẩn bị áp dụng.

áp dụng chuẩn bị thất bại

Đôi khi, bước chuẩn bị nhận con nuôi không thành công. Phần này hiển thị một lỗi dự phòng có thể xảy ra và giải pháp.

Lỗi

Lỗi chuẩn bị áp dụng sau là lỗi của 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

Giải pháp

Để giải quyết lỗi này, hãy thực hiện các bước sau:

  1. Thay đổi máy chủ mục tiêu mẫu và SID trong mẫu mã sau thành cổng và đường dẫn được báo cáo trong lỗi, đồng thời thực thi mã để khắc phục sự cố này.

     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. Thử lại chuẩn bị áp dụng sau khi áp dụng bản sửa lỗi.

Lỗi tạo đối tượng của biểu mẫu

Đôi khi, khi áp dụng các bản vá với adop phase=apply patches=123456 , các đối tượng theforms có thể không được tạo thành công, điều này khiến phiên tiếp nhận dừng lại mà không hiển thị lời nhắc Patch continue prompt Y/N .

Lỗi

Ví dụ:các đối tượng Oracle Forms sau không được tạo thành công:

inv     forms/US        INVMWBIV.fmx

Giải pháp

Khởi động lại phiên vá lỗi từ thư mục vá lỗi bằng các lệnh sau:

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

áp dụng cutover hang

Nếu quá trình chuyển đổi áp dụng bị treo hoặc máy chủ gặp sự cố hoặc khởi động lại ở giữa giai đoạn chuyển tiếp áp dụng, hãy thực hiện các bước sau để khắc phục sự cố và sau đó tiếp tục quá trình vá lỗi.

Giải pháp

  1. Đảm bảo không có dịch vụ hoặc quy trình nào đang chạy từ hệ thống tệp PATCH.

  2. Đảm bảo rằng Máy chủ quản trị Weblogic và Trình quản lý nút đang chạy trên hệ thống runfile. Thực hiện các lệnh sau để kiểm tra trạng thái:

     $ adadminsrvctl.sh status
     $ adnodemgrctl.sh status
    
  3. Thực hiện các lệnh sau:

     $ adop phase=abort
     $ adop phase=cleanup cleanup_mode=full
     $ adop phase=fs_clone force=yes
    
  4. Chạy một chu kỳ tiếp nhận trống để đảm bảo không có vấn đề gì trong phần giới hạn tiếp nhận bằng cách thực hiện lệnh sau:

     $adop phase=prepare, finalize, cutover, cleanup cleanup_mode=full
    
  5. Bắt đầu áp dụng mới, chuẩn bị và áp dụng các bản vá.

  6. Sau bước áp dụng, hãy hoàn thành phần còn lại của các giai đoạn áp dụng bao gồm hoàn thiện, cắt bỏ và dọn dẹp.

Hủy bỏ bản vá

Nếu một chu kỳ vá lỗi không thành công và bạn không thể giải quyết vấn đề nhanh chóng, bạn sẽ bỏ qua chu kỳ vá lỗi và quay lại hoạt động thời gian chạy bình thường, thả xuống phiên bản vá lỗi.

Bạn có thể bỏ qua một chu kỳ vá (mà không cần áp dụng bất kỳ bản vá nào) bằng cách chạy lệnh sau:

$ adop phase=abort

Quan trọng: Bạn chỉ có thể sử dụng lệnh này trước khi hoàn thành thành công giai đoạn chuyển tiếp. Sau khi cắt bỏ, hệ thống đang chạy trên phiên bản mới và abort lệnh không còn khả dụng cho chu kỳ vá lỗi đó.

Việc hủy bỏ một chu kỳ vá sẽ làm rơi phiên bản vá lỗi, nhưng sau đó bạn phải chạy các phacleanup và fs_clone trước khi bắt đầu một chu kỳ vá mới. Việc dọn dẹp phải là một cuộc dọn dẹp toàn bộ. Ví dụ sau minh họa chuỗi sự kiện này:

$ 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

Theo tùy chọn, bạn có thể kết hợp lệnh hủy bỏ và lệnh dọn dẹp như được hiển thị trong lệnh sau:

$ adop phase=abort,cleanup cleanup_mode=full

Lưu ý: Bạn không thể hủy bỏ áp dụng bản vá được áp dụng trong chế độ bản vá nóng (adop phase=apply apply_mode=hot patch ).

Kết luận

Tập hợp các vấn đề đã biết và giải pháp cho tiện ích áp dụng này có thể trợ giúp quản trị viên cơ sở dữ liệu khi họ gặp các vấn đề này hoặc các vấn đề tương tự.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.