Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

cách xây dựng lại hàng đợi wf_java_deferred

Các bước tiếp theo sẽ được thực hiện để xây dựng lại hàng đợi


(1) Kiểm tra xem bản ghi nào sẽ được sao lưu trên bảng sao lưu wf_queue_temp_jms_table.


select wfjd.corr_id corrid, msg_state state, count(*) COUNT
from applsys.aq$wf_java_deferred wfjd
where msg_state IN('READY', 'WAIT')
group by corr_id, wfjd.msg_state;

(2) Tắt Dịch vụ trình xử lý tác nhân quy trình làm việc và sao lưu các bản ghi trên hàng đợi WF_JAVA_DEFERRED vào bảng sao lưu apps.wf_queue_temp_jms_table.

Quản trị viên hệ thống> Trình quản lý ứng dụng Oracle> Dòng công việc> Thành phần dịch vụ> Dịch vụ trình xử lý tác nhân dòng công việc

sqlplus apps/ @wfaqback.sql

Ví dụ:

sqlplus apps/apps @$FND_TOP/sql/wfaqback.sql WF_JAVA_DEFERRED

(3) Đảm bảo rằng tất cả các bản ghi đều nằm trong bảng wf_queue_temp_jms_table.

select CORR_ID corrid, QUEUE queue, count (*)
from apps.wf_queue_temp_jms_table
group by CORR_ID, QUEUE;

(4) Đặt aq_tm_processes =0.

alter system set aq_tm_processes=0;

(5) Lưu ý tên của vùng bảng chứa chỉ mục trên CORRID sẽ cần được tạo lại sau này.

SELECT index_name, tablespace_name
FROM all_indexes
WHERE index_name = 'WF_JAVA_DEFERRED_N1';

(6) Bỏ hàng đợi WF_JAVA_DEFERRED và queue_table.

declare
begin
dbms_aqadm.stop_queue(queue_name => 'APPLSYS.WF_JAVA_DEFERRED', wait =>
FALSE);
end;
/

Nếu nó bị treo, chúng ta có thể sử dụng vũ lực

declare
begin
dbms_aqadm.drop_queue_table(queue_table => 'APPLSYS.WF_JAVA_DEFERRED', force
=> TRUE);
end;
/

(7) Tạo lại hàng đợi WF_JAVA_DEFERRED.

sqlplus / @wfbesqc.sql

Ví dụ:

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqc.sql APPLSYS APPS

(8) Thêm người đăng ký.

sqlplus APPSusr/<pass> @wfbesqsubc.sql

Cú pháp mẫu:

sqlplus apps/<pass> @$FND_TOP/patch/115/sql/wfbesqsubc.sql APPLSYS APPS

(9) Tạo lại chỉ mục (Vui lòng bỏ qua bất kỳ lỗi ORA-00955 nào về đối tượng đã tồn tại vì điều này thêm chỉ mục cho các đối tượng khác.):

sqlplus APPSusr/<pass> @FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS tablespace_name

Cú pháp mẫu:

sqlplus apps/apps @$FND_TOP/patch/115/sql/wfbesqidxc.sql APPLSYS APPS APPS_TS_QUEUES

(10) Đưa dữ liệu cho WF_JAVA_DEFERRED trở lại hàng đợi.

sqlplus apps/<pass> @wfaqrenq.sql

Ví dụ:

sqlplus apps/apps @$FND_TOP/sql/wfaqrenq.sql WF_JAVA_DEFERRED

(11) Xác nhận rằng tất cả các bản ghi đã trở lại hàng đợi.

select wfjd.corr_id corrid, msg_state state, count(*) COUNT
from applsys.aq$wf_java_deferred wfjd
where msg_state IN('READY', 'WAIT')
group by corr_id, wfjd.msg_state;

(12) Khởi động Dịch vụ Trình xử lý Tác nhân Dòng công việc và xác nhận rằng nó hiện đang xử lý các sự kiện trên hàng đợi.

Quản trị viên hệ thống> Trình quản lý ứng dụng Oracle> Dòng công việc> Thành phần dịch vụ> Dịch vụ trình xử lý tác nhân dòng công việc

select wfjd.corr_id corrid, msg_state state, count(*) COUNT
from applsys.aq$wf_java_deferred wfjd
where msg_state IN('READY', 'WAIT')
group by corr_id, wfjd.msg_state;

Hy vọng bạn thích bài viết. Vui lòng cung cấp phản hồi để cải thiện


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận danh sách tất cả các hàm và thủ tục trong cơ sở dữ liệu Oracle

  2. ORA-12557 TNS:không tải được bộ điều hợp giao thức

  3. Làm thế nào để xử lý cột bảng được đặt tên bằng từ khóa Sql dành riêng?

  4. ORA-01653:không thể mở rộng bảng trong không gian bảng ORA-06512

  5. làm thế nào để khai báo% ROWTYPE của một biến SYS_REFCURSOR được nhập yếu?