ODI-1266 - Stale sessions

We currentl have a problem on our Production system where some of the senarios fail with :
ODI-1266: Agent OracleDIAgent detected Session as stale session and set to error status.
The timeout on ODI is set to 22000 .
Does anyone know how to avoid/fix the stale session problem?
Jenny Cripps

State sessions are sessions that are not run by any agent yet having running status in the repository. Agent cleans up such sessions and mark them as stale session.
This happens when either 1) your agent crashes while the session was running OR 2) your repository is bounced while the session was running.
In either of the case the session status could not be properly updated in the repository so when agent finds such session it marks them as stale session.
Please verify which of the scenario have caused the stale session in your case.

Similar Messages

  • ODI-01266: Agent {0} detected Session as stale session and set to error

    Hi
    I am a beginner in odi
    I scheduled a package to run . but this error came up :" ODI-01266: Agent {0} detected Session as stale session and set to error status"
    what is this error and what should i do???
    thanx
    medi

    Cleaning Stale Sessions
    Stale sessions are sessions that are incorrectly left in a running state after an agent or repository crash.
    The Agent that started a session automatically detects when this session becomes stale and changes it to Error status. You can manually request specific Agents to clean stale sessions in Operator Navigator or Topology Navigator.
    To clean stale sessions manually:
    Do one of the following:
    From the Operator Navigator toolbar menu, select Clean Stale Sessions.
    In Topology Navigator, from the Physical Architecture accordion, select an Agent, right-click and select Clean Stale Sessions.
    The Clean Stale Sessions Dialog opens
    In the Clean Stale Sessions Dialog specify the criteria for cleaning stale sessions:
    From the list, select the Agents that will clean their stale sessions.
    Select Clean all Agents if you want all Agents to clean their stale sessions.
    From the list, select the Work Repositories you want to clean.
    Select Clean all Work Repositories if you want to clean stale sessions in all Work Repositories.
    Click Clean to start the cleaning process.

  • Why stale sessions are creating in Data Load Execution?

    Hi Experts,
    Can anyone tell,Why stale session are creating every time, when i do the incremental load in operator tab?.Thanks In advance.
    Regards,
    raj

    Hi Experts,
    I got the some below information from blogs..is it correct?
    When the network connection has a problem or an agent gets disconnected from master and work repository momentarily, we end up with stale sessions.and master and work repositories Crash.
    Thanks

  • What is a stale session

    Hi,
    Can anybody explain me about stale sessions..How to identify them and also how to kill them..
    Thanks in advance....

    Yeah - a more correct term would be "+orphaned sessions+" as the session is there to serve a client that no longer exists.
    @user12657832:
    I would not call the term "+stale+" sessions relevant to Oracle. There are 2 basic session states in Oracle.
    - active: server process is busy servicing (executing) a client request
    - idle: the server process is waiting for a client request
    A session can last a few seconds.This is typical in a thin-client architecture where the clients are stateless.
    A session can last several days. For example, a developer using TOAD and simply keeping the client open and running on his PC for several days, without closing it down and reconnecting.
    There is however an issue at the wire protocol level. When the client crashes, it does not send a FIN packet down the wrire to tear down its network connection with the server. So the server session is unaware that the client crashed. The IP stack on its side does not inform the server session that the network socket handle it owns is no longer valid. It will only discover that when it attempts to use that socket handle to communicate with the missing client.
    It has no reason to do that however, as it is waiting for the next request from the client.
    So in such a case, one gets orphaned sessions. An idle session that waits on a non-existing client.
    There's no way to accurately identify such sessions in Oracle. You can determine the life span of a session and if it is older than 2 days for example, consider it as an orphan and kill it. But its client may still exist. Its network connection between client and server may still be valid.
    There are ways to deal with such server sessions (and this is a problem with all tcp based servers). In Oracle it is called DCD or Dead Connection Detection. This forces the server session to send a ping over its socket handle to the client at regular intervals. And the client to respond with a pong. Should this fail, then the network connection is no longer valid and the server session can terminate.
    However, due to the very robust nature of the tcp protocol (designed by the US military to still provide communication over large pieces of broken communication infrastructure in a post nuclear scenario), it can in some cases take many minutes for the network layer to discover that the client is not responding and no longer reachable.

  • ODI database connection - session question

    Hi,
    I have a package, where I have used a procedure.
    In my procedure, I open a database connection.
    My question is - In my next procedure - will I be able to use my same database connection which I created in previous step?
    Re-phrasing the question - for any number of database transaction happening in a package, will ODI opens multiple database connection per step or will there be only one single database connection?
    Thank you,
    Paras

    I believe its one per session so one connection inside the package. I think you should be , although i have not tried it practically.

  • Killing ODI Users Disconnected sessions

    Hi,
    We are accessing ODI via Citrix. More often then not some of the users simply close the application without disconnecting from the repository. This leads to performance degradation as there are many sessions which are not disconnected.
    How do I kill those sessions?
    Please suggest.
    Regards,
    Prerna

    Hi Prema,
    I think you can kill user session ffrom backend. Below URl may helps you
    http://www.dba-oracle.com/t_alter_system_kill_session.htm
    Hope it will helps you
    If you want to kill ODI execution session( I mean like user executed any scenario or package or interface or procedure from ODI), go to Operator >right click on execution session > click stop normal or stop immediate
    Regards,
    Phanikanth

  • Invalid session id when logging in after logging out.(Stale session token?)

    When I logout and then login again I get an exception in the agent debug log which seems to indicate that it is trying to use the old session token. The agent is correctly seeing the logout event and redirecting to the logout page and then to the login page. Am I missing something from my cookie rest values? What values should I have there?
    amFilter:07/29/2009 04:06:23:141 PM EDT: Thread[WebContainer : 6,5,main]
    WARNING: {color:#ff0000}SSOTokenValidator.validate():{color} Exception caught: AQIC5wM2LY4Sfcxv06BBMMZtbjHlFhrdIBTHWoP23atm718=@AAJTSQACMDE=#
    {color:#ff0000}Invalid session ID{color}.AQIC5wM2LY4Sfcxv06BBMMZtbjHlFhrdIBTHWoP23atm718=@AAJTSQACMDE=#

    If you are being redirected to /amserver/UI/Logout the ssotoken id cookie should have been erased. Check that, and check in amFilter log what value of ssotoken id cookie in the request. It should change if you go to Logout then Login.
    Please provide more detailed information of the environment and behaviour.

  • Kill RAC sessions in ODI

    Hello.
    I want to create a package in ODI that kill sessions in Oracle RAC.
    We have a RAC with two instances (DB1 and DB2)
    In the Database we have a view (V_SESSIONS) that contains the SID, SERIAL and INSTANCE of the sessions to kill.
    I create in ODI, two procedures to kill sessions. One to kill session in DB1, and another procedure that kill session in DB2. If i execute individually the procedures, the sessions are killed.
    How can i create a package that automatically read, (row by row) the view V_SESSIONS and execute one procedure or another, depending on the column INSTANCE in the view?

    Hi Kabilero,
    that is easy! :D
    In the same procedure/step where you create the commando to kill session go the SOURCE tab and write the select, something like (I do not search the right command)
    select SID as c1, SERIAL as c2, INSTANCE as c3 from v_view
    (I used alias just to avoid reserved words at ODI)
    In the TARGET tab write something like:
    kill session where ID = #c1 and Serial= #c2 and Instance = #c3 (however is the right syntax)
    That will execute the "kill" command once to each line returned by the select command where #c1,#c2 and #c3 will bring the values from each record.
    Does it help you?

  • What happens when deleting the ODI session which is active?

    I have another question - If I happen to delete the session vs. stop the session, would deleting the session in ODI mean deleting the session in Oracle too from where it is extracting the query?
    What if the interface has already been extracted from Oracle and loading data into essbase, and at that time we delete the session in ODI, what would happen?
    Thanks
    Kemp

    hi to All,
    I have faced this issue, When i delete the session in the operator window?. It just delete the logs in ODI,But the session in ORACLE still in active condition.
    If I stopped the session in operator window. Its ends the session in but ODI and ORACLE too.
    Let me know. what is the different between the Delete and stop option in Operator window?. and Why the session is not ended in ORACLE while deleting the session in Operator window of ODI?
    Thanks
    Madha

  • Slate Session Error

    Hi friends,
    As a part of BIAPPS-ODI configuration, while running an EP one of the my session is getting failed in ODI - operator with the below error like
    ODI-1266: Agent OracleDIAgent detected Session as stale session and set to error status.
    Hence while during the session run in ODI, my ODI Agent is been stopped due to some machine failure. Once after i restarted my machine and Agent and again if i run the same session means then it is failing with the above error.
    For the above issue i tried to clean slate session in the topology navigator, but then too the error resides.
    Kindly help me to solve this issue friends.
    Thanks in advance.
    Regards,
    Saro

    Basically a stale session is session whose status is running in the repository but is not being executed by anybody. A session can go into such state in two conditions 1) agent crashed while executing the session so the session remain in running status in repository 2) Repository DB goes down thus agent does not get chance to update the status.
    Such stale sessions are cleaned by marking them to error status and the error message is set as what you have described above. There are three ways when such stale sessions are cleans by ODI. 1) on agent startup 2) by explicitly running the clean stale session command from studio 3) on any new session startup
    So in your case the the running session went into stale state due to agent crashed and is marked to error state on agent restart. So the cleaning of stale session is already performed.

  • JSP Session populated with class not working after redirect

    Hi,
    I create a session (code sample 1 below) on my index.jsp page. Index.jsp has a form on it, and a button that points back to index.jsp. The page is dynamically generated.
    The session is created fine, and persists properly between pages.
    However, on the last page, i re-direct the user to summary.jsp (with code sample 2), and on that last page (using the session CODE SAMPLE 3) i get an error.
    Internal error: servlet service function had thrown ServletException (uri=/imac2/summary.jsp): javax.servlet.ServletException: jsps.imac2._index_jsp$userSession, stack: javax.servlet.ServletException: jsps.imac2._index_jsp$userSession at jsps.imac2._summary_jsp._jspService(_summary_jsp.java:681) , root cause: java.lang.ClassCastException: jsps.imac2._index_jsp$userSession at jsps.imac2._summary_jsp._jspService(_summary_jsp.java:611)
    How can I resolve this. The userSession class is defined simply as
    public class userSession
    Code Sample 1 ########################
    userSession requestData;
    if (session.isNew())
         requestData = new userSession();
         session.setAttribute("sessionRequestData", requestData);
         %>NEW SESSION <%
    }else
         if (QuestionID == 1)
              requestData = new userSession();     
              session.invalidate();
              session = request.getSession(true);
              session.setAttribute("sessionRequestData", requestData);
              %>STALE SESSION, RECREATED<%
         }else
              if (session.getAttribute("sessionRequestData") == null)
                   requestData = new userSession();
                   %>WONKY SESSION<%     
              }else
                   requestData = (userSession)(session.getAttribute("sessionRequestData"));
                   %>STALE SESSION<%
    CODE SAMPLE 2 ##################
    response.sendRedirect(response.encodeRedirectURL(myPage.getPage() + "?path=" + Path + getDataPass(request)));
    CODE SAMPLE 3 ##################
    if (session.isNew())
         requestData = new userSession();
         session.setAttribute("sessionRequestData", requestData);
         %>NEW SESSION <%
    }else
         if (session.getAttribute("sessionRequestData") == null)
              requestData = new userSession();
              %>WONKY SESSION<%     
         }else
              requestData = (userSession)(session.getAttribute("sessionRequestData"));
              %>STALE SESSION<%
    }

    Further Information:
    Swapping out the code in summary.jsp to be
         userSession requestData;
         Object o = session.getAttribute("sessionRequestData");
         if (o == null)      {
                   %>NULL <%
         }else
                   %>ELSE<%
         if(o!=null) { if (o instanceof userSession) out.println("yey"); else out.println("nei"); }
    returns: ELSEnei
    So its there, its not null, and its not my object... Why?

  • Changing Package Session's Status to Warning

    Dear Experts,
    How do I change my package session's status to warning?
    I created a package and errors handling in the package, after the package is executed it will always be flagged as Success in the ODI Operator. How do I change the package status to Warning manually within my package?
    Thanks,
    Erico

    PeakIndicators_Alastair wrote:
    Just been playing with this.
    it IS possible to flag it as Warning but you have to update the SNP_SESSION table directly.
    update SNP_SESSION set sess_status = 'M' where sess_No = '48566011'
    shows the session as warning in operator
    So you can create a proc and run something like :
    update SNP_SESSION set sess_status = 'M' where sess_No = <%=odiRef.getSession("SESS_NO")%>
    For completeness, reverse engineer the SNP_SESSION table from your work repos and use :
    update <%=odiRef.getObjectName("L","SNP_SESSION","D")%> set sess_status = 'M' where sess_No = <%=odiRef.getSession("SESS_NO")%>
    in an ODI proc set to run when your main package steps fail.
    Note - I havent tried this out as a proc, just a manual update - you might find that ODI writes the session status again AFTER you have updated it, you will have to play around - do let us know.
    I doubt this is supported but if you really want to see the Warning triangle then it works !Hi Peak,
    Thanks for the suggestion. But as you have mentioned, I think the ODI will update the Overall Session status after all the steps has been executed, so trying to set the Session Status to Warning before the session itself ended will only be overwritten by the ODI to Success status. I have tried your suggestion and it still showing success at the session status.
    So, I guess I can say that there is no API (odiref) / feature provided by ODI to manually set the Session status? Because even IF the above solution works, I might not take that route, I don't feel comfortable to directly manipulating the repository table :(
    Thanks for the suggestion!

  • Odi Agent cannot connect work repsotiroy

    Hi everyone,
    I upgraded odi ,I configured odiparams.sh .When start agent ,it works successfuly.
    But
    When I execute procedure,or interface etc ,on odi it says session started.
    But when ı look at to agent running screen command promt
    ERROR ODI-1224 Database error while connecting to work repository ODIW01
    java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
    Agent can't connect to database
    Does anyone has an idea?
    Edited by: aetl on 30.May.2013 00:43
    Edited by: aetl on 30.May.2013 00:54

    instance_check=`echo "${1}"|cut -f 1 -d '='`
    if [ "$instance_check" = "-INSTANCE" ]; then
    ODI_INSTANCE_HOME=`echo "${1}"| cut -f 2 -d '='`
    export ODI_INSTANCE_HOME
    fi
    # Repository Connection Information
    if [ -z "${ODI_INSTANCE_HOME}" ]; then
    ODI_HOME=/d1/Oracle_ODI_2/oracledi/agent
    ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver
    ODI_MASTER_URL=jdbc:oracle:thin:@12.30.60.20:1521:DBODI
    ODI_MASTER_USER=ODIM
    ODI_MASTER_ENCODED_PASS=fFyp6xUaiMnpFPGDpfzzS
    # User credentials for agent startup program
    ODI_SUPERVISOR=SUPERVISOR
    ODI_SUPERVISOR_ENCODED_PASS=fJyaxxB5klzhuWX70XaPrEa
    # User credentials for ODI tools
    ODI_USER=$ODI_SUPERVISOR
    ODI_ENCODED_PASS=$ODI_SUPERVISOR_ENCODED_PASS
    # Keystore/Truststore credentials
    ODI_KEYSTORE_ENCODED_PASS=
    ODI_KEY_ENCODED_PASS=
    ODI_TRUST_STORE_ENCODED_PASS=
    # Work Repository Name
    *ODI_SECU_WORK_REP=ODIW01*
    # Config file position
    ODI_JPS_CONFIG=./jps-config.xml
    ODI_LOGGING_CONF_FILE=./ODI-logging-config.xml
    # Additional Java Options
    ODI_ADDITIONAL_JAVA_OPTIONS=
    else
         . "$ODI_INSTANCE_HOME"/instance.sh
         shift #to avoid passing the INSTANCE argument.
    fi
    # Connection retry parameters
    ODI_CONNECTION_RETRY_COUNT=0
    ODI_CONNECTION_RETRY_DELAY=7000
    # Java virtual machine
    ODI_JAVA_HOME=/usr/java6
    ODI_INIT_HEAP=256m
    ODI_MAX_HEAP=1024m
    ODI_JMX_PROTOCOL=rmi
    # HP-UX users : Any package files added to the /drivers
    # or /lib/scripting directory should be manually declared in the
    # ODI_ADDITIONAL_CLASSPATH variable
    if [ -z "$ODI_ADDITIONAL_CLASSPATH" ]; then
    ODI_ADDITIONAL_CLASSPATH=
    fi
    # ODI_ADDITIONAL_CLASSPATH=$ODI_ADDITIONAL_CLASSPATH:/mydir/myfile.jar
    I have 2 work repository under the one master,I wrote here one of them
    it can be related JDK?
    Regards
    Edited by: aetl on 30.May.2013 03:07
    Edited by: aetl on 30.May.2013 05:55
    Edited by: aetl on 30.May.2013 06:00
    Edited by: aetl on 30.May.2013 06:05

  • Interfaces not visible in 'Operator' when executed with 'Remote Agent'

    Hi,
    I am new to ODI, and have an issue with running Interfaces/Packages with a Remote Agent.+
    I have setup an agent on the machine on which the Database is installed. I have created a Physical Agent with the details, and on using the 'Test' button in the client, it works fine.
    However, when i try an execute a package with this agent, i get the 'Session Started' pop up, but the interface does not register in the 'Operator' section, and nothing happens.+
    However, this does not happen when i use the 'Local (No Agent)', and the interface runs successfully and is registered in the 'Operator'.+
    I just get this error under the 'Physical Agents' tree in the 'Operator' section for the interface - "ODI-1266: Agent agent_apo13110026 detected Session as stale session and set to error status"
    Would appreciate any inputs.
    Thanks,
    Ab

    Hi,
    Thank you for your response.
    We have actuall just migrated the from DEV to TEST. But in DEV we were only using the local agent, and we have configured the new standalone agent only in TEST.
    The way the migration was done, was that we exported the Master and Work Rep from DEV, and then imported it into TEST.
    Could this have had any impact, and would appreciate any pointers on how i can check if indeed the Agent is interacting with the wrong repository.
    Thanks,
    Ab

  • Connections stuck

    connections are not being released by an ODI process.
    is this something to be configured in ODI?
    J

    Are talking about stale session ?

Maybe you are looking for

  • External Drive For Windows And OSX

    Hello! I'm using an external USB/FW drive for back up. It's formatted as "OSX Extended". 1) If I copy the data off this drive, what format would I need to re-format it in, so as to be able to back up from both OSX and Windows? 2) Will I be able to re

  • Mapping CLOB and Long in xml schema

    Hi, I am creating an xml schema to map some user defined database objects. For example, for a column which is defined as VARCHAR2 in the database, I have the following xsd type mapping. <xsd:element name="Currency" type="xsd:string" /> If the oracle

  • HELP! Surround Mixer Proble

    Hi guys, I have an SB Audigy. Unfortunately, my installation cd was ruined and i had to get a new Hard dri've. I have successfully installed drivers and the Creative audio console, but i cannot find anywhere the original installation files for Surrou

  • Conforming when reopening Saved Projects!..Why?

    Win 7 / CC Premiere Conforming when reopening Saved Projects!..Why? I am about to do  a search in the forum because I have seen this issue come up before...but I have never experienced it myself. This is going to cripple me on my current project! So

  • PR rel strategy

    I want to create Release Strategy for PR as follows: For Standard PR (NB) one level of release is always required. (eg HOD will have to release all the PRs of a department) How shall I proceed pleae guide in detail. regards VS