Failing over Oracle connections in a pool

          Hi,
          This message is probably a bit out of context (I've already posted
          it to the JDBC group). I post here as well, since I guess it's
          the place where people have the most experience with clustering
          and HA. Original posting below...
          Could you please tell me whether, yes or no, connections to an
          Oracle database should fail over (when the database fails over
          to another machine)? I use Oracle's Transparent Application Failover
          (configured via Net8) with Weblogic 6 on Linux and Oracle 8.1.7
          on Solaris/SPARC.
          If this doesn't work in my configuration, is there any configuration
          where it should work? (Another version of Oracle, WLS, OS, ...)
          When I try TAF using the PetStore application, I get exceptions
          related to no being connected to the database.
          If TAF doesn't work with WebLogic, is there a way to work around
          the problem? Can I catch these exceptions and renew the connections
          in the pool? Or, what else is possible...?
          I'd appreciate any help. I'd like to demonstrate our HA product
          with WLS. If it doesn't work, I'll turn to iPlanet instead. Pity,
          I really like WLS!
          Thanks in advance for any help or advice!
          Regards, Frank Olsen
          

          Hi (Frank ;-)
          I got carried away a bit too fast...
          Some more testing shows that it doesn't work in all cases:
          - when someone is trying to check out the shopping cart when the
          the database fails (and fails over), I get exceptions once the
          databses has restarted on the backup node
          - the exceptions are related to some transactions being rolled
          back and Oracle stating that it couldn't safely replay the transactions
          - browsing the categories still works fine
          - all access to the shopping cart and sign-in/sign-out causes time-outs
          and exceptions
          Any ideas what may cause this problem, please?
          Regards,
          Frank Olsen
          "Frank Olsen" <[email protected]> wrote:
          >
          >Hi,
          >
          >TAF worked with WLS 6 on NT with the Oracle 8.1.7 client!
          >
          >Has anyone tested it on Solaris/SPARC?
          >
          >Regards,
          >Frank Olsen
          >
          >
          >
          >"Frank Olsen" <[email protected]> wrote:
          >>
          >>Hi,
          >>
          >>Most of my question below is still valid (in particular
          >>concerning
          >>whether TAF should work with WLS on some or all platforms
          >>and
          >>versions).
          >>
          >>However, when I tested TAF with the Oracle client (sqlplus)
          >>there
          >>also was no failover of the (one) connection. I then
          >checked
          >>the
          >>`V$SESSION' view and the colums related to failover showed
          >>that
          >>TAF was not correctly configured. Strange because I copied
          >>the
          >>`tnsnames.ora' parameters from the Oracle documentation
          >>for TAF.
          >>
          >>Has anyone managed to configure and use TAF, with or
          >without
          >>WLS?!
          >>
          >>Thanks in advance for your help!
          >>
          >>Regards,
          >>Frank Olsen
          >>
          >>
          >>"Frank Olsen" <[email protected]> wrote:
          >>>
          >>>Hi,
          >>>
          >>>This message is probably a bit out of context (I've
          >already
          >>>posted
          >>>it to the JDBC group). I post here as well, since I
          >guess
          >>>it's
          >>>the place where people have the most experience with
          >>clustering
          >>>and HA. Original posting below...
          >>>
          >>>----
          >>>
          >>>Could you please tell me whether, yes or no, connections
          >>>to an
          >>>Oracle database should fail over (when the database
          >fails
          >>>over
          >>>to another machine)? I use Oracle's Transparent Application
          >>>Failover
          >>>(configured via Net8) with Weblogic 6 on Linux and Oracle
          >>>8.1.7
          >>>on Solaris/SPARC.
          >>>
          >>>If this doesn't work in my configuration, is there any
          >>>configuration
          >>>where it should work? (Another version of Oracle,
          >WLS,
          >>>OS, ...)
          >>>
          >>>
          >>>When I try TAF using the PetStore application, I get
          >>exceptions
          >>>related to no being connected to the database.
          >>>
          >>>If TAF doesn't work with WebLogic, is there a way to
          >>work
          >>>around
          >>>the problem? Can I catch these exceptions and renew
          >the
          >>>connections
          >>>in the pool? Or, what else is possible...?
          >>>
          >>>I'd appreciate any help. I'd like to demonstrate our
          >>HA
          >>>product
          >>>with WLS. If it doesn't work, I'll turn to iPlanet instead.
          >>>Pity,
          >>>I really like WLS!
          >>>
          >>>Thanks in advance for any help or advice!
          >>>
          >>>Regards, Frank Olsen
          >>>
          >>
          >
          

Similar Messages

  • Oracle Connection Pool failure in COM+

    I am having some trouble trying to get a specific database to work with an application that makes use of a COM+ Application. When we point the application at the UAT database everything seems fine, but when we point it to the production database after a few successful calls it ends up failing at the COM+ application recycles. The event viewer provides the following information:
    Event Type:     Error
    Event Source:     COM+
    Event Category:     Unknown
    Event ID:     4786
    Date:          8/5/2007
    Time:          12:54:46 PM
    User:          N/A
    Computer:     APPL_SERVER
    Description:
    The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.
    Component Prog ID: Oracle Connection Pool - tnsnames_alias
    Method Name: IDispenserDriver::CreateResource
    Server Application ID: {30A93CB3-25EB-4258-8C88-5AE103B7B86F}
    Server Application Instance ID:
    {A57C513E-519F-45BD-B46D-DC54B285F534}
    Server Application Name: COM+ Application Name
    The serious nature of this error has caused the process to terminate.
    Exception: C0000005
    Address: 0x7C8327F9
    Call Stack:
    + 0x7c8327f9
    ntdll!RtlFindActivationContextSectionGuid + 0x7d2
    ntdll!RtlInitializeSListHead + 0x175
    ntdll!RtlFindActivationContextSectionGuid + 0x1b7
    msvcrt!malloc + 0x6c
    oracommon9!sktsfMalloc + 0x14
    orageneric9!kpummapg + 0x58
    orageneric9!kghalo + 0xabb
    orageneric9!kghalf + 0x102
    orageneric9!kopo2cpc + 0x61
    orageneric9!kopeini + 0x1d
    orageneric9!kopo2cpc + 0xd2
    orageneric9!kopopgi + 0x117
    OraClient9!koudpnp + 0x712
    OraClient9!koudpnp + 0x101
    OraClient9!kpuinit0 + 0xb19
    OraClient9!kpuinit + 0x38
    OraClient9!OCIEnvInit + 0x1c
    oramts!kpntsrvr::kpntsrvr(class kpntdbid *) + 0x80
    oramts!kpntdbid::allocNewSrvr(struct SIDAND_ATTRIBUTES *) + 0x138
    oramts!kpntdbid::GetSrvr(class kpntsvrl * *,unsigned long) + 0x7df
    oramts!kpntdisp::getNet8conn(class kpntsvrl * *,unsigned long) + 0x41
    oramts!kpntsess::initOCI(void) + 0xec
    oramts!kpntsess::sessionBegin(void) + 0x17b
    oramts!kpntdisp::CreateResource(unsigned long,unsigned long *,long *) + 0xc4
    COMSVCS!DispManGetContext + 0xa3d
    COMSVCS!DispManGetContext + 0x1fee
    oramts!kpntdisp::allocateConnection(class kpntsess * *,unsigned long,class kpntrtyp *) + 0x3c4
    oramts!_kpntsvcgetex + 0x183
    oramts!_kpntsvcget + 0x25
    oramts!kpntctra::getConnectionAndHandles(class kpntrtyp *,struct OCISvcCtx * *,struct OCITrans * *,struct OCIError * *) + 0x87
    oramts!kpntctra::abortBranch(struct xid_t &,class kpntbrnch *,struct BOID *,int,struct BOID *) + 0x15a
    oramts!kpntctra::doAbort(struct BOID *,int,struct BOID *) + 0x454
    oramts!kpntajob::doJob(void) + 0x27
    oramts!kpntjobq::serviceRequest(class kpntjob *) + 0x3e
    oramts!workerThread(void *) + 0xd0
    msvcrt!_endthreadex + 0xa3
    kernel32!GetModuleFileNameA + 0xeb
    Not being an expert in Oracle, I have been able to dig up a little bit of information that might be of use ...
    a) Our tnsnames.ora indicates that the connections are to be DEDICATED and running Toad bares this out -- dllhost ends up with a single connection.
    b) most of the database initial set of parameters seem to be very similar. The only difference I noticed was that the archive log mode and db_cache_advice are ON for production.
    c) We have little control over how the connection strings are being created internally in this COM+ application, but however they are created it works for UAT and doesn't for PROD.
    d) When we go into our web application and hit a page that makes use of the COM+ component to render, it will work the first time but when I do a simple browser refresh it will usually fail on the 2nd or 3rd time. Almost like it is trying to expand the connection pool size and the oracle server is throwing up.
    If I didn't mention earlier the two database instances run on different servers but the application server is exactly the same. We only change the alias we are using for the database (both are defined in tnsnames) and the password used to make its connection.
    Does anyone have any clues on this one? I am really spinning my wheels trying to figure out what could cause this type of situation. Anything at all would be very helpful.

    It appeared to us that the problem was with the Oracle server and that it might have been failing when we were trying to expand our application connection pool size or basically obtain more connections.
    The biggest indicator of this is that we run the same application code against two different databases and one works and one does not work. Having said this, I suppose the problem could be rooted in a data error instead of an oracle server error ...
    Is there a specific trace file on the oracle server that would help me point to any error that is truly an oracle server error? Sorry I am very new to Oracle.

  • How do the application servers connect the new database after failing over from primary DB to standby DB

    How do the application servers connect the new database after failing over from primary DB to standby DB?
    We have setup a DR environment with a standalone Primary server and a standalone Physical Standby server on RHEL Linux 6.4. Now our application team would like to know:
    When the primary DB server is crashed, the standy DB server will takeover the role of primary DB through the DataGuard fast failover. As the applications are connected by the primary DB IP before,currently the physical DB is used as a different IP or listener. If this is happened, they need to stop their application servers and re-configure their connection so the they coonect the new DB server, they cannot tolerate these workaround. 
    Whether does oracle have the better solution for this so that the application can automatically know the role's transition and change to the new IP without re-confige any connection and shutdown their application?
    Oracle support provides us the answer as following:
    ==================================================================
    Applications connected to a primary database can transparently failover to the new primary database upon an Oracle Data Guard role transition. Integration with Fast Application Notification (FAN) provides fast failover for integrated clients.
    After a failover, the broker publishes Fast Application Notification (FAN) events. These FAN events can be used in the following ways:
    Applications can use FAN without programmatic changes if they use one of these Oracle integrated database clients: Oracle Database JDBC, Oracle Database Oracle Call Interface (OCI), and Oracle Data Provider for .NET ( ODP.NET). These clients can be configured for Fast Connection Failover (FCF) to automatically connect to a new primary database after a failover.
    JAVA applications can use FAN programmatically by using the JDBC FAN application programming interface to subscribe to FAN events and to execute event handling actions upon the receipt of an event.
    FAN server-side callouts can be configured on the database tier.
    FAN events are published using Oracle Notification Services (ONS) and Oracle Streams Advanced Queuing (AQ).
    =======================================================================================
    Who has the experience and the related documentation or other solutions? we don't have the concept of about FAN.
    Thank very much in advance.

    Hi mesbeg,
    Thanks alot.
    For example, there is an application JBOSS server connecting the DB, we just added another datasource and put the standby IP into the configuration file except adding a service on DB side like this following:
            <subsystem xmlns="urn:jboss:domain:datasources:1.0">
            <datasources>
                    <datasource jta="false" jndi-name="java:/jdbc/idserverDatasource" pool-name="IDServerDataSource" enabled="true" use-java-context="true">
                        <connection-url>jdbc:oracle:thin:@<primay DB IP>:1521:testdb</connection-url>
                        <connection-url>jdbc:oracle:thin:@<standby DB IP>:1521:testdb</connection-url>
                        <driver>oracle</driver>
                        <pool>
                            <min-pool-size>2</min-pool-size>
                            <max-pool-size>10</max-pool-size>
                            <prefill>true</prefill>
                        </pool>
                        <security>
                            <user-name>TEST_USER</user-name>
                            <password>Password1</password>
                        </security>
                        <validation>
                            <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
                            <validate-on-match>false</validate-on-match>
                            <background-validation>false</background-validation>
                            <use-fast-fail>false</use-fast-fail>
                            <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
                            <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
                        </validation>
                    </datasource>
                    <drivers>
                        <driver name="oracle" module="com.oracle.jdbc">
                            <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
    If the failover is occurred, the JBOSS will automatically be pointed to the standby DB. Additional actions are not needed.

  • Bea weblogic 6.1 does not oracle Database fail over

    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??

    mt wrote:
    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??Are your pools set to test connections at reserve time?
    Joe

  • Server Pool Master fails and cannot fail over to another VM Server

    Dear All,
    Oracle VM 2.2.2
    I have 2 VM Servers connect to Storage 6140 Array and on VM Manager I enable HA on the server pool, then on all virtual machines.
    - VM Server 1 has role as Server Pool Master, Utility Server, Virtual Machine Server and has virtual machines running
    - VM Server 2 has role as Utility Server, Virtual Machine Server and has virtual machines running.
    I try to shutdown the VM Server 1 act as Server Pool Master but I don't see Server Pool Master fail over to another VM Server 2 and also status become to Unreachable both of 2 Servers.
    Especially, All virtual machines cannot be accessible.
    Please kindly give advice for this.
    Thanks and regards,
    Heng

    Thanks Avi, I'll find and read that document. And thanks also for elaborating about the Utility Server.
    After reading the followups to my original question, I tried to think of possible server "layouts" in a HA environment.
    1) "N" servers in the pool, one of them is Pool Master, Utility Server AND VM Guests Server at the same time. Maybe this will be the preferred server for smaller, quicker VMs.
    2) "N" servers in the pool, one is Pool Master AND Utility Server, but has no VM guests running on it
    3) "N" servers in the pool, one is the Pool Master, another one is the Utility Server (none of them has VMs running on them), and finally a number of VM Guest servers
    Let's take case 1. If the Pool Master & Utility server fails, given that it has VM guests running on it as well, I understand from your explanation that I'll be ANYWAY able to manually "live migrate" the guests somewhere else, using VM Manager. Is this correct?
    If it's correct, then it's just a question of how much money I want to spend to have dedicated servers for different tasks, JUST FOR BETTER PERFORMANCES REASONS. Do you agree? And especially: do YOU have dedicated Pool Masters (just to figure out your "real" approach to the problem :-) )
    I feel that I still miss something, the picture is not completely clear to me. The fact is, that I'm now testing on my new bladesystem, but for now I put up one single blade. Testing HA will be the next step. I was just trying to get a few things sorted out in advance, but there is still something that I'm missing, as I was saying...
    Looking forward to your next reply, thanx again
    Rob

  • Front End pool failed over

    Hi all,
    1. I setup a pool with three Front End servers (FQDN of pool is pool.site1.sip96x2.com and it's pointed to IP address of three Front End servers). Everything works fine. But When I disable network interface on FE1 and FE2, the Lync clients are disconnected.
    I haven't understood clearly how the Lync clients failed over in a pool? Please clarify to me.
    2. I have two central site (Root site and Primary site, they have different domain sip96x2.com and site1.sip96x2.com). The simple URL dialin is pointed to Front End server at Root site. So if the link between Root site and Primary site is down, how can the
    users at Primary site connect to dialin URL? 
    3. In building topology for Front End pool, I checked Override FQDN internal web service and the FQDN is "poolint.site1.sip96x2.com". I created three A records "poolint.site1.sip96x2.com" and pointed to three IP addresses of Front End
    servers. Is it right?
    Thanks so much!

    Ah ok, well first thing if I am reading this correctly, pool pairing Standard with Enterprise is not supported. You should only pair Standard with Standard and Enterprise with Enterprise (even though topology builder won't stop you) Take a look here for
    support scenarios http://technet.microsoft.com/en-us/library/jj204697.aspx
    To deal with the simple URLs in the event of failover you need to add them using Powershell. Take a look at this article which explains and gives an example: http://blogs.perficient.com/microsoft/2012/01/configuring-simple-urls-for-multiple-lync-pools/
    If this helped you please click "Vote As Helpful" if it answered your question please click "Mark As Answer"
    Georg Thomas | Lync MVP
    Blog www.lynced.com.au | Twitter
    @georgathomas
    Lync Edge Port Check (Beta)

  • How Front End pool deals with fail over to keep user state?

         Hello to all, I searched a lot of articles to understand how Lync 2010 keeps user state if a fail happens in a Front Pool node, but didn't find anything clear.
         I found a MS info. about ths topic : " The Front End Servers maintain transient information—such as logged-on state and control information for an IM, Web, or audio/video (A/V) conference—only for the duration of a user’s session.
    This configuration
    is an advantage because in the event of a Front End Server failure, the clients connected to that server can quickly reconnect to another Front End Server that belongs to the same Front End pool. "
        As I read, the client uses DNS to reconnect to another Front End in the pool. When it reconnects to an available server, does he lose what he/she was doing at Lync client? Can the server that is now hosting his section recover all
    "user's session data"? Is positive, how?
       Regards, EEOC.

    The presence information and other dynamic user data is stored in the RTCDYN database on the backend SQL database in a 2010 pool:
    http://blog.insidelync.com/2011/04/the-lync-server-databases/  If you fail over to another pool member, this pool member has access to the same data.
    Ongoing conversations and the like are cached at the workstation.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications

  • Thin Client connection not failing over

    I'm using the following thin client connection and the sessions do not failover. Test with SQLPLUS and the sessions do fail over. One difference I see between the two different connections is the thin connection has NONE for the failover_method and failover_type but the SQLPLUS connection show BASIC for failover_method and SELECT for failover_type.
    Is there any issues with the thin client the version is 10.2.0.3
    jdbc:oracle:thin:@(description=(address_list=(load_balance=YES)(address=(protocol=tcp)(host=crpu306-vip.wm.com)(port=1521))(address=(protocol=tcp)(host=crpu307-vip.wm.com)(port=1521)))(connect_data=(service_name=ocsqat02)(failover_mode=(type=select)(method=basic)(DELAY=5)(RETRIES=180))))

    You have to use (FAILOVER=on) as well on jdbc url.
    http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/advcfg.htm#sthref1292
    Example: TAF with Connect-Time Failover and Client Load Balancing
    Implement TAF with connect-time failover and client load balancing for multiple addresses. In the following example, Oracle Net connects randomly to one of the protocol addresses on sales1-server or sales2-server. If the instance fails after the connection, the TAF application fails over to the other node's listener, reserving any SELECT statements in progress.sales.us.acme.com=
    (DESCRIPTION=
    *(LOAD_BALANCE=on)*
    *(FAILOVER=on)*
    (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales1-server)
    (PORT=1521))
    (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales2-server)
    (PORT=1521))
    (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)
    *(FAILOVER_MODE=*
    *(TYPE=select)*
    *(METHOD=basic))))*
    Example: TAF Retrying a Connection
    TAF also provides the ability to automatically retry connecting if the first connection attempt fails with the RETRIES and DELAY parameters. In the following example, Oracle Net tries to reconnect to the listener on sales1-server. If the failover connection fails, Oracle Net waits 15 seconds before trying to reconnect again. Oracle Net attempts to reconnect up to 20 times.sales.us.acme.com=
    (DESCRIPTION=
    (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales1-server)
    (PORT=1521))
    (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)
    *(FAILOVER_MODE=*
    *(TYPE=select)*
    *(METHOD=basic)*
    *(RETRIES=20)*
    *(DELAY=15))))*

  • Connection Fail-over

    My database may be replicated to multiple servers, in the event that a connection fails to the primary server, my class should try the same statement on the next context in an ordered list.
    Any advice on errors to watch for to know the connection is broken (versus an error resulting from the query itself)?
    Any advice on executing a query for one connection, and then if it fails, executing the same statement on a different connection? I am hoping to keep the fail-over logic encapsulated in a simple to use class so that all the classes that call stored procedures don't have to contain the logic.
    I primarily use stored procedures, but have an occasional text sql query too.
    Many thanks in advance!
    Darcy

    the best way to test this would probably be to establish a connection to the database, and then stop the database and try to execute a query against it and see what SQLException gets thrown, then you can watch for that one.
    also, if you are using database pooling (or even if you aren't) you can validate each connection object you create with something like "select getDate()" or something basic that should return at least one row. if you don't get a row back or if you get an exception you know something is wrong with the database and you can then move to the next one.

  • Oracle Names - Failing Over Databases

    Is there a way to automatically redirect connections with Oracle Names when a database has failed over to its standby database?

    Is there a way to automatically redirect connections with Oracle Names when a database has failed over to its standby database?

  • CSV to Oracle - (Integration) fails on the target ORACLE connection

    Hi,
    I am trying to load data from a csv file into Oracle db via ODI.
    Here are the steps i followed:
    1- Created the FILE physical schema
    1- Created the Oracle data server and physical schema in Physical Architecture
    2- Created and linked to logical schemas
    3- Created the correspondent data models and stores and a
    ble to view the data contents of the CSV and of the target table in ODI.
    4- Created interface, added csv as source and oracle table as target
    5- Used "LKM File to SQL" and "IKM SQL Control Append" (FLOW_CONTROL is false)
    When i execute the interface, the session starts then i receive the following wrror in Operator:
    ODI-1228: Task ARIBA_G1 (Integration) fails on the target ORACLE connection DEV_DW.
    Caused By: java.sql.SQLException: Non supported SQL92 token at position: 116
    at oracle.jdbc.driver.OracleSql.handleODBC(OracleSql.java:1319)
    at oracle.jdbc.driver.OracleSql.parse(OracleSql.java:1190)
    at oracle.jdbc.driver.OracleSql.getSql(OracleSql.java:341)
    at oracle.jdbc.driver.OracleSql.getSqlBytes(OracleSql.java:649)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1079)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3937)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)
    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:2906)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:537)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    at java.lang.Thread.run(Thread.java:662)
    This is the Code section:
    BeanShell script error: Sourced file: inline evaluation of: ``if ( odiRef.getUserExit("FLOW_CONTROL").equals("1") ) { out.print(" \ninsert int . . . '' : Typed variable declaration : Error in method invocation: Method getDataSetMin() not found in class'com.sunopsis.dwg.snpreference.SnpReferenceInterne' : at Line: 25 : in file: inline evaluation of: ``if ( odiRef.getUserExit("FLOW_CONTROL").equals("1") ) { out.print(" \ninsert int . . . '' : odiRef .getDataSetMin ( )
    BSF info: Insert new rows at line: 0 column: columnNo
    if ( odiRef.getUserExit("FLOW_CONTROL").equals("1") ) { out.print(" \ninsert into\t") ;
    out.print(odiRef.getTable("L","TARG_NAME","A")) ;
    out.print(" \n( \n\t") ;
    out.print(odiRef.getColList("", "[COL_NAME]", ",\\n\\t", "", "((INS and !TRG) and REW)")) ;
    out.print(" \n\t") ;
    out.print(odiRef.getColList(",", "[COL_NAME]", ",\\n\\t", "", "((INS and TRG) and REW)")) ;
    out.print(" \n) \nselect\t") ;
    out.print(odiRef.getColList("", "[COL_NAME]", ",\\n\\t", "", "((INS and !TRG) and REW)")) ;
    out.print(" \n\t") ;
    out.print(odiRef.getColList(",", "[EXPRESSION]", ",\\n\\t", "", "((INS and TRG) and REW)")) ;
    out.print(" \nfrom\t") ;
    out.print(odiRef.getTable("L","INT_NAME","A")) ;
    out.print(" \n") ;
    } else { out.print(" \ninsert into\t") ;
    out.print(odiRef.getTable("L","TARG_NAME","A")) ;
    out.print(" \n( \n\t") ;
    out.print(odiRef.getColList("", "[COL_NAME]", ",\\n\\t", "", "((INS and !TRG) and REW)")) ;
    out.print(" \n\t") ;
    out.print(odiRef.getColList(",", "[COL_NAME]", ",\\n\\t", "", "((INS and TRG) and REW)")) ;
    out.print(" \n) \n\nselect\n    ") ;
    out.print(odiRef.getColList("", "[COL_NAME]", ",\\n\\t", "", "((INS and !TRG) and REW)")) ;
    out.print("   \n  ") ;
    out.print(odiRef.getColList(",", "[EXPRESSION]", ",\\n\\t", "", "((INS and TRG) and REW)")) ;
    out.print(" \nFROM (\t\n") ;
    for (int i=odiRef.getDataSetMin(); i <= odiRef.getDataSetMax(); i++){out.print("\n") ;
    out.print(odiRef.getDataSet(i, "Operator")) ;
    out.print("\nselect \t") ;
    out.print(odiRef.getPop("DISTINCT_ROWS")) ;
    out.print("\n\t") ;
    out.print(odiRef.getColList(i,"", "[EXPRESSION] [COL_NAME]", ",\\n\\t", "", "((INS and !TRG) and REW)")) ;
    out.print(" \nfrom\t") ;
    out.print(odiRef.getFrom(i)) ;
    out.print("\nwhere\t") ;
    if (odiRef.getDataSet(i, "HAS_JRN").equals("1")) { out.print("\n\tJRN_FLAG <> 'D'\t") ;
    } else {out.print("\t(1=1)\t") ;
    } out.print("\n") ;
    out.print(odiRef.getJoin(i)) ;
    out.print("\n") ;
    out.print(odiRef.getFilter(i)) ;
    out.print("\n") ;
    out.print(odiRef.getJrnFilter(i)) ;
    out.print("\n") ;
    out.print(odiRef.getGrpBy(i)) ;
    out.print("\n") ;
    out.print(odiRef.getHaving(i)) ;
    out.print("\n") ;
    }out.print("\n) ") ;
    out.print(odiRef.getInfo("DEST_TAB_ALIAS_WORD")) ;
    out.print(" ODI_GET_FROM\n\n") ;
    } out.print("\n") ;
    ****** ORIGINAL TEXT ******
    <%if ( odiRef.getUserExit("FLOW_CONTROL").equals("1") ) { %>
    insert into <%=odiRef.getTable("L","TARG_NAME","A")%>
    <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    <%=odiRef.getColList(",", "[COL_NAME]", ",\n\t", "", "((INS and TRG) and REW)")%>
    select <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    <%=odiRef.getColList(",", "[EXPRESSION]", ",\n\t", "", "((INS and TRG) and REW)")%>
    from <%=odiRef.getTable("L","INT_NAME","A")%>
    <% } else { %>
    insert into <%=odiRef.getTable("L","TARG_NAME","A")%>
    <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    <%=odiRef.getColList(",", "[COL_NAME]", ",\n\t", "", "((INS and TRG) and REW)")%>
    select
        <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>  
      <%=odiRef.getColList(",", "[EXPRESSION]", ",\n\t", "", "((INS and TRG) and REW)")%>
    FROM (
    <%for (int i=odiRef.getDataSetMin(); i <= odiRef.getDataSetMax(); i++){%>
    <%=odiRef.getDataSet(i, "Operator")%>
    select  <%=odiRef.getPop("DISTINCT_ROWS")%>
    <%=odiRef.getColList(i,"", "[EXPRESSION] [COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    from <%=odiRef.getFrom(i)%>
    where <% if (odiRef.getDataSet(i, "HAS_JRN").equals("1")) { %>
    JRN_FLAG <> 'D' <%} else {%> (1=1) <% } %>
    <%=odiRef.getJoin(i)%>
    <%=odiRef.getFilter(i)%>
    <%=odiRef.getJrnFilter(i)%>
    <%=odiRef.getGrpBy(i)%>
    <%=odiRef.getHaving(i)%>
    <%}%>
    ) <%=odiRef.getInfo("DEST_TAB_ALIAS_WORD")%> ODI_GET_FROM
    <% } %>
    Any suggestions are highly appreciated.
    Mike

    Hi Santy,
    No, no error or bad files.
    Actually the data are moved correctly into the temp table created by ODI, but not from there to the final target table.
    I found out the reason though, the knowledge modules imported were from another ODI installation!
    I made sure to import the proper KM and it worked.
    Thanks!

  • JDBC - Fail over connection

    Hello Group,
    I ´m currently working on the follwing szenario in XI (NW2004, SP19):
    Via the jdbc adapter I send a sql statement to a database (db1) and get the response. This works fine.
    Because it´s a very important request, I have a second database (db2) with exactly the same data as in db1. When the db1 is not reachable, the adapter should connect automatically the db2.
    Can I handle this with the jdbc adapter (fail over connection)? Or with another configuration in the XI.
    Thanks in advance.
    Kind regards,
    Martin

    hi
    you can use a bpm with an exception brach where you specify if first db fail try to connect to db2
    it a useful solution

  • ODI-1228: Task SrcSet0 (Loading) fails on the target ORACLE connection

    Hi all. I am using ODI for the first time. Trying to import a flat file data into Oracle table.
    Flat file has 4 columns Empno,Ename,Deptno,Salary [2 rows]
    so is the Target Table in Oracle [All are VARCHAR2 data type] --Empty table
    I am using these KMs: CKM Oracle , IKM SQL CONTROL APPEND, LKM FILE TO SQL.
    When I execute this Interface, it fails with the following error message:
    ODI-1228: Task SrcSet0 (Loading) fails on the target ORACLE connection [Connection_Name]
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00904: : invalid identifier
    I checked the Code and Source Code is null , Target Code is: Create Table schema.Load_{table_name} ( )
    With no columns in it.
    Can anyone help? I am using Oracle ODI 11G (11.1.1)
    Thanks in advance

    Hi,
    if i remember well ( i haven't ODI opened) LKM FILE TO SQL. needs to have all mapping done into staging area. Click on a column, check Staging Area symbol (hammer), save and re-execute.
    Remember to check that your mapping is enabled (just click on a column, first checkbox in property inspector)
    If it doesn't work please make some screenshot or at least post your execution code.
    Let us know

  • ODI-1228: fails on the target ORACLE connection.

    Hi,
    I tried running an interface, and encountered the following error:
    ODI-1228: Task Pop.ABC (Integration) fails on the target ORACLE connection Dev.
    Caused By: java.sql.SQLException: ORA-12170: TNS:Connect timeout occurred
    Kindly guide me what will be the reason of its failure.
    Thanks.

    Hi,
    It didnt work.
    The same error exists.
    The server is located at a remote location. So, what can be done to resolve this issue.
    Which value should be appropriate for the parameter to make it work for me?
    Thanks.

  • ODI-1228: Task emp(Integration) fails on the target ORACLE connection Target

    Hi all,
    I am getting error while executing interface on error. Following error occurs when i am executing interface,
    ODI-1228: Task emp(Integration) fails on the target ORACLE connection Target
    Caused By: java.sql.SQLException: Non Supported SQL92 token at position: 138
    Your help in this regard will be highly appreciated.
    Regards
    Irfan

    Hi all,
    I am getting error while executing interface on ODI. Following error occurs when i am executing interface,
    ODI-1228: Task emp(Integration) fails on the target ORACLE connection Target
    Caused By: java.sql.SQLException: Non Supported SQL92 token at position: 138
    Your help in this regard will be highly appreciated.
    Regards
    Irfan

Maybe you are looking for

  • What are the basic settings required to run webdynpro for abap application?

    Hi,           i want some information regarding settings(HOST,Port) to run our application through Browser.What are the settings can i give to run my Application.and also i got some problem that when i create a VIEW it didnt shows the Standard Toolba

  • Navigation is cached - even when navigation cache is disabled?!

    I seem to have a problem clearing the navigation cache. Whenever I change a role of workset in the PCD, the change is not visible until some time has passed (perhaps 100 minutes, I will try to verify that). If I change a page (like inserting a new iV

  • Convert  Album to Slideshow

    I created an Album with photos and matching music, but I realized I probably should have done this in SlideShow.  Can i convert an album to a "slideshow"  If so, how?

  • ESS Business Packages Migration from Ehp3 to Ehp4 with Custom Changes

    Hello All, We are using ECC 6.0 With Ehp3 and We have the following versions of ESS and MSS Business Packages Installed. SAP_ESS 603 SP4 SAP_MSS 600 SP15 We have NWDI server also installed in this and made some Customizations in ESS Webdynpro Java ba

  • HP Mini 1199eo - Need recovery win XP image for my HP mini

    Hi,  I have bought a new HP mini 1199eo some time ago and it will not start up. And need to recover the windows XP operating system. But it did not came with any CD. Is it possible to download an HP windows XP image anywere or can you, HP, send me a