zoukankan      html  css  js  c++  java
  • System Hold, Fix Manager before resetting counters

     程序pending 

    http://www.askmaclean.com/archives/2011/11

    http://blog.itpub.net/35489/viewspace-717132/

    1. Stop all middle tier services including the concurrent managers.
    Please make sure that no FNDLIBR, FNDSM, or any dead process is running.
    2. Stop the database.
    3. Start the database.
    4. Go to cd $FND_TOP/bin
    $ adrelink.sh force=y "fnd FNDLIBR"
    $ adrelink.sh force=y "fnd FNDFS"
    $ adrelink.sh force=y "fnd FNDCRM"
    $ adrelink.sh force=y "fnd FNDSM"
    5. Run the CMCLEAN.SQL script. from the referenced note below (don't forget to commit).
    Article- ID : 134007.1
    Title: CMCLEAN.SQL - Non Destructive Script. to Clean Concurrent Manager Tables
    6. Execute the following SQL:
    select CONCURRENT_QUEUE_NAME from FND_CONCURRENT_QUEUES where CONCURRENT_QUEUE_NAME like 'FNDSM%';
    7. Start the middle tier services including your concurrent manager.
     
    CMCLEAN.SQL
     记得运行好后commit
    REM
    
    REM FILENAME
    REM cmclean.sql
    REM DESCRIPTION
    REM Clean out the concurrent manager tables
    REM NOTES
    REM Usage: sqlplus @cmclean
    REM
    
    REM
    
    REM $Id: cmclean.sql,v 1.4 2001/04/07 15:55:07 pferguso Exp $
    REM
    
    REM
    
    REM +======================================================================+
    
    set verify off;
    set head off;
    set timing off
    set pagesize 1000
    
    column manager format a20 heading 'Manager short name'
    column pid heading 'Process id'
    column pscode format a12 heading 'Status code'
    column ccode format a12 heading 'Control code'
    column request heading 'Request ID'
    column pcode format a6 heading 'Phase'
    column scode format a6 heading 'Status'
    
    WHENEVER SQLERROR EXIT ROLLBACK;
    
    DOCUMENT
    
    WARNING : Do not run this script without explicit instructions
    from Oracle Support
    
    *** Make sure that the managers are shut down ***
    *** before running this script ***
    
    *** If the concurrent managers are NOT shut down, ***
    *** exit this script now !! ***
    
    #
    
    accept answer prompt 'If you wish to continue type the word ''dual'': '
    
    set feed off
    select null from &answer;
    set feed on
    
    REM Update process status codes to TERMINATED
    
    prompt
    
    prompt ------------------------------------------------------------------------
    
    prompt -- Updating invalid process status codes in FND_CONCURRENT_PROCESSES
    set feedback off
    set head on
    break on manager
    
    SELECT concurrent_queue_name manager,
    concurrent_process_id pid,
    process_status_code pscode
    FROM fnd_concurrent_queues fcq, fnd_concurrent_processes fcp
    WHERE process_status_code not in ('K', 'S')
    AND fcq.concurrent_queue_id = fcp.concurrent_queue_id
    AND fcq.application_id = fcp.queue_application_id;
    
    set head off
    set feedback on
    UPDATE fnd_concurrent_processes
    SET process_status_code = 'K'
    WHERE process_status_code not in ('K', 'S');
    
    REM Set all managers to 0 processes
    
    prompt
    
    prompt ------------------------------------------------------------------------
    
    prompt -- Updating running processes in FND_CONCURRENT_QUEUES
    prompt -- Setting running_processes = 0 and max_processes = 0 for all managers
    
    UPDATE fnd_concurrent_queues
    SET running_processes = 0, max_processes = 0;
    
    REM Reset control codes
    
    prompt
    
    prompt ------------------------------------------------------------------------
    
    prompt -- Updating invalid control_codes in FND_CONCURRENT_QUEUES
    set feedback off
    set head on
    SELECT concurrent_queue_name manager,
    control_code ccode
    FROM fnd_concurrent_queues
    WHERE control_code not in ('E', 'R', 'X')
    AND control_code IS NOT NULL;
    
    set feedback on
    set head off
    UPDATE fnd_concurrent_queues
    SET control_code = NULL
    WHERE control_code not in ('E', 'R', 'X')
    AND control_code IS NOT NULL;
    
    REM Also null out target_node for all managers
    UPDATE fnd_concurrent_queues
    SET target_node = null;
    
    REM Set all 'Terminating' requests to Completed/Error
    REM Also set Running requests to completed, since the managers are down
    
    prompt
    
    prompt ------------------------------------------------------------------------
    
    prompt -- Updating any Running or Terminating requests to Completed/Error canceled by CMCLEAN
    set feedback off
    set head on
    SELECT request_id request,
    phase_code pcode,
    status_code scode
    FROM fnd_concurrent_requests
    WHERE status_code = 'T' OR phase_code = 'R'
    ORDER BY request_id;
    
    set feedback on
    set head off
    UPDATE fnd_concurrent_requests
    SET phase_code = 'C', status_code = 'E'
    WHERE status_code ='T' OR phase_code = 'R';
    
    REM Set all Runalone flags to 'N'
    REM This has to be done differently for Release 10
    
    prompt
    
    prompt ------------------------------------------------------------------------
    
    prompt -- Updating any Runalone flags to 'N'
    prompt
    
    set serveroutput on
    set feedback off
    declare
    c pls_integer := dbms_sql.open_cursor;
    upd_rows pls_integer;
    vers varchar2(50);
    tbl varchar2(50);
    col varchar2(50);
    statement varchar2(255);
    begin
    
    select substr(release_name, 1, 2)
    into vers
    from fnd_product_groups;
    
    if vers >= 11 then
    tbl := 'fnd_conflicts_domain';
    col := 'runalone_flag';
    else
    tbl := 'fnd_concurrent_conflict_sets';
    col := 'run_alone_flag';
    end if;
    
    statement := 'update ' || tbl || ' set ' || col || '=''N'' where ' || col || ' = ''Y''';
    dbms_sql.parse(c, statement, dbms_sql.native);
    upd_rows := dbms_sql.execute(c);
    dbms_sql.close_cursor(c);
    dbms_output.put_line('Updated ' || upd_rows || ' rows of ' || col || ' in ' || tbl || ' to ''N''');
    end;
    /
    
    prompt
    
    
    prompt ------------------------------------------------------------------------
    
    prompt Updates complete.
    prompt Type commit now to commit these updates, or rollback to cancel.
    prompt ------------------------------------------------------------------------
    
    prompt
    
    
    set feedback on
    
    REM <= Last REM statment -----------------------------------------------------
  • 相关阅读:
    lua学习笔记(一)
    使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    ubuntu和win7 64双系统 安装
    virtualbox共享文件夹
    今天来谈谈三大基础排序选择排序、冒泡排序、插入排序
    vue入门七之vuex的使用
    简单介绍下js的随机数的生成
    来简单谈谈JavaScript两个数的交换问题
    VUE入门六之过滤器
    VUE入门五之路由的使用
  • 原文地址:https://www.cnblogs.com/toowang/p/3920730.html
Copyright © 2011-2022 走看看