Load Plan and empty variables on ODI 11G
Hi everyone,
I am working with ODI 11g (11.1.1.7.0) and I want to setup a variable with the Load Plan, however I am not able to update and retrieve the variable value inside of a case that is always keeping the initial value. Even the operation history shows the variable value empty. Have you ever used Load plan and noticed this strange behavior?
Regards,
Angelo
Okay let me try to help you on this.
Oracle Data Integrator agents process each scenario execution instance as a session. Each session exists in the agent as a separate thread of the agent Java process.
When a scenario is executed on an agent, the agent creates a session in the repository that corresponds to this scenario's instance. The agent reads each task of this session from the repository, processes it, and writes the result - the return code, message and tasks metrics such as the duration or number of rows processed - into the repository.
Hence multiple session multiple thread.
Hope you are clear now.
Thanks.
Similar Messages
-
How to shutdown and start agent in ODI 11g in Linux Environment
Hi Experts,
Pls any one can help me on "How to shutdown and start agent in ODI 11g in Linux Environment" and where can I find Agent.sh and Agentshutdown.sh files location in ODI 11g and parallely how can I find Odiparameter.sh file location
Thanks in Advance
Regards
PhaniPhani ,
Go to your <ODI_11g_HOME>/oracledi/agent/bin
and you will find agent.sh , agent_<standalone_agent>.sh and odiparams.sh and other agent files.
Step 1. Update your odiparams.sh
Step 2. Create the Physical and Logical Agent int your Topology using the same port_number and name provide while creating the Stand alone agent during installation ( or) create accordingly the agent in Topology with name and port number as required and make the modification in agent_<stand_alone>.sh file
Step 3. After doing so start your agent_<stand_alone>.sh
Step 4. Repeat the process 2-3 for any number of stand alone agent created on different ports and steps 1 to 3 for different Work repository
Thanks
Dev -
Hi all,
I cannot set value for variables inside load plan exceptions editor. Anyway I can inside Load Plan steps editor.
Is it possible ?
I need to set variable when exception is raised. How I can do it ?
thanksthank you for the answer..
but why I have to use a when case step?
I just need to set a string in a variable before to execute a serial step within exception step.
I do this in a normal load plan step. So Why I cannot do the same in the exception one ? -
Load Plan and Java Virtual Machine
Hi,
We're think about using ODI 11g Load Plan, but I've got a question about their behaviour.
Suppose I've got a load plan that launches 2 scenarios in parrallel with standalone agent.
Will ODI launch 2 Java Virtual Machine "as if we just launch 2 ODI commands (startscen.bat)" or will it use only 1 Virtual Machine ?Okay let me try to help you on this.
Oracle Data Integrator agents process each scenario execution instance as a session. Each session exists in the agent as a separate thread of the agent Java process.
When a scenario is executed on an agent, the agent creates a session in the repository that corresponds to this scenario's instance. The agent reads each task of this session from the repository, processes it, and writes the result - the return code, message and tasks metrics such as the duration or number of rows processed - into the repository.
Hence multiple session multiple thread.
Hope you are clear now.
Thanks. -
Load Plan exception step variable
Hi all,
maybe you could be interested in.
It is not possible refresh or overwrite a variable inside exception step. This is fantastic !
http://docs.oracle.com/cd/E21764_01/relnotes.1111/e10133/odi.htm#CHDFFEFI
So If I need to log an error I cannot use a parametric query. Great !Currently my packages have many steps, each step with a red failure arrow leading to this type of failure e-mail procedure -- lots of red arrows and many nearby copies of the failure e-mail procedure to eliminate the confusion.
I had hoped that the Load Plan Exception feature would let me take all these red arrows out of my packages and move the e-mail failure reporting to the Exception step. -
Load balancing and transparent failover in RAC 11g
Hi,
The only way to configure load balancing and transparent failover in RAC 11 g R2 is using the clauses LOAD_BALANCING and FAILOVER on the tnsnames.ora of application server. Is that correct?If the database is admin-managed, I shall suggest that rather than playing with the remote_listener parameter , set one service as preferred for one instance.For the other service, let it be preferred on both the nodes. The service with just one instance as Preferred won't be able to use loab-balancing as there is just one instance available for its disposal.
HTH
Aman.... -
BI Apps ODI Load Plan Execution Error and Question on Rerun
I am following the technetwork Cookbook: Installing and Configuring Oracle BI Applications 11.1.1.7.1 to install and configure my first BIApps with ODI. Smooth until I execute the Load Plan.
Following errors were found on first attempt of execution. Without doing any change, I re-executed the load plan, error again but this time the message is difference (2nd attempt)
Question:
- How shall I start to diagnostic the ODI error?
- Apparently there are something left in the failure execution, how I can clean it up for reruning the Load Plan?
Many thanks.
ODI errors on first execution
ODI-1519: Serial step "Start Load Plan (InternalID:1500)" failed because child step "Global Variable Refresh (InternalID:2500)" is in error.
ODI-1519: Serial step "Global Variable Refresh (InternalID:2500)" failed because child step "1 Domain (InternalID:5500)" is in error.
ODI-1519: Serial step "1 Domain (InternalID:5500)" failed because child step "2 Domain SDE (InternalID:35500)" is in error.
ODI-1519: Serial step "2 Domain SDE (InternalID:35500)" failed because child step "Serial (InternalID:36500)" is in error.
ODI-1519: Serial step "Serial (InternalID:36500)" failed because child step "3 SDE General Domain (InternalID:54500)" is in error.
ODI-1519: Serial step "3 SDE General Domain (InternalID:54500)" failed because child step "Load Target Table (InternalID:55500)" is in error.
ODI-1519: Serial step "Load Target Table (InternalID:55500)" failed because child step "EBS_12_1_1 - DSN 1000 (InternalID:56500)" is in error.
ODI-1519: Serial step "EBS_12_1_1 - DSN 1000 (InternalID:56500)" failed because child step "DOMAIN (InternalID:57500)" is in error.
ODI-1519: Serial step "DOMAIN (InternalID:57500)" failed because child step "Parallel (InternalID:58500)" is in error.
ODI-1518: Parallel step "Parallel (InternalID:58500)" failed; 5 child step(s) in error, which is more than the maximum number of allowed errors (0) defined for the parallel step. Failed child steps: COMMON (InternalID:59500), HUMAN_RES (InternalID:90500), FINANCIALS (InternalID:95500), SUPP_CHAIN (InternalID:122500), PROJECTS (InternalID:98500)
ODI-1518: Parallel step "COMMON (InternalID:59500)" failed; 11 child step(s) in error, which is more than the maximum number of allowed errors (0) defined for the parallel step. Failed child steps: SDE_ORA_DOMAINGENERAL_PRODUCT_CLASS (InternalID:69500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS PAY_GROUP (InternalID:88500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS MARITAL_STATUS (InternalID:85500), SDE_ORA_DOMAINGENERAL_PRODUCT_MASTERORG (InternalID:73500), SDE_ORA_DOMAINGENERAL_PRODUCT_CATEGORYNAME (InternalID:67500), SDE_ORA_DOMAINGENERAL_STATE (InternalID:61500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS CUSTOMER_CATEGORY (InternalID:83500), PRODCAT (InternalID:75500), SDE_ORA_DOMAINGENERAL_FLEXFIELD (InternalID:89500), SDE_ORA_DOMAINGENERAL_FND_LOOKUPS ORGANIZATION_SIZE (InternalID:82500), UOM - Serial (InternalID:78500)
ODI-1217: Session SDE_ORAR1211_ADAPTOR_SDE_ORA_DOMAINGENERAL_PRODUCT_CLASS (38500) fails with return code 8000.
ODI-1226: Step Run SDE_ORA_DomainGeneral_Product_Class fails after 1 attempt(s).
ODI-1240: Flow Run SDE_ORA_DomainGeneral_Product_Class fails while performing a Integration operation. This flow loads target table W_DOMAIN_MEMBER_GS.
ODI-1228: Task SDE_ORA_DomainGeneral_Product_Class (Integration) fails on the target ORACLE connection BIAPPS_DW.
Caused By: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack...
ODI errors on second execution
ODI-1519: Serial step "Start Load Plan (InternalID:1500)" failed because child step "Global Variable Refresh (InternalID:2500)" is in error.
ODI-1519: Serial step "Global Variable Refresh (InternalID:2500)" failed because child step "1 Domain (InternalID:5500)" is in error.
ODI-1519: Serial step "1 Domain (InternalID:5500)" failed because child step "2 Domain SDE (InternalID:35500)" is in error.
ODI-1519: Serial step "2 Domain SDE (InternalID:35500)" failed because child step "Serial (InternalID:36500)" is in error.
ODI-1519: Serial step "Serial (InternalID:36500)" failed because child step "3 SDE General Flexfield (InternalID:37500)" is in error.
ODI-1519: Serial step "3 SDE General Flexfield (InternalID:37500)" failed because child step "Finalize Flexfield (InternalID:50500)" is in error.
ODI-1519: Serial step "Finalize Flexfield (InternalID:50500)" failed because child step "EXEC_TABLE_MAINT_PROC (InternalID:51500)" is in error.
ODI-1217: Session EXEC_TABLE_MAINT_PROC (107500) fails with return code 20000.
ODI-1226: Step TABLE_MAINT_PROC fails after 1 attempt(s).
ODI-1232: Procedure TABLE_MAINT_PROC execution fails.
ODI-1228: Task TABLE_MAINT_PROC (Procedure) fails on the target ORACLE connection BIAPPS_DW.
Caused By: java.sql.SQLException: ORA-20000: Error creating Index/Constraint : W_FLEX_SQL_G_U1 => ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys foundHi,
The first error happened is
ORA-12516, TNS:listener could not find available handler with matching protocol stack...
The above is due to the listener been disconnected while the LP is executing. This can be solved by restarting the load.
The second error happened is
ORA-20000: Error creating Index/Constraint : W_FLEX_SQL_G_U1 => ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
The above is due to the duplicate records found in the table w_flex_sql_g. You can solve this by deleting the duplicated records in that table like referred in the below link
OBIEE, Endeca and ODI: BIApps and ODI 11.1.1.7.1 Full Load
Regards,
Saro -
Unable to refresh variable definition in ODI Load Plan
Hi All,
We recently removed the variable definition and changed it to default value. After that we tried to refresh the variable in Load plans / Scenarios but it still shows old SQL. Can you please suggest if there is a way to force refresh the variable definitions in load plans? We tried removing and re-adding the variable but that didn't help. Last resort will be to recreate the load plans but we are trying to avoid that.
Thanks,
AndyHi Alastair,
Thanks for the reply. Actually variable is returning the correct value. Only problem is that in the Load Plan's variable section variable still shows old definition even after trying to refresh n number of times and also tried removing it from load plan and then inserting it back in after changing the definition. We don't want to migrate load plan like this. Kindly suggest.
Thanks,
Andy -
Case when condition in ODI Load Plan
Hi All,
Created a project variable(VAR_X) which is a text type and it can be refreshed by querying in some database.
Created a Load Plan and added a Case step by using VAR_X
with following logic
Case VAR_X
when value ='X'
run_x_scenario.
when value='Y'
run_y_scenario.
else
but whenever I give start up value X or Y ,variable unable to evaluate the when condition provided in the load plan.
always its taking else step
Case VAR_X
else
but its working when I evaluate with numeric number like when value =1 etc (here I changed variable datatype to numeric)
Any pointers will be appreciated.
Thanks,
AravindIt may be due to the quotes you have added in your when clause. Can you try it without quotes.
-
ODI Multi Execution of Load Plans
Hi,
I am using ODI version 11.1.1.6.0
I wanted to know the number of instance running for my load plan. I tried using ODI APIs (odiRef) but no results.
Can anyone help on this topic?
Thanks in advance.
Regards
GauravAJ,
1) We see the status remains in R state if Load plan fails during execution of ON CONNECT. Status does not change until the ODI studio is closed (Version is 11.1.1.6).
2) Can we run your SQL as part of a Load Plan(load plan executes on different target database-different from work repository instance)?
3) Is it possible to get number of load plan instance in run state through some API or class in ODI like [http://docs.oracle.com/cd/E28389_01/apirefs.1111/e17060/oracle/odi/runtime/agent/invocation/LoadPlanStatusInfo.html] ? If yes, please help with some example.
Thanks -
Loading External SWF and setting variables
Hello Everyone.
I'm sure you are all a where of the FlashVars attribute for
Flash embeds which holds variables for SWF's when they are
rendered. I'm attempting to load an External SWF dynamically
from within my own SWF and need to provide it with the values
normally stored in the FlashVars. For the example below I
wait until the External SWF is completely loaded using the
onLoadInit event from moviecliploader and then i attempt to
set the required variables that the loaded SWF needs. This works
great in test and debug mode (ie. Test Movie and Debug Movie
from the Control menu), but when i publish my FLA to SWF and run
the SWF the variables will NOT get set in the loaded External SWF.
From my readings ive people have mentioned that the player is only
able to access Methods of an External SWF. If this is the case then
how do they expect people to set the FlashVars of dynamically
loaded SWFs? I investigated the loadVariables procedure as well and
had the same results in test mode and was wasn't reliable because
of timing issues.
The sample source is below... if anyone has any ideas or has
come across this issue before, I would really appreciate some
insight.
Thank you in advance for your time.
var loader_mc:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
loader_mc.addListener(mclListener);
mclListener.onLoadProgress = function(target_mc:MovieClip,
numBytesLoaded:Number, numBytesTotal:Number) {
// DO NOTHING
mclListener.onLoadComplete = function(target_mc:MovieClip) {
// DO NOTHING
mclListener.onLoadInit = function(target_mc:MovieClip) {
// WORKS IN TEST MODE NOT IN PUBLISH/SWF MODE
target_mc._root.param1 = "value1";
// WORKS IN TEST MODE NOT IN PUBLISH/SWF MODE
_level0.container_mc.param1 = "value1";
this.createEmptyMovieClip("container_mc",
this.getNextHighestDepth());
container_mc._lockroot = true;
loader_mc.loadClip("somecoolflash.swf", container_mc);I've tried that as well and it behaves the same as onLoadInit
... Works when i test but doesnt when i publish to a swf. I think
this is security related and the flash player just cant write to a
loaded swf and set variables. -
Hello,
I have following requirement for execution of Load Plan:
1. Do not allow execution of the Load Plan if it is already running?
2. Do not allow execution of the Load Plan 1 if Load Plan 2 is executing?
Can I achieve the requirement through some ODI API's that give me information about Load Plan run which can be embedded as a check in ON CONNECT? or some better way?
Thanks
AJHi.
1) I don't know if its possible
2) I don't know if it's possible to achieve what you want from one load plan to another.
You may do the following:
1 - Create a table with the load plan name or ID and the dependency between them (like a parent-child table) and put start and end date times or flag attributes to inform the execution start and finish.
2 - Create one or more package or procedure to control the finish of one load plan and start of the other. Use the ODITimeWait and a variable to check the value of the flags in a loop.
3 - Put the call of these packages or procedures in the beginning of each load plan so he may start but will continue only if the parent load plan finished sucessfuly.
May be a little complicated in the beginning but worth a try and you can attach as many load plans you want.
OR
1 - Create a package with a call to the child load plan using OdiStartLoadPlan
2 - Add the package scenario to the end of the first load plan.
Any other idea will be greatly appreciated.
Cheers. -
Using variables in ODI 11.1.1.5
Hi,
i have created 4 variables in ODI 11g as mentioned below:
1.Variable_name = v_date
datatype = alphanumeric
default value = '30-NOV-2011 11:00:00'
2.Variable_name = v_time_offset
datatype = alphanumeric
default value = 125
3.Variable_name = v_starttime
datatype = alphanumeric
default value = '30-NOV-2011 11:00:00'
4.Variable_name = v_endtime
datatype = alphanumeric
default value = '30-NOV-2011 11:30:00'
I have created a filter on the source table to pull the records only for the time between v_starttime and v_endtime.
Now, in the ODI package, I have declared all the above 4 variables. Here I want to calculate the variable values v_starttime and v_endtime to pass on to the interface. I have used the below calculations to set the variables :
v_starttime = #v_date+(#v_time_offset/1440)
v_endtime = #v_date+((#v_time_offset+5)/1440)
Now when I execute the package, the package(the interface) is getting failed with the error - invalid character. When I looked into the variables to see whether they are refreshed properly, they didn't. In the Operators, Under 'History' of variables section, the value of both the variables are showing as #v_date+(#v_time_offset/1440) and #v_date+((#v_time_offset+5)/1440) only. Thats means the varaibles are not evaluated properly. Kindly help me how can I fix this ? Many thanks in advance ...
regards,
saiHi Sai,
Please try below one
Take 2 more ODI variable 1) v_STime and 2) v_ETime
In v_STime write below query
select to_date(to_char(v_date,'yyyy-mm-dd'),'yyyy-mm-dd')+(to_number(#v_time_offset)/1440) from dual;
In v_ETime write below query
select to_date(to_char(v_date,'yyyy-mm-dd'),'yyyy-mm-dd')+(to_number(#v_time_offset)+5/1440) from dual;
Note: For v_date,v_starttime and v_endtime variable please don't take default value just write below query
Query: select sysdate from dual;
Hope this may helps you
Regards,
Phanikanth -
Early execution of scheduled load plan
Hi All,
Can anyone help me
In my Project, production environment they scheduled 2 loadplans ie fulltest & odscopies
so what happen here is in fulltest scheduled at every sat 1.00am, having 7 scenarios with 3 are parellel, in that 2 scenarios has executed befor the scheduled time and again exectuted scheduled time
why its runs we are not able to found it and its do this week only never happen previosly ?
Thansk in advance
srikanthHi.
1) I don't know if its possible
2) I don't know if it's possible to achieve what you want from one load plan to another.
You may do the following:
1 - Create a table with the load plan name or ID and the dependency between them (like a parent-child table) and put start and end date times or flag attributes to inform the execution start and finish.
2 - Create one or more package or procedure to control the finish of one load plan and start of the other. Use the ODITimeWait and a variable to check the value of the flags in a loop.
3 - Put the call of these packages or procedures in the beginning of each load plan so he may start but will continue only if the parent load plan finished sucessfuly.
May be a little complicated in the beginning but worth a try and you can attach as many load plans you want.
OR
1 - Create a package with a call to the child load plan using OdiStartLoadPlan
2 - Add the package scenario to the end of the first load plan.
Any other idea will be greatly appreciated.
Cheers. -
Issue with the upadted database Schema in ODI 11g ?
Hi ,
I am new to ODI .. and i am using ODI 11g .
the problem which i am facing is below stated :
I have an existing interface with both source and target tables its working fine . when there is change in the column in the source and the target table i do the reversed enginnner to get the new colums in the source nad the target schema .
I tried to retain the existing mapping of source and traget by deleting the source schema and replacing it with the newly updated schema in the source colum in the interface .
and drag and drop the the newly updated schema In the target colum in this way i was able to retain the existing mapping ,and did the mapping for the new columns in both .
The problem is that it is running succesful and data for the earlier existing mapping are moving from source to target but not for the newly mapped column .
please help me out in sorting out this issue
the knowlede modules that i am using it are as follows
For LKM i am using LKM SQL to SQL
For CKM - CKM SQL
FOR IKM -IKM SQL Incremental UpdateThanks for the suggestion .i am working with Interface . i implemented that and got the colums without deleting anything ,but when i am mapping the newly upadted colums i am getting an error while executing the Interface .
ODI-1228: Task TARGET_1 (Control) fails on the target connection odipoc.
Caused By: java.sql.SQLSyntaxErrorException: ORA-00904: "COUNTRY": invalid identifier
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1115)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1488)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3954)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1539)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Maybe you are looking for
-
I attempted to purchase the app Civilization V for my Macbook Pro, but the app will not download. How can I get the app to either finish the download or get refunded for the purchase?
-
How to create a table using blob datatype and then selecting the output???
I have created table create table imgloader(img_l blob); now i want to insert the image i.e. '/u1/archie.jpg' to this table what steps to be follwed to insert the image into table..and how to see the stored image??
-
To find table name ( urgent)
1) structure name : MEPO_TOPLINE. 2) " " : GOHEAD. plz.. send what is the TABLE name for above structures.. and what is the procedure to find...
-
Could not create JCOClient Connection
I am seeing the issues that are common, as pointed out in these threads: https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=%22couldnotcreate+JCOClientConnection%22&adv=false&sortby=sdn_updated_on&sortmode=descending But I have increase
-
Does a purchased app get a unique registration id?
I have built an AIR app which I would like to publish, but this app depends on my web server to provide a service. I want the web server to be able to validate, or at least associate, the requests coming from each installed AIR app with a particular