[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;