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

Mẹo DBA để xử lý các vấn đề về Trình gửi thư thông báo quy trình làm việc

Bài đăng này thảo luận về một số vấn đề chung về Trình gửi thư thông báo quy trình làm việc Oracle® mà quản trị viên cơ sở dữ liệu (DBA) phải đối mặt hàng ngày.

Giới thiệu

Khi bạn quản lý vấn đề, bạn xử lý quá trình ghi lại, theo dõi và giải quyết vấn đề. Bởi vì Workflow Notification Mailer có nhiều thành phần, bạn có thể gặp khó khăn trong việc giải quyết các vấn đề liên quan đến nó. Để giúp bạn, tôi đề cập đến một số vấn đề và các bản sửa lỗi có thể có. Đừng bỏ lỡ các tập lệnh mà bạn cần để quản lý các hoạt động của Trình gửi thư thông báo quy trình công việc một cách dễ dàng.

Các vấn đề chung về Trình gửi thư thông báo quy trình làm việc và các bản sửa lỗi của chúng

Các phần sau đây khám phá một số vấn đề và giải pháp của Trình gửi thư thông báo quy trình làm việc.

Vấn đề:Người dùng không nhận được thông báo

Người dùng không nhận được email thông báo hoặc không thể sửa lỗi thông báo.

Nguyên nhân:

Các cài đặt sau được đặt thành DISABLED thay vì MAILHTML :

  • PREFERENCE_VALUE trong FND_USER_PREFERENCES bảng
  • NOTIFICATION_PREFERENCE trong WF_LOCAL_ROLES bảng

Khắc phục:

  1. Chạy các lệnh sau để sao lưu các bảng:

        SQL> create table fnd_user_preferences_bkp as select * from fnd_user_preferences;
    
        Table created.
    
        SQL> create table wf_local_roles_bkp as select * from wf_local_roles;
    
        Table created.
    
  2. Chạy các lệnh sau để cập nhật bảng:

        select user_name,preference_value from FND_USER_PREFERENCES where preference_value = 'DISABLED' and preference_name = 'MAILTYPE' and module_name = 'WF' and user_name like '%<USER_NAME>%'; 
    
        update FND_USER_PREFERENCES set preference_value = 'MAILHTML' where preference_name = 'MAILTYPE' and preference_value = 'DISABLED' and module_name = 'WF' and user_name like '%<USERNAME>%'; 
    
        select * from wf_local_roles where notification_preference = 'DISABLED' and name like '%<NAME>'
    
        update wf_local_roles set notification_preference = 'MAILHTML' where notification_preference = 'DISABLED' and name like '%<NAME>%'
    
  3. Chạy yêu cầu Gửi lại không thành công / thông báo dòng công việc lỗi từ Trách nhiệm của Quản trị viên Hệ thống để gửi lại các thông báo không thành công. Đặt thông số ngày, Thông báo được gửi vào hoặc sau , đến một ngày cụ thể.

    Lưu ý: Sử dụng định dạng sau cho ngày: DD-MMM-YYYY (Ví dụ:01-JAN-2020)

Vấn đề 2:Email chuyển đến sai thư mục

Hệ thống gửi email phê duyệt thông báo chi phí đến DISCARD thay vì PROCESS thư mục.

Ví dụ sau đây cho thấy email phê duyệt tiêu chuẩn Hành động mục được tạo khi người phê duyệt nhấp vào Phê duyệt liên kết:

Action: 'Approve'
Note: ''
NID[5513471/192168752214903990869743932721878211126@WFMAIL]

Khi thông báo chuyển đến thư mục Rác, các mục "Hành động" sẽ xuất hiện như sau:

Action: 'Approve'Note: ''NID5389465/1779945055187563456464409735425450546126@WFMAIL

Nguyên nhân:

Cài đặt định dạng tạo email Microsoft® Outlook® là chế độ văn bản hoặc bạn đã phê duyệt thông báo từ thiết bị di động.

Khắc phục:

Bất cứ khi nào bạn chấp thuận một thông báo qua email bằng cách sử dụng chế độ văn bản email hoặc từ thiết bị di động, bạn nên đảm bảo rằng bạn thực hiện các hành động sau:

  • Đặt một khoảng cách giữa mỗi trường.
  • Đặt NID giá trị trong ngoặc.

Thông báo từ ví dụ trước phải có ít nhất một khoảng trắng giữa các trường và NID giá trị phải bao gồm dấu ngoặc vuông ([]), như được hiển thị trong ví dụ sau:

Action: 'Approve'
Note: ''
NID[5389465/1779945055187563456464409735425450546126@WFMAIL]

Vấn đề 3:Người dùng bỏ lỡ email hoặc nhận được email cũ

Người dùng không nhận được email đúng hạn hoặc họ nhận được các thông báo cũ đã bị đóng hoặc bị hủy.

Nguyên nhân:

Sự cố xảy ra khi hàng đợi Trình gửi thư thông báo quy trình làm việc chứa đầy dữ liệu rác.

wf_notifications tham số có mail_status đặt thành MAIL cho các thông báo đã đóng hoặc SENT để mở thông báo.

Trong trường hợp này, wf_notification_out hàng đợi có các mục nhập rất cũ từ wf_notifcations bàn. Sự cố này sẽ gửi một thông báo bất thường khi các tham số yêu cầu của Quy trình Nền Quy trình Công việc không chính xác.

Khắc phục:

Sử dụng các bước cấp cao sau để xây dựng lại hàng đợi Trình gửi thư thông báo quy trình làm việc:

  1. Kiểm tra với khách hàng về cách xóa các thông báo cũ.

  2. Giữ ngày để tham khảo, chẳng hạn như ngày bắt đầu .

  3. Tắt Trình gửi thư thông báo quy trình làm việc.

  4. Đóng tất cả OPEN cũ thông báo cũ hơn begin_date .

  5. Cập nhật mail_status tới SENT cho bất kỳ thông báo nào cũ hơn begin_date .

  6. Tạo lại hàng đợi bằng cách sử dụng tập lệnh sau làm APPS người dùng:

    Ứng dụng
        SQL> @$FND_TOP/patch/115/sql/wfntfqup.sql apps <APSS_PASSWD> APPLSYS
    

Các tập lệnh bảo trì cho Thư thông báo Dòng công việc

Các lệnh trong phần này giúp bạn duy trì Hộp thư Thông báo Dòng công việc. Bạn có thể đặt các câu lệnh thành tập lệnh để thuận tiện cho bạn.

Tập lệnh 1

Tập lệnh này sửa đổi các cài đặt sau:

  • RUNNING
  • STARTING
  • STOPPED_ERROR
  • DEACTIVATED_USER
  • DEACTIVATED_SYSTEM
  • NOT_CONFIGURED

Sử dụng các lệnh sau để cập nhật component_status cho Mailera Thông báo Dòng công việc và sửa đổi cài đặt:

SQL> select component_status
from fnd_svc_components
where component_id =
(select component_id
from fnd_svc_components
where component_name = 'Workflow Notification Mailer');

COMPONENT_STATUS
------------------------------
STARTING

SQL> update fnd_svc_components set component_status='DEACTIVATED_SYSTEM' where component_id =
(select component_id
from fnd_svc_components
where component_name = 'Workflow Notification Mailer');

1 row updated

SQL> commit;

Commit complete.

Tập lệnh 2

Bạn có thể sử dụng các lệnh sau để đặt Trình gửi thư STARTUP_MODE thành MANUAL hoặc AUTOMATIC :

SQL> select fsc.COMPONENT_NAME,fsc.STARTUP_MODE,fsc.COMPONENT_STATUS
from APPS.FND_CONCURRENT_QUEUES_VL fcq, fnd_svc_components fsc where fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
order by COMPONENT_STATUS , STARTUP_MODE , COMPONENT_NAME;
Mẹo DBA để xử lý các vấn đề về Trình gửi thư thông báo quy trình làm việc
SQL> update fnd_svc_components fsc set fsc.STARTUP_MODE='MANUAL' where fsc.COMPONENT_NAME='Workflow Notification Mailer';

1 row updated.

SQL> commit;

Commit complete.

Tập lệnh 3

Tập lệnh này cập nhật mật khẩu của Trình gửi thư thông báo quy trình làm việc từ chương trình phụ trợ:

SQL> @wfmlrpwupd_in.sql
Enter value for password: *****
Enter value for componentid: 10006
Updated

SQL> @wfmlrpwupd_out.sql
Enter value for password: *****
Enter value for componentid: 10006
Updated

Tập lệnh 4

Sử dụng một tập lệnh sau để thay đổi các giá trị của Trình gửi thư thông báo dòng công việc từ phần phụ trợ:

$FND_TOP/sql/afsvcpup.sql
Mẹo DBA để xử lý các vấn đề về Trình gửi thư thông báo quy trình làm việc Mẹo DBA để xử lý các vấn đề về Trình gửi thư thông báo quy trình làm việc

Kết luận

Hộp thư thông báo dòng công việc có nhiều thành phần và một số vấn đề phức tạp. Đảm bảo sao lưu wf_ * trước khi cập nhật chúng.

Tham khảo ghi chú Oracle MetaLink liên quan trước khi chạy tập lệnh để áp dụng các bản sửa lỗi. MetaLink có nhiều tập lệnh khác ngoài những tập lệnh có trong bài đăng này có thể giúp bạn giải quyết các vấn đề trong Trình gửi thư thông báo quy trình làm việc.

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. Bạn cũng có thể trò chuyện ngay bây giờ để bắt đầu cuộc trò chuyện.

Tìm hiểu thêm về Cơ sở dữ liệu.