DBA Data[Home] [Help]

PACKAGE: APPS.AD_ZD_PARALLEL_EXEC

Source


1 package AD_ZD_PARALLEL_EXEC authid current_user  as
2 /* $Header: ADZDPEXS.pls 120.29.12020000.6 2013/03/06 11:52:35 rraam ship $ */
3 C_PACKAGE constant varchar2(80) := 'ad.plsql.ad_zd_parallel_exec.';
4 
5 
6 /*
7 ** Phase Constants
8 ** NOTE: Phase names must be in sync across the following files
9 **   1 - Auto-Patch  : Driver file being used for EBR enablement
10 **   2 - Report file : ADZDEXRPT.sql ( ADZDSHOWDDL.sql )
11 */
12 
13 --
14 -- Online Patching Enablement Phase Constants
15 --
16 C_PHASE_DROP_UNUSED_OBJECT   CONSTANT  varchar2(20) := 'DROP_UNUSED_OBJECT';
17 -- Copy TYPE and STOP AQ DDLS will be populated
18 C_PHASE_COPY_TYPE            CONSTANT  varchar2(20) := 'COPY_TYPE';
19 C_PHASE_COMPILE_TYPE         CONSTANT  varchar2(20) := 'COMPILE_TYPE';
20 C_PHASE_COPY_EVOLVED_TYPE    CONSTANT  varchar2(20) := 'COPY_EVOLVED_TYPE';
21 -- ST mover will be called
22 C_PHASE_FIX_COLUMN           CONSTANT  varchar2(20) := 'FIX_COLUMN';
23 C_PHASE_FIX_TYPE             CONSTANT  varchar2(20) := 'FIX_TYPE';
24 C_PHASE_FIX_PUBLIC_SYNONYM   CONSTANT  varchar2(20) := 'FIX_PUBLIC_SYNONYM';
25 C_PHASE_RECREATE_AQ_OBJECT   CONSTANT  varchar2(20) := 'RECREATE_AQ_OBJECT';
26 C_PHASE_DROP_OBJECT          CONSTANT  varchar2(20) := 'DROP_OBJECT';
27 C_PHASE_ENABLE_EDITIONING    CONSTANT  varchar2(20) := 'ENABLE_EDITIONING';
28 
29 C_PHASE_UPGRADE_TABLE        CONSTANT  varchar2(20) := 'UPGRADE_TABLE';
30 C_PHASE_UPGRADE_SEED         CONSTANT  varchar2(20) := 'UPGRADE_SEED';
31 C_PHASE_COLLECT_STATS        CONSTANT  varchar2(20) := 'COLLECT_STATS';
32 C_PHASE_UPGRADE_MVIEW        CONSTANT  varchar2(20) := 'UPGRADE_MVIEW';
33 
34 --
35 -- Online Patching Cycle Phase Constants
36 --
37 C_PHASE_CUTOVER              CONSTANT  varchar2(20) := 'CUTOVER';
38 C_PHASE_ABORT                CONSTANT  varchar2(20) := 'ABORT';
39 C_PHASE_DROP_COVERED_OBJS    CONSTANT  varchar2(20) := 'DROP_COVERED_OBJS';
40 C_PHASE_CLEANUP              CONSTANT  varchar2(20) := 'CLEANUP';
41 C_PHASE_ACTUALIZE_ALL        CONSTANT  varchar2(20) := 'ACTUALIZE_ALL';
42 
43 --
44 -- Job Status Constants (for AD_ZD_DDL_HANDLER.EXECUTED)
45 --
46 C_JOB_STATUS_RUNNING         CONSTANT  varchar2(1) := 'R';
47 C_JOB_STATUS_NOT_EXECUTED    CONSTANT  varchar2(1) := 'N';
48 C_JOB_STATUS_SUCCEEDED       CONSTANT  varchar2(1) := 'S';
49 C_JOB_STATUS_FAILED          CONSTANT  varchar2(1) := 'F';
50 
51 --
52 -- Job Status Description Constants (for AD_ZD_DDL_HANDLER.STATUS)
53 --
54 C_JOB_STATUS_NOT_EXEC_DESC   CONSTANT  varchar2(8)  := 'NOT-EXEC';
55 C_JOB_STATUS_RUNNING_DESC    CONSTANT  varchar2(8)  := 'RUNNING';
56 C_JOB_STATUS_SUCCESS_DESC    CONSTANT  varchar2(8)  := 'SUCCESS';
57 C_JOB_STATUS_FATAL_DESC      CONSTANT  varchar2(8)  := 'FATAL';
58 C_JOB_STATUS_ERROR_DESC      CONSTANT  varchar2(8)  := 'ERROR';
59 C_JOB_STATUS_WARNING_DESC    CONSTANT  varchar2(8)  := 'WARNING'; -- Success with Note
60 
61 
62 /* ------------------------------------------------------------------
63 
64                     Utility APIs
65 
66    -----------------------------------------------------------------*/
67 
68 
69 -- Returns the failed job count for specified phase
70 function GETFAILED_JOBS(
71     X_PHASE             varchar2
72    )  return number;
73 
74 
75 -- Returns the count of not_executed or running jobs in specified phase
76 function GET_NOT_EXECUTED_JOBS(X_PHASE varchar2) return number;
77 
78 
79 -- Updates "executed" flag from R/I to N
80 -- Used to reset jobs to runnable status for retry
81 procedure UPDATE_STATUS_R_TO_N(X_PHASE in varchar2 default null);
82 
83 -- Recompiles critical AD objects, used to recover from self-invalidation
84 procedure RECOMPILE_OBJECTS;
85 
86 -- Update Jobs Status (EXECUTED and STATUS column of AD_ZD_DDL_HANDLER)
87 procedure UPDATEjOB_STATUS(
88     X_DDL_ID   in number,
89     X_EXECUTED in varchar2,
90     X_STATUS   in varchar2 default 'SUCCESS',
91     X_ERROR    in CLOB default null);
92 
93 -- Returns error severity ('WARNING', 'ERROR', 'FATAL')
94 function GET_ERROR_LEVEL(
95     X_ERROR_CODE number,
96     X_MESSAGE in varchar2 default null) return varchar2;
97 
98 -- Return ordering index of phase
99 function GET_PHASE_ORDER(X_PHASE in varchar2) return number;
100 
101 
102 
103 /* ------------------------------------------------------------------
104 
105                     Processing APIs
106 
107   ------------------------------------------------------------------*/
108 
109 -- Worker Execute
110 --   Each parallel worker is started by calling this procedure.
111 --   Workers execute open AD_ZD_DDL_HANDLER jobs for the specified phase.
112 --
113 -- X_PHASE:          phase of work to process
114 -- X_MAX_WORKERS:    total number of parallel workers
115 -- X_CURRENT_WORKER: worker ID of this worker (1..x_max_worksers)
116 -- Note: X_MODE argument is unused, but retained for compatiblity
117 PROCEDURE EXECUTE(
118     X_PHASE          in varchar2,
119     X_MAX_WORKERS    in number,
120     X_CURRENT_WORKER in number,
121     X_MODE           in varchar2 default null);
122 
123 
124 -- Loads a SQL into AD_ZD_DDL_HANDLER
125 --  X_PHASE : Phase of SQL
126 --  X_SQL   : SQL or PL/SQL block
127 --  X_UNIQUE: If SQL should be checked for uniqueness within the given phase
128 --
129 -- NOTE: Currently this API does not validate if given "phase" is
130 --       a VALID phase or not.
131 PROCEDURE LOAD(
132     X_PHASE   in varchar2,
133     X_SQL     in clob,
134     X_UNIQUE  in boolean default false);
135 
136 -- Deletes from AD_ZD_DDL_HANDLER
137 -- Note: Phase is not passed, it deletes all records from AD_ZD_DDL_HANDLER
138 PROCEDURE CLEANUP(
139     X_PHASE   in varchar2 default null);
140 
141  -- The below API deletes ALL the data from the table
142  -- Please use/call with care
143  --  PROCEDURE CLEANUP_ALL ;
144 
145 end AD_ZD_PARALLEL_EXEC;