Mailing summary of successfully executed process flow
i have process flow that includes multiple number of mappings, each one has function that emails the errors if the mapping is not successful. now at the end of the process flow i want to send out summary email with info about all mappings in the process flow. Some of the mappings have allowed number of errors set to 20, so i'm guessing the mail should look something like this:
<Process_flow_name> started at <HH:MM:SS DD/MM/YYYY> completed successfully at <HH:MM:SS DD/MM/YYYY>
-<Any other info you can pull out for the process flow here>
-<Mapping_1>
--<MAPPING_START_DATE><TIME_TAKEN><ROWS_SELECTED><ROWS_INSERTED><ROWS_UPDATED><ROWS_DELETED><NO_OF_ERROR>
---<If possible the errors are listed here>
-<Mapping_2>
--<MAPPING_START_DATE><TIME_TAKEN><ROWS_SELECTED><ROWS_INSERTED><ROWS_UPDATED><ROWS_DELETED><NO_OF_ERROR>
---<If possible the errors are listed here>
You can create the procedure and then send the desired value form that procedure to Email body.
and the procedure can use metadata tables to get information
like
select
exe.execution_audit_id,
tar.NUMBER_RECORDS_INSERTED,
step_tar.TARGET_NAME,
tar.STEP_TYPE,
tar.NUMBER_RECORDS_MERGED ,
tar.NUMBER_RECORDS_UPDATED ,exe.execution_audit_id, tar.ELAPSE_TIME,exe.EXECUTION_NAME,exe.EXECUTION_AUDIT_STATUS,map_run.MAP_NAME
from ALL_RT_AUDIT_MAP_RUNS Map_run,ALL_RT_AUDIT_EXECUTIONS Exe, ALL_RT_AUDIT_STEP_RUNS tar, ALL_RT_AUDIT_STEP_RUN_TARGETS step_tar
where exe.EXECUTION_AUDIT_ID=map_run.EXECUTION_AUDIT_ID(+) AND
map_run.map_run_id=tar.map_run_id(+) AND
step_tar.STEP_ID=tar.STEP_ID and
exe.execution_audit_id > '114305' order by exe.execution_audit_id descCheers
Nawneet
Similar Messages
-
Execute process flow with OMB*Plus
Hello,
somebody know how to execute a process flow designed with OWB 9.0.4.8.21 within OMB*Plus?
Thanks,
PedroCurrently it is not possible to execute Process Flows or Mappings from OMB. OMB is to be used mostly as a metadata manipulation and processing platform, not for run-time management.
What you could do is to put OMB metadata operation commands and runtime execution commands one after the other in a shell script and then run everything from this shell script (if this is what you are trying to do).
Regards:
Igor -
Execute Process Flow via command line
How can I execute a Process flow from the command line?
As far as I know once the job is setup in OEM it is submitted either through OEM UI or by scheduling, I don't think there is a command line interface. I would ask on OEM forum anyway Enterprise Manager
But why such complexity? All OWB maps keep the execution audit history in one place already.
Nikolai -
Execute process flow question?
Hello,everybody!
I design a process flow to load OLAP,but everytime I excute it ,there are errors(for each mapping)as follows:
starting the task LD_MXCASE:LD_T_TIME
ora-06550:line 1 colum 40
PLS-00201: 'AW_MXCASE'must be declared
ORA-06550: line 1 colum 22
PL/SQL: Item ignored
ORA-06550:line 1, colum 83 :
PLS-00201:'CAROLAP'must be declared
ORA-06550:line 1, column 65 :
PL/SQL: Item ignored
ORA-06550: line 1,column 130:
PLS-00357: Table,View Or Sequence reference
'T_TIME' not allowed in this context
ORA-06550: line 1,column 228 :
PLS-00201: 'AW_T_TIME'must be declared
ORA-06550:line 1,column 416 :
PL/SQL: Statement ignored
finshing the task:LD_MXCASE:LD_T_TIME.
Please help me how to resovle this prolem!
Thank you very much.If the data is loaded successfully, it should be visible eiher from EOM or from other tools. It is not easy to debug this problem from here, so all I can give you are some hints:
1. It might be an EOM problem - have you tried viewing the data by using other tools (BI beans, for example)?
2. It is possible that, even though the load was technically successful, causing no database errors (and no error logs either in RAB or runtime service logs), the loading procedure was incorrect. For example, it is possible that there was a logical error in the loading procedure that loaded 0 rows in the cube (by having a filter condition that erroneously filters out all the rows or an unsuccessful join). Can you check for this? Are the data loaded successfully in your relational cube in the first place?
Regards:
Igor -
Executing Process Flow from OWB Deployment Manager results in RPE-01008
Hi,
I'm using OWB 10.1.0.1.0 (10g) and just installed Oracle Workflow Server 2.6.3.
I can build, validate and generate Process Flows just fine. But every time I try to execute a Process Flow using OWB Deployment Manager, I'm getting a "RPE-01008: Recovery of this request is in progress". Execution of deployed Process Flows using Oracle Workflow Interface works just fine.
Anyone has an idea?
Thanks and regards
Andreas KoppHi Dirk-Jan,
youÃre right, there are some ugly-looking NUllPOinterExceptions in that log file. However, I cannto interpret them:
2005/05/02-13:30:04-CEST [97A560] AuditId=80916: Processing execute request
2005/05/02-13:30:05-CEST [97A560] Free Memory(bytes)=49410200 Total Memory(bytes)=66715648 Used Memory(bytes)=17305448
2005/05/02-13:30:05-CEST [F1DD49] Initializing execution for auditId= 80916 parentAuditId= null topLevelAuditId=80916 taskName=TEST
2005/05/02-13:30:05-CEST [F1DD49] Attempting to create adapter 'class.RuntimePlatform.0.NativeExecution'
2005/05/02-13:30:05-CEST [F1DD49] Attempting to create native operator 'class.RuntimePlatform.0.NativeExecution.ProcessFlow'
2005/05/02-13:30:05-CEST [F1DD49] java.lang.NullPointerException
at java.lang.String.<init>(String.java:166)
at oracle.sql.CharacterSet.AL32UTF8ToString(CharacterSet.java:1378)
at oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:527)
at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:621)
at oracle.jdbc.driver.T2CCallableStatement.execute_for_describe(T2CCallableStatement.java:846)
at oracle.jdbc.driver.T2CCallableStatement.execute_for_rows(T2CCallableStatement.java:1007)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4124)
at sqlj.runtime.ExecutionContext$OracleContext.oracleExecuteUpdate(ExecutionContext.java:1556)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.defineProcessFlow(NativeOWFProcessOperator.java:1029)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.executeDefault(NativeOWFProcessOperator.java:476)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.execute(NativeOWFProcessOperator.java:227)
at oracle.wh.runtime.platform.adapter.rtp.NativeExecutionAdapter.execute(NativeExecutionAdapter.java:43)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:63)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
at java.lang.Thread.run(Thread.java:534)
2005/05/02-13:30:05-CEST [F1DD49] Initializing execution for auditId= 80916 parentAuditId= null topLevelAuditId=80916 taskName=TEST
2005/05/02-13:30:05-CEST [F1DD49] oracle.wh.runtime.platform.service.controller.RecoveryInProgress: RPE-01008: Recovery of this request is in progress.
at oracle.wh.runtime.platform.service.controller.AdapterContextImpl.initialize(AdapterContextImpl.java:1307)
at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.initialize(ExecutionContextImpl.java:789)
at oracle.wh.runtime.platform.service.controller.ExecutionController.initialize(ExecutionController.java:32)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:50)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:76)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
at java.lang.Thread.run(Thread.java:534)
2005/05/02-13:30:05-CEST [F1DD49] Attempting to create adapter 'class.RuntimePlatform.0.NativeExecution'
2005/05/02-13:30:05-CEST [F1DD49] Attempting to create native operator 'class.RuntimePlatform.0.NativeExecution.ProcessFlow'
2005/05/02-13:30:05-CEST [F1DD49] Native execution operator initiating recovery by recoverable operator oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator
2005/05/02-13:30:05-CEST [F1DD49] report_execution_result auditId=80916
2005/05/02-13:30:05-CEST [F1DD49] java.lang.NullPointerException
at java.lang.String.<init>(String.java:166)
at oracle.sql.CharacterSet.AL32UTF8ToString(CharacterSet.java:1378)
at oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:527)
at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:621)
at oracle.jdbc.driver.T2CCallableStatement.execute_for_describe(T2CCallableStatement.java:846)
at oracle.jdbc.driver.T2CCallableStatement.execute_for_rows(T2CCallableStatement.java:1007)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2960)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4124)
at sqlj.runtime.ExecutionContext$OracleContext.oracleExecuteUpdate(ExecutionContext.java:1556)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.defineProcessFlow(NativeOWFProcessOperator.java:1029)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.executeDefault(NativeOWFProcessOperator.java:476)
at oracle.wh.runtime.platform.operator.owf_process.NativeOWFProcessOperator.execute(NativeOWFProcessOperator.java:227)
at oracle.wh.runtime.platform.adapter.rtp.NativeExecutionAdapter.execute(NativeExecutionAdapter.java:38)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:63)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:76)
at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
at java.lang.Thread.run(Thread.java:534)
2005/05/02-13:30:06-CEST [97A560] Free Memory(bytes)=49283952 Total Memory(bytes)=66715648 Used Memory(bytes)=17431696
2005/05/02-13:30:06-CEST [97A560] AuditId=80916: Request completed
Any idea?
Thanks an regards
Andreas -
Error While executing Process Flow
Hello All,
We created one process flow it contins 14 mappings in sequence to execute...7th mapping is getting failed with the below errors:
CursorFetchMapTerminationRTV20007 MAP_FRPDTA_F4801LA
Warning
ORA-01002: fetch out of sequence
ORA-02063: preceding line from FRPDTA MAP_FRPDTA_F4801LA
Warning
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
*[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0913 - Row or object F4801LA in FRPDTA type FILE in use.
ORA-02063: preceding 2 lines from FRPDTA
Kindly suggest how can we resolve this issue...
Regards,
AvaHi
Worth posting to Database Gateway forum
Heterogeneous Connectivity
Cheers
David -
Performance issues executing process flows after upgrading db to 10G
We have installed OWF 2.6.2, and initially our database was at 9.2. Last week we updated our database to 10g, and process flow executions are taking a lot longer, from 1 minute to 15 minutes.
Any ideas anyone what could be the cause of this performance issue?
Thanks,
YanetHi,
Oracle10g database behaves differently on the statistics of tables and indexes. So check these and check wether the mappings are updating these statistics at the right moments with respect to the ETL-proces and with the right interval.
Also, check your generated sources on how statistics are gathered (dmbs_stats.gather....). Does the index that might play a vital role in Oracle9i get new statistics, or only the table? Or only the table where doubled in amount of rows by this mapping?
You can always take matter into your own hands, by letting OWB NOT generate the source for gathering statistics, and call your own procedure in a post-mapping.
Regards,
André -
10GR2 - Cannot get wb_rt_api_exec to execute a Process Flow
Hi,
In version 10.1.3, I was able to use the wb_rt_api_exec procedure to execute process flows within a stored procedure (and called by an Enterprise Manager job).
I have tried something similar in 10GR2, but when I run stored procedure, it says it has executed successfully, but the process flow has not run.
My Stored procedure code is like:-
CREATE OR REPLACE PROCEDURE PROC_TEST IS
ret NUMBER;
BEGIN
ret:= rep_owner.wb_rt_api_exec.run_task('PROCESS_LOCATION','PROCESS','WF_TEST','','',1,1);
END PROC_TEST;
I have noticed there is an extra parameter p_background at the end of the run_task function and was not sure if I am setting it correctly. The procedure compiles ok, but does not run the process flow.
Can anyone help please?
Thanks
GBTo run workflow from SQLPLUS I used the following script:
set serveroutput on
variable exec_return_code number;
begin
-- Initialize Return Code
:exec_return_code := rep_ISM_DEV2.wb_rt_api_exec.RESULT_FAILURE;
-- Run Task
:exec_return_code := rep_ism_dev2.wb_rt_api_exec.run_task('OWF_LOCATION','PROCESS','ALL_MARTS_PF', ' ' );
end;
Prior to running this script I have
1. grant execute on rep_owner.WB_RT_API_EXEC to rep_user;
2. OWF_MGR is registered as Repository user.
It is possible that you will get an error: PE-02018: Oracle Workflow schema OWF_MGR on host XXX.XX.XX.XX cannot be accessed using service ORCL through port 1521. Please check the location details and try again.
To overcome this problem log in to OWB Control Center as the target User (Runtime user) and executed the PF package from there manually. You will get a message that OWF_MGR location was registered by other user and you will get asked to supply the OWF_MGR password. The manual execution should finish normally. After that I am able to run the PF from a command line without problems. It looks like running the PF from the control center stores the OWF_MGR login information somewhere (anybody knows where?) and you do not need to supply it any longer.
Hope it helps.
Vladimir -
Start OWB Process Flow Schedule Job in Workflow Manager
I am trying to get the Oracle Workflow Schedule to execute my Oracle Warehouse Builder (OWB) Process Flow. Please note that execute Process Flow from the OWB deployment manager works fine. I did the following but nothing being executed:
Info:
OWB: 10g
Oracle DB: 10g
Oracle Workflow: 2.6.3
OracelAS: NONE
1. From the Oracle Workflow Manager browser, click the Background Engines->Submit New
2. Insert the following parameter:
Work Item Type: LD_STG
Run Date and Time: 10/18/2004 17:40:00
Run Every: 0 days, 00 hours, 01 minutes, 00 seconds
3. Click ok and system showed "Successfully submitted Background Engine with job number 107"
However, after the specificied schedule time, nothing happened. No error shown in the Work Item.
Any help are greatly appreciated. Thanks.This is a Oracle Workflow client problem. Can you post this to the workflow forum (Workflow
Regards:
Igor -
Hello,
We are facing a very strange problem while running process flows in OWB. We are getting followig error when we execute process flows.
InfrastructureException: RPE-01003: An infrastructure condition prevented the request from completing.
- Io exception: The Network Adapter could not establish the connection
It's strange because we are able to connect to source and target database outside owb. Also, the location test is successful. Any idea why it fails to connect while running process flow only. We tested the db links created by owb. They work as well.
We are using OWB 10.2 on Oracle 10G installed on Linux RAC machines.
Any help is appreciated.
Thanks
MadhaviI have a MATERALIZED VIEW in the process flow and it fails. the erros i get are as follows? can any one tell me what wrong with it?
RPE-01003: An infrastructure condition prevented the request from completing.
RPE-01038: Failed to evaluate expression null. Please modify the expression, redeploy and retry again.
RPE-01003: An infrastructure condition prevented the request from completing.
RPE-02226: Cannot test Control Center user null. This user must match the login credentials of the deployment location.
RPE-01003: An infrastructure condition prevented the request from completing.
no rows found for select into statement -
Error registering Process Flow Location
Hi
I've installed OWB 9.0.4 and successfully registered
Process Flow Location.
Then i've added russian lang to Oracle Workflow Repository
After that when i try to register Process Flow Location
i get error: RTC-5327 Schema OWF_MGR does not contain an
Oracle Workflow Repository.
But i still able to deploy Process Flow Packages
using earlier created Process Flow Location.
ThanksVasily,
This sounds like the known bug 2836447: OWB REPORTS OWF REPOS NOT INSTALLED IF MULTIPLE LANGUAGES ENABLED. The bug was fixed in 9.2 and also should be in the next 9.0.4 patch (9.0.4.11).
The workaround for now is to run the following in Workflow Schema (owf_mgr):
update
WF_RESOURCES
set
NAME = NAME || '_' || LANGUAGE
where
TYPE = 'WFTKN' and
NAME = 'WF_VERSION' and
LANGUAGE <> 'US';
commit;
The following removes the workaround and restores the WF_RESOURCES table to their original state. This should be applied when the fixed OWB client has been installed.
update
WF_RESOURCES
set
NAME = 'WF_VERSION'
where
TYPE = 'WFTKN' and
NAME LIKE 'WF_VERSION_%' and
LANGUAGE <> 'US';
commit;
Nikolai -
Process flow execute "complete" in Runtime Audit Browser but it hangs
I create a process flow that contain 4 sub-process flow, each sub-process flow contains several mapping. Each mapping in the process flow will be executed one by one if previous mapping execute successfully. If any error or warning, it will be ended with "End_Error" or "End_Warning". And I deploy the process flow to the workflow server successfully.
Sometimes the process will hang in some certain mapping when execute the process flow. After long time waiting, the status of process flow execution in Audit Browser will be "Complete", but in fact, the sub-porcess ended with that mapping and the next mappings will not be execute. This can be monitored in the Audit browser, as if the whole process "break" at that mapping.
In workflow monitor, I found the workflow has not complete yet. The status of that mapping node is "Notified", not "complete". So I have to abort the workflow in the monitor.
Sometimes when I try again it will be ok. If I deploy the process to another instance that in dw instance, it will also be ok. The dw instance use owb recommend parameters when we install db instance. All the mapping use the default parameters except "Default operation mode", here we use "row based".
Can somebody give me some hint?
Thanks.
OWB 10g rel 1, db: 10g rel2, workflow: 2.6.4Hi Naidu
Yes you are absolutely right. When you press the cancel button in the GUI, the runtime repository does not get the signal that he is been asked to stop and abort. The GUI cancels himself but the background oracle process is still on !!!. The only way to do is to kill the oracle session. Another way I tried to tackle is
go to the directiry OWB/10.1/owb/rtp/sql and run the file @list_request.sql in sqlplus. Note that you have to login as runtime repositiry owner. After you get the audit id, run the file abort_exec_request.sql and supply the audit id that you obtained by running list_requests.sql. Sometimes it does not work also . Hence the best method is to kill the process -
How to set E-Mail Activitie in Process Flow
Hi All,
I am very new to OWB and i created process flow based on documents.Process flow run successfully.Now i need to set E-mail Activity to that process flow. i read some of links and help topics.But iam not clear.so pleaseme tell how to do.
Thanks,Hi
You just add the Email icon to the palette and if a process runs sucess or error (depends on your transition). Just add the email icon and click on it. Fill in the necessery values, such as
From
To
Subject
Body
SMTP server.
If you have a mailserver installed on your machine - just enter "localhost".
Else you will need to use an existing email server.
BR / Ander -
Process Flow branches to Error, displays success in RAB
Hello,
I am calling a custom function from within a process flow in OWB. This function is performing some basic, customized validations after the mappings execute within the process flow. Depending on the result of the validation function, I want the process flow to branch to either Success, Warning, or Failure. The process flow is branching correctly based on the return code from the function. I can verify this from WorkFlow Manager. However, when I look at the execution of the process flow in the Runtime Audit Browser (RAB) it shows that the process flow completed successfully, regardless of what state it branched to. I would like for the process flow to be marked as either a warning or error in RAB, so that I can quickly identify what process flows failed the validation check perfomed by my function. How can I make RAB display these indicators? I'm running OWB repository version 9.2.02.0.
Thanks,
JustinMark,
Thanks for the reply.
In my process flow I have included all three ending activities. I have also checked that the correct condition is placed on the transition to the activity (i.e. on Error condition, branch to End Error) The process flow is following the correct branch depending on the code returned from my function. (Workflow Manager confirmed this for me) Regardless of the End condition, RAB indicates that the process flow completed successfully. When it ended in an error, I would have expected RAB to display the usual red 'X' by the process flow but it is not.
Thanks,
Justin -
How to execute SQL scripts using OWB Process flows ?
Hi,
I have some SQL Scripts. I have to execute them using OWB Process flows.
Can i get any document or link which helps me in achieving this?
Thanks in Advance,
SriGPSutirtha,
Thank you very much. I really appreciate all of your responses.
I have one more question ( Sorry for flooding you with lot of questions :) )
How to capture the errors which occured inside the SQL Scripts.
My scenario is like this. I have two sql scripts Script_1.sql and Script2.sql namely. I would like to put dependency on the execution of the scripts.
If Script_1.sql executes succesfully without any errors, then EXECUTE Script_2.sql
else if Script_1.sql execution contains errors then DON'T EXECUTE Script_2.sql
As of now, i observed that the Process flow shows Success State even if there is an error in the sql script execution. Because of which i was not able to put dependency on the execution of the scripts.
I think i can do it by tweaking(changing) the code inside the SQL Scripts, like logging the errors in some log table and reading it before the next script execution.
But the restriction is, I Should not touch/change the existing SQL Scripts.
Do we have any mechanism in the ProcessFlows to identify the SQL Errors that occurred during execution of SQL Scripts ?
Please suggest any idea on this. It will be great if you can help in this.
Thanks in advance,
SriGP.
Maybe you are looking for
-
How to move CRM_UI_FRAME component from one box to another box
Hi All, Need help about this task. Background: - CRM Dev Box - CRM QC Box - CRM Prod Box Problem: - CRM_UI_FRAME component on the QC Box is not working properly. When we are going to the BSP Workbench, an error comes out that there is an unclosed tag
-
How to find out the table column that is required for index
hi all, i want to the column required for index in one schema. what are the ways to achieve the same.
-
I cant receive calls!!!
I can not receive calls on my wife's cell phone. ATT should have support open 24hrs in general but especially this weekend. Any suggestions?
-
Sql_trace does not work for Java app using Oracle JDBC thin driver
Hi, I'm using Oracle 8.1.7. I enabled sql trace at instance level by setting sql_trace and timed_statistics to true in init.ora. I restarted the db instance. I wrote a stand-alone java application which used Oracle JDBC thin driver(classes12.zip) to
-
Need a help with TransformGroup
Tehere is code fragment: TransformGroup g1=new TransformGroup(); g1.addChild(cube0); g1.addChild(cube1); objRotate.addChild(g1); SimpleBehavior myRotationBehavior0 = new SimpleBehavior(g1); myRotationBehavior0.setSchedulingBounds(new BoundingSphere()