Wednesday, April 25, 2018

Hold Concurrent Programs and Release Hold during Cut-Over or maintenance activities.

Hold programs during Cutover or maintenance activities. 


  1. First shutdown the concurrent manager immediately after the downtime starts.
  2. Wait for 10 or 15 mins.
  3. Get the list of programs which are scheduled but not on hold.
    select * from fnd_concurrent_requests where phase_code='P' and hold_flag='N';
  4. create a table to store the results from above query.
create table fnd_conc_req_hold as select * from fnd_concurrent_requests where phase_code='P' and hold_flag='N';


Release the programs once the Cutover or maintenance activities are over. 

Based on the number of requests in  fnd_conc_req_hold which are held manually, it can cause load on the Servers if there are more programs are held. Hence need to release these programs in phase manner.  Maybe 500 programs can be released at a time. Number 500 is a guesswork and you can choose according to your environment. 

Assume, If you have to hold 4000 requests.  We can release the programs in phase manner. 

UPDATE fnd_concurrent_requests
   SET hold_flag = 'N'
 WHERE phase_code = 'P'
   AND hold_flag = 'Y'
   AND request_id IN (SELECT request_id
                        FROM fnd_conc_req_hold
                       WHERE ROWNUM < :row_num
                      );

In the first run pass 500.
Second run, pass 1000.
Third run, pass 1500.

Increase by 500 in value by each run till the number of requests is stored in fnd_conc_req_hold.

Once all the programs are released, run the UPDATE query without WHERE clause. This UPDATE should run 0 rows.  That means, all the programs are released. 

No comments:

Post a Comment

What happens during adop phase=cutover ?

The phase  adop phase=cutover  , has many tasks.   Validations: First on primary node and then on all slave nodes in parallel Shutdown ...