We are getting Invalid arguments in call when we try to establish the connection with Oracle DB occasionally ( One hour in a day).

I did some research about this in Internet, still i am not getting clear understanding about the root cause of this exception.

Please note:

This is happens in PROD environment for sometime, after which its getting resolved without any code fix, the major concern here for us is that we don't have a clear understanding on its root cause.

Question 1

Invalid arguments in call : is this message talking about the connection parameters that is sent to establish connection?

Question 2 If question 1 is true, why is it happening occasionally? Its highly unlikely that our application sends different parameter for establishing connection as its a binary (Connection parameters are constant).

NOTE: Documentation for ORA-17068 this error code is not available in oracle site


Complete Exception trace:

java.sql.SQLException: invalid arguments in call
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:236)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:205)
    at org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:150)
    at org.apache.tomcat.dbcp.dbcp.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:836)
    at org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource.registerPool(PerUserPoolDataSource.java:492)
    at org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource.getPooledConnectionAndInfo(PerUserPoolDataSource.java:382)
    at org.apache.tomcat.dbcp.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:701)
    at org.apache.tomcat.dbcp.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676)

Thanks in advance.

  • 3
    To be honest, seeing as this is such an odd/rare error, you should open a support ticket with Oracle. That's why you pay the $$$$ for your support contract.
    – Philᵀᴹ
    Commented Feb 18, 2013 at 0:09
  • @Phil Thanks for your suggestion. But do you have idea when we will get Invalid arugments in the call exception, i mean the reason ? Commented Feb 18, 2013 at 11:05
  • Are you sure it's coming from a connection being established? Might be helpful to show the stack trace and the code that identifies?
    – Alex Poole
    Commented Feb 20, 2013 at 12:50
  • Did you check if any file is generated in trace directory and/or anything logged into alert.log ?
    – igr
    Commented Feb 26, 2013 at 0:06
  • 1
    Please add things like that to the question, not as comments. Which JDBC driver version are you using? The only reference I can see to ORA-17068 on MOS is a JDBC error, but that is LOB related; still, making sure you're on the latest 11gR2 driver might make it go away. Phil's right though, you should really ask Oracle, or at least ask the DBAs to check the logs if you can't.
    – Alex Poole
    Commented Feb 28, 2013 at 11:43


Browse other questions tagged or ask your own question.