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

เคล็ดลับ DBA สำหรับการจัดการปัญหา Mailer การแจ้งเตือนเวิร์กโฟลว์

โพสต์นี้กล่าวถึงปัญหาทั่วไปของ Oracle® Workflow Notification Mailer ที่ผู้ดูแลระบบฐานข้อมูล (DBA) เผชิญทุกวัน

แนะนำตัว

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

ปัญหาทั่วไปเกี่ยวกับ Mailer การแจ้งเตือนเวิร์กโฟลว์และการแก้ไข

ส่วนต่อไปนี้สำรวจปัญหาและวิธีแก้ไขของ Mailer การแจ้งเตือนเวิร์กโฟลว์

ปัญหา:ผู้ใช้ไม่ได้รับการแจ้งเตือน

ผู้ใช้ไม่ได้รับอีเมลแจ้งเตือนหรือไม่สามารถแก้ไขการแจ้งเตือนที่ล้มเหลวได้

สาเหตุ:

การตั้งค่าต่อไปนี้ถูกตั้งค่าเป็น DISABLED แทน MAILHTML :

  • PREFERENCE_VALUE ใน FND_USER_PREFERENCES ตาราง
  • NOTIFICATION_PREFERENCE ใน WF_LOCAL_ROLES ตาราง

แก้ไข:

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อสำรองข้อมูลตาราง:

        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. รันคำสั่งต่อไปนี้เพื่ออัพเดตตาราง:

        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. เรียกใช้คำขอ ส่งการแจ้งเตือนเวิร์กโฟลว์ล้มเหลว/ข้อผิดพลาดอีกครั้ง จากความรับผิดชอบของผู้ดูแลระบบในการส่งการแจ้งเตือนที่ล้มเหลวอีกครั้ง ตั้งค่าพารามิเตอร์วันที่ การแจ้งเตือนที่ส่งในหรือหลังจากนั้น จนถึงวันที่กำหนด

    หมายเหตุ: ใช้รูปแบบต่อไปนี้สำหรับวันที่:วว-MMM-YYYY (ตัวอย่าง:01-JAN-2020)

ปัญหาที่ 2:อีเมลไปผิดโฟลเดอร์

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

ตัวอย่างต่อไปนี้แสดงอีเมลอนุมัติมาตรฐาน การดำเนินการ รายการที่สร้างขึ้นเมื่อผู้อนุมัติคลิกที่ การอนุมัติ ลิงค์:

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

เมื่อการแจ้งเตือนไปที่โฟลเดอร์ขยะ รายการ “การดำเนินการ” จะปรากฏขึ้นดังนี้:

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

สาเหตุ:

การตั้งค่ารูปแบบการสร้างอีเมล Microsoft® Outlook® คือโหมดข้อความ หรือคุณอนุมัติการแจ้งเตือนจากอุปกรณ์เคลื่อนที่

แก้ไข:

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

  • เว้นช่องว่างระหว่างแต่ละฟิลด์
  • ใส่ NID ค่าในวงเล็บ

ข้อความจากตัวอย่างก่อนหน้านี้ควรมีช่องว่างอย่างน้อยหนึ่งช่องระหว่างฟิลด์และ NID ค่าควรรวมวงเล็บเหลี่ยม ([ ]) ตามที่แสดงในตัวอย่างต่อไปนี้:

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

ปัญหาที่ 3:ผู้ใช้พลาดอีเมลหรือได้รับอีเมลเก่า

ผู้ใช้ไม่ได้รับอีเมลตรงเวลา หรือได้รับการแจ้งเตือนเก่าที่ปิดหรือยกเลิกไปแล้ว

สาเหตุ:

ปัญหานี้เกิดขึ้นเมื่อคิว Mailer การแจ้งเตือนเวิร์กโฟลว์เต็มไปด้วยข้อมูลขยะ

wf_notifications พารามิเตอร์มี mail_status ตั้งค่าเป็น MAIL สำหรับการแจ้งเตือนแบบปิดหรือ SENT สำหรับการแจ้งเตือนที่เปิดอยู่

ในสถานการณ์สมมตินี้ wf_notification_out คิวมีรายการเก่ามากจาก wf_notifcations โต๊ะ. เหตุการณ์นี้ส่งการแจ้งเตือนความผิดปกติเมื่อพารามิเตอร์คำขอกระบวนการพื้นหลังเวิร์กโฟลว์ไม่ถูกต้อง

แก้ไข:

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

  1. ตรวจสอบกับลูกค้าเกี่ยวกับวิธีการล้างการแจ้งเตือนเก่า

  2. เก็บวันที่เพื่อใช้อ้างอิง เช่น begin_date .

  3. ปิด Mailer การแจ้งเตือนเวิร์กโฟลว์

  4. ปิด OPENเก่าทั้งหมด การแจ้งเตือนที่เก่ากว่า begin_date .

  5. อัปเดต mail_status เพื่อ ส่ง สำหรับการแจ้งเตือนที่เก่ากว่า begin_date .

  6. สร้างคิวใหม่โดยใช้สคริปต์ต่อไปนี้เป็น APPS ผู้ใช้:

        SQL> @$FND_TOP/patch/115/sql/wfntfqup.sql apps <APSS_PASSWD> APPLSYS
    

สคริปต์การบำรุงรักษาสำหรับ Mailer การแจ้งเตือนเวิร์กโฟลว์

คำสั่งในส่วนนี้จะช่วยคุณในการดูแลรักษา Mailer การแจ้งเตือนเวิร์กโฟลว์ คุณสามารถใส่คำสั่งลงในสคริปต์เพื่อความสะดวกของคุณ

สคริปต์ 1

สคริปต์นี้แก้ไขการตั้งค่าต่อไปนี้:

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

ใช้คำสั่งต่อไปนี้เพื่ออัปเดต component_status สำหรับ Workflow Notification Mailer และแก้ไขการตั้งค่า:

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.

สคริปต์ 2

คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตั้งค่า Mailer STARTUP_MODE เป็น MANUAL หรือ 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;
เคล็ดลับ DBA สำหรับการจัดการปัญหา Mailer การแจ้งเตือนเวิร์กโฟลว์
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.

สคริปต์ 3

สคริปต์นี้อัปเดตรหัสผ่าน Mailer การแจ้งเตือนเวิร์กโฟลว์จากแบ็กเอนด์:

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

สคริปต์ 4

ใช้สคริปต์เดียวต่อไปนี้เพื่อเปลี่ยนค่า Mailer การแจ้งเตือนเวิร์กโฟลว์จากแบ็กเอนด์:

$FND_TOP/sql/afsvcpup.sql
เคล็ดลับ DBA สำหรับการจัดการปัญหา Mailer การแจ้งเตือนเวิร์กโฟลว์ เคล็ดลับ DBA สำหรับการจัดการปัญหา Mailer การแจ้งเตือนเวิร์กโฟลว์

บทสรุป

จดหมายแจ้งเวิร์กโฟลว์มีองค์ประกอบหลายอย่างและปัญหาที่ยุ่งยากบางอย่าง อย่าลืมสำรองข้อมูล wf_* ตารางก่อนอัปเดต

โปรดดูหมายเหตุ Oracle MetaLink ที่เกี่ยวข้องก่อนเรียกใช้สคริปต์เพื่อใช้การแก้ไข MetaLink มีสคริปต์อื่น ๆ อีกมากมายนอกเหนือจากที่รวมอยู่ในโพสต์นี้ ซึ่งสามารถช่วยคุณแก้ไขปัญหาใน Mailer การแจ้งเตือนเวิร์กโฟลว์

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังแชทตอนนี้เพื่อเริ่มการสนทนาได้

เรียนรู้เพิ่มเติมเกี่ยวกับฐานข้อมูล