Slow Initial Database Connection

I think I have a slowness issue with the initial Oracle database connection. When I try to connect initially, the connection , it takes a long time. Is there anyway to speed this up...
I am using encryption and jdbc on oracle.
This takes a good 20 - 30 seconds....
Class.forName("oracle.jdbc.driver.OracleDriver");
PARAMETERS.put("oracle.net.encryption_client","REQUIRED");
PARAMETERS.put("oracle.net.encryption_types_client","DES40C");
PARAMETERS.put("oracle.net.crypto_checksum_client","REQUESTE");
PARAMETERS.put("oracle.net.crypto_checksum_types_client","MD5");
PARAMETERS.put("user",user);
PARAMETERS.put("password",password);
connect = DriverManager.getConnection(dbUrl,PARAMETERS);

Didn't I answer this question?
The process of encrypting the connection, and generating MD5 checksums for each message sent over that connection both take considerable time to set up and the only way to make it go faster is to throw more processing power at it (i.e., get a faster computer), or switch to a far weaker form of encryption (but that means we can break the code in mere minutes).
This is a known feature. This is why the National Security Agency (NSA) and the National Reconniassance Office (NRO) have more supercomputers than any other US Government Agency.
If time really is a factor, then I suggest that you drop the MD5 requirement. MD5 essentially confirms that you have received all of the data you are expecting (and in a particular order) and no more than that. Attempting to decrypt DES also confirms that you have received all of the data you wanted (in the correct order) and no more than that. In other words, the two functions are redundant.
However, MD5 is a one way function whereas DES is two way; DES allows you to decrypt the message itself, but MD5 only allows you to confirm that the message is genuine. Hence, drop MD5 in favor of DES.
If you're really interested in rewriting the DES and MD5 schemes for more speed, do some reading on the cryptography forums, or check out an appropriate book at the library.

Similar Messages

  • Database connection way to slow (~60sec!)

    my program consistently polls a COM port and grabs the information as it arrives. it then creates a new thread to put this info into a mysql database.
    my problem is that when i am trying to get a connection with the database, ie. via the line:
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/SMS_DB?user=xxx&password=xxx");
    it takes over 60 seconds!
    this line of code is in the constructor of my database connection thread.
    i have looked at my task manager whilst running the code and the program uses nearly all the cpu time (96-98%!). i'm thinking this is the reason why the database thread takes such a long time to get a connection to the database.
    any suggestions would be much appreciated.

    no my connection doesnt take this long with a database connection program.
    i think i have just found the problem though...my program gets stuck in a while loop and just keeps iterating (thus causing huge amounts of cpu time. please delete the initial thread to stop people from thinking they are going to find an answer to some question here...

  • Slow database connection with mysql

    I am using MySQL Server 5.0 as my backend and java1.5 as my front end for the GUI. The following statements I use to connect to MYSql.
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String url = "jdbc:mysql://localhost:3306/mysql";
    The database access seems to be very slow.
    I have a data file with about 3000 lines. The parser reads the file one line at a time, formats an insert query and calls executeUpdate. The process takes more than 2 minutes.
    What is slowing down my process? Please help
    Thanks

    I am using MySQL Server 5.0 as my backend and java1.5
    as my front end for the GUI. The following statements
    I use to connect to MYSql.
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String url = "jdbc:mysql://localhost:3306/mysql";
    The database access seems to be very slow.
    I have a data file with about 3000 lines. The parser
    reads the file one line at a time, formats an insert
    query and calls executeUpdate. The process takes more
    than 2 minutes.
    What is slowing down my process? Please help
    ThanksHi,
    1. Are you opening and closing the database connection ,During inserting every record from data file?
    If so, please avoid opening closing connection for each query execution.
    Because , opening and closing the database connection is a time consuming one.
    You should open all the required database connections, before you use them or use
    Database connection pooling if your application is sucah a big one.
    2. Try PreparedStatment instead of Statement. Because Prepared statment query is
    compiled and stored into Cache. so if you are executing the same query again and again, the compiled query will be picked up from cache, by replacing with new
    parameters
    3. Check the logic you used to pick record from datafile and insert into database .
    4. Check your RAM size , if you installed database and jvm on same machine.
    if so , increase your RAM size.
    thanks,
    nvseenu

  • Problem in getting the database connection from a connection pool

    Hai All,
    I am facing a problem in getting the database connection from a connection pool created on weblogic server 8.1.
    I am using the Oracle database 8.1.7.
    I have configured my connection pool, datasource and JNDI in weblogic.
    In my java program i have the following code to retrieve the connection.
    import java.sql.*;    
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    class jdbcshp1 {
        public static void main(String[] args) {
         Connection connection = null;
         try {
               Hashtable ht = new Hashtable();
               ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");  // Wanna get rid of this.
               ht.put(Context.PROVIDER_URL,"t3://localhost:7001"); // wanna get rid of this.
               // Get a context for the JNDI look up
               Context ctx = new InitialContext(ht);
            javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("myjndi1");
              //Create a connection object
              connection = ds.getConnection();
         The above code is working fine but, the two ht.put statements are creating problem.
    The problem is, after converting the application into WAR file it can be deployed
    on any machine or different port on same machine. My application fails if its deployed on
    weglogicserver which is at different port.
    Is there any way that i can get rid of those ht.put statements or any other way to solve the problem.
    any help is appreciated.
    Thanks in advance
    Pooja.

    Hai All,
    Firstly, thanks for ur reply.
    Even i have seen some code which uses context constructor with out any parameter and works fine.
    i dont understand why its not working for my code.
    When i remove those ht.put code and use context constructor with out any parameter, it giving an error.
    Context ctx = new InitialContext();
    javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("ocjndi");
    connection = ds.getConnection();The error is as follows:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    the above error is forcing me to include those code but if the port number is changed the code will not work. Plz let meknow if some setting have to be made.
    I appreciate all ur valuable help.
    Thanks once again.
    Pooja.

  • Use of oledb database connection in input form of process

    I've created dynamic pdf form with data connection to mssql database and with script that automatically adds rows to table and fills fields.
    When I try to open this form as input form for my process in workspace it generates an error: Unable to create SOM expression. That means that sql database connection works not properly.
    How can I fix this? Is it possible to use data connection to oledb database in the input form?

    Hi,
    I have a form that includes db connection (OLDB ->Access). But in
    workspace I have an error while initiating it. The error is an Adobe Acrobat message;
    "Unable to create SOM expression $record.tablename.fieldname"
    I am using Acrobat 9 pro ext. and when I use reader then there is no problem.
    I removed enhanced security settings in preferences of Acrobat. What else i can do? Any suggestions?
    Thank in advance..

  • Database Connection Problem in Oracle9i Lite Web-to-Go

    Hi
    I am having problem in the Database Connectivity. I am using the OracleDriver class for the connection and have defined the DataSource in the struts-config.xml as
    <data-sources>
    <data-source>
    <set-property property="driverClass"
    value="oracle.jdbc.driver.OracleDriver" />
    <set-property property="url"
    value="jdbc:oracle:thin:@192.50.200.201:1521:WEBTOGO.WORLD" />
    <set-property property="maxCount"
    value="5"/>
    <set-property property="minCount"
    value="1"/>
    <set-property property="user"
    value="master"/>
    <set-property property="password"
    value="ramchow"/>
    </data-source>
    </data-sources>
    But when I am trying to do any database transaction it is throwing the following exception..
    log9: [ERROR] ActionServlet - -Initializing application data source org.apache.s
    truts.action.DATA_SOURCE <java.sql.SQLException: Io exception: Connection refuse
    d(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505
    )(EMFI=4))))>java.sql.SQLException: Io exception: Connection refused(DESCRIPTION
    =(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:442)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
    at org.apache.struts.legacy.GenericDataSource.createConnection(GenericDa
    taSource.java:805)
    at org.apache.struts.legacy.GenericDataSource.open(GenericDataSource.jav
    a:741)
    at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionSe
    rvlet.java:1085)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at oracle.lite.web.JupServlet.createInstance(JupServlet.java:349)
    at oracle.lite.web.JupServlet.getServlet(JupServlet.java:322)
    at oracle.lite.web.JupServlet.service(JupServlet.java:216)
    at oracle.lite.web.AppServletHandler.handle(AppServletHandler.java:297)
    at oracle.lite.web.JupApplication.service(JupApplication.java:550)
    at oracle.lite.web.JupHandler.handle(JupHandler.java:109)
    at oracle.lite.web.HTTPServer.process(HTTPServer.java:306)
    at oracle.lite.web.HTTPServer.handleRequest(HTTPServer.java:162)
    at oracle.lite.web.JupServer.handle(JupServer.java:310)
    at oracle.lite.web.SocketListener.process(SocketListener.java:172)
    at oracle.lite.web.SocketListener$ReqHandler.run(SocketListener.java:226
    log9: javax.servlet.UnavailableException: Initializing application data source o
    rg.apache.struts.action.DATA_SOURCE
    log9: at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionSe
    rvlet.java:1091)
    log9: at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
    log9: at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    log9: at oracle.lite.web.JupServlet.createInstance(JupServlet.java:349)
    log9: at oracle.lite.web.JupServlet.getServlet(JupServlet.java:322)
    log9: at oracle.lite.web.JupServlet.service(JupServlet.java:216)
    log9: at oracle.lite.web.AppServletHandler.handle(AppServletHandler.java:297)
    log9: at oracle.lite.web.JupApplication.service(JupApplication.java:550)
    log9: at oracle.lite.web.JupHandler.handle(JupHandler.java:109)
    log9: at oracle.lite.web.HTTPServer.process(HTTPServer.java:306)
    log9: at oracle.lite.web.HTTPServer.handleRequest(HTTPServer.java:162)
    log9: at oracle.lite.web.JupServer.handle(JupServer.java:310)
    log9: at oracle.lite.web.SocketListener.process(SocketListener.java:172)
    log9: at oracle.lite.web.SocketListener$ReqHandler.run(SocketListener.java:226.
    Can anybody guide me what can be the problem asap.
    regards
    ramchow

    Ramesh,
    This looks like it might be a Java class mismatch error. Do you have multiple versions of Java installed on your machine? If so, you may want to keep one version and remove the rest.
    If you're already running just one version, you may want to check the registry and classpath for references to multiple Java versions, or version that no longer exist.
    Please let me know if you have additional questions.
    Junius

  • Database connection pooling with weblogic 8.1.

    Hai All,
    I am new to weblogic database connection pooling.
    I am using Weblogic8.1 and want to use connection pooling to get a jdbc connection. my database server is Oracle 8.1.7.
    Things which i have done using the weblogic admin console.
    I have created a Jdbc connection pool named myconnectionpool.
    I have created a datasource named mydatasource.
    and named the JNDI as myjndi.
    Is the above process correct to create the connection pool in the weblogic8.1.
    I am not aware of the java code to get the database connection object from the connection pool which i have created.
    can any one please let me know the java code to get the connection from the pool.
    Any help is appreciated
    Thanks in advance
    pooja.

    Hai
    I have tried using the code u have mentioned but it returned me
    an error which is below.
    C:\javaexamples\Javaprograms\JDBC>java jdbcexampleconnectionpool
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    I have added the following lines code, which i read in some weblogic documentation. The code i added is below and it worked fine.
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
    Context ctx = new InitialContext(ht);I am not sure what the above code does.
    Can anyone let me know what does the above code do.
    Thanks a lot and i appreciate ur help,
    Pooja.

  • Error While creating new database connection from HFM workspace

    Hi,
    We have recently installed HFM and was trying to create database connection from database connection manager in HFM workspace.
    I am getting below error:
    "Error connecting to database connection : no HssJNIDriver950 in java.library.path" initially and later
    "Error connecting to database connection : com/hyperion/ap/adm/HssConn".
    Any information in this direction would helpful.
    Thanks,
    Bhargav
    Edited by: bhargavr on Jan 24, 2011 6:55 PM

    Hi bhargavr,
    We came accross the same issue. Try the following solution below for this 'KNOWN ISSUE' and let me know how you get on. Drop me a note if you have any questions regarding this post.
    Error: *"Error connecting to database connection: com/hyperion/ap/adm/HssConn" While Creating a Financial Management Database Connection* [ID 1102697.1]
    Modified 04-JAN-2011 Type PROBLEM Status PUBLISHED
    Applies to:
    Hyperion BI+ - Version: 11.1.2.0.00 and later [Release: 11.1 and later ]
    Microsoft Windows x64 (64-bit)
    Symptoms:
    You are running the Financial Reporting Web Server on a 64-bit server.
    When you try to create a new Financial Management (HFM) database connection using the Database Connection Manager in Workspace you receive the following message:
    “Error connecting to database connection <connection_name>: com/hyperion/ap/adm/HssConn”
    You can create a database connection in Financial Reporting Studio. When you refresh a report with a Financial Management database connection, you receive one of the following messages:
    “1001: Error connecting to database connection <DATABASE_CONNECTION_NAME>: com/hyperion/ap/adm/HssConn”
    or
    “1001: Error connecting to database connection <DATABASE_CONNECTION_NAME>: no HssJNIDriver950 in java.library.path”
    Cause:
    The issue is documented in unpublished bug 9537050, and in Known Issues in the 11.1.2 Reporting and Analysis Readme. Cross-reference unpublished bug 9707353.
    Solution:
    In the Windows registry, take the following steps:
    Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\HyperionSolutions\FinancialReporting0\HyS9FRReports.
    For each of the following entries, prefix the contents with text in the blue box: Env2, JVMOption13, and JVMOption17 (note that the JVMOption numbers might be slightly different in your environment).
    C:\Oracle\Middleware\EPMSystem11R1\common\ADM\11.1.2.0\bin-64
    If your EPM_ORACLE_HOME is not located at C:\Oracle\Middleware\EPMSystem11R1, replace that location with your location.
    Restart the server.
    G'Luck,
    -David

  • Could not load library for database connection LCA

    Hi,
    I am facing RFC connection prblem while connectiong to database. I have installed SCM5.1 and live cache in single server
    Please find the logs.
    Work process log:
    B Mon Jul 20 11:19:13 2009
    B  create_con (con_name=LCA)
    B  Loading DB library 'E:\usr\sap\SC7\DVEBMGS03\exe\dbsdbslib.dll' ...
    M  *** ERROR => DlLoadLib: LoadLibrary(E:\usr\sap\SC7\DVEBMGS03\exe\dbsdbslib.dll) Error 126 [dlnt.c       241]
    M          Error 126 = "The specified module could not be found."
    B  *** ERROR => Couldn't load library 'E:\usr\sap\SC7\DVEBMGS03\exe\dbsdbslib.dll'
    [dbcon.c      4731]
    B  ***LOG BYG=> could not load library for database connection LCA        [dbds#1 @ 1035] [dbds    1035 ]
    A
    A Mon Jul 20 11:21:58 2009
    A  GENER starting remote generation: /SAPAPO/OM_SYNC_LC_DB (requested by W1).
    B
    SM21:
    No shared library found for the database with ID LCA|
    No shared library found for the database with ID LCA
    /SAPAPO/OM17|/SAPAPO/OM_SYNC_LC_DB|K |SAP Web AS Problem|SBAC   |
    Documentation for system log message BY G :
    As well as the standard connection, an attempt was made to set up
    another database connection, under the specified ID. The Shared Library
    for this second database could not be found.
    The Shared Library is usually found in the the Executable
    directory (profile parameter DIR_LIBRARY) under the name dbs
    <dbs>slib<os_ext>. <dbs> stands for the database type and <os_ext>
    stands for the operating system-specific extension of the Shared
    Libraries.
    The database type is determined from the entry that corresponds to the
    specified DB ID in the table DBDCON. Check whether the data in this
    entry is correct.
    ST22
    Runtime Errors         DBIF_DSQL2_CONNECTERR
    Exception              CX_SY_NATIVE_SQL_ERROR
    Date and Time          20.07.2009 11:22:21
    Short text
    Error setting up a secondary database connection
    What happened?
    Connection to database system not possible with identifier "LCA".
    |----
    System environment
    SAP-Release 700
    Application server... "
    Network address...... "
    Operating system..... "Windows NT"
    Release.............. "5.2"
    Hardware type........ "8x AMD64 Level"
    Character length.... 16 Bits
    Pointer length....... 64 Bits
    Work process number.. 8
    Shortdump setting.... "full"
    Database server... "
    Database type..... "ORACLE"
    Database name..... "SC7"
    Database user ID.. "SAPSC7"
    Terminal................. " "
    Char.set.... "C"
    SAP kernel....... 701
    created (date)... "Jul 6 2009 23:47:55"
    create on........ "NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00"
    Database version. "OCI_10201_SHARE (10.2.0.2.0) "
    Patch level. 50
    Patch text.. " "
    Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
    SAP database version. 701
    Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows
    NT 6.0"
    Information on where terminated
    Termination occurred in the ABAP program "SAPLSLCAPPS" - in
    "LCA_EXISTS_LCA_ROUTINE".
    The main program was "/SAPAPO/TS_BATCH_RUN ".
    In the source code you have the termination point in line 23
    of the (Include) program "LSLCAPPSU05".
    The program "SAPLSLCAPPS" was started as a background job.
    Job Name....... "MACROS"
    Job Initiator.. "SC7GEN"
    Job Number..... 10222002
    The termination is caused because exception "CX_SY_NATIVE_SQL_ERROR" occurred
    in
    procedure "LCA_EXISTS_LCA_ROUTINE" "(FUNCTION)", but it was neither handled
    locally nor declared
    in the RAISING clause of its signature.
    The procedure is in program "SAPLSLCAPPS "; its source code begins in line
    1 of the (Include program "LSLCAPPSU05 ".
    Please help me to resolve the issue.
    Suraj

    Hi Natalia Khlopina,
    I have raised OSS message to SAP.
    Below is the information
    E:\usr\sap\SC7\SYS\exe\uc\Copy_ of_NTAMD64_15062009>sdbregview -l
    Server Utilities    e:/sapdb/programs      7.7.02.08     64 bit    valid
    DB Analyzer         e:/sapdb/programs      7.7.02.08     64 bit    valid
    PCR 7301            e:/sapdb/programs      7.3.01.21               valid
    PCR 7500            e:/sapdb/programs      7.5.00.42     64 bit    valid
    SAP Utilities       e:/sapdb/programs      7.7.02.08     64 bit    valid
    APO LC APPS         f:/sapdb/lcs/db/sap    6.00.004      64 bit    valid
    Redist Python       e:/sapdb/programs      7.7.02.08     64 bit    valid
    Base                e:/sapdb/programs      7.7.02.08     64 bit    valid
    JDBC                e:/sapdb/programs      7.6.03.02               valid
    Messages            e:/sapdb/programs      MSG 0.5010              valid
    ODBC                e:/sapdb/programs      7.7.02.08     64 bit    valid
    SQLDBC 77           e:/sapdb/programs      7.7.02.08     64 bit    valid
    Database Kernel     f:/sapdb/lcs/db        7.7.02.08     64 bit    valid
    Loader              e:/sapdb/programs      7.7.02.08     64 bit    valid
    SQLDBC              e:/sapdb/programs      7.7.02.08     64 bit    valid
    SQLDBC 76           e:/sapdb/programs      7.6.01.15     64 bit    valid
    Fastload API        e:/sapdb/programs      7.7.02.08     64 bit    valid
    C:\Documents and Settings\sc7adm>disp+work
    disp+work information
    kernel release                701
    kernel make variant           701_REL
    compiled on                   NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00
    compiled for                  64 BIT
    compilation mode              UNICODE
    compile time                  Jul  6 2009 23:47:55
    update level                  0
    patch number                  50
    source id                     0.050
    supported environment
    database (SAP, table SVERS)   700
                                  701
    operating system
    Windows NT 5.0
    Windows NT 5.1
    Windows NT 5.2
    Windows NT 6.0
    Thanks for quick responce.
    Suraj

  • Tomcat JDBC Realm Database Connection Error

    Hello all,
    I am trying to edit the server.xml file on Tomcat so I can use the JDBC Realm instead of the MemoryRealm. Hence, I will be able to read users, passwords and roles from a relational database instead of from the tomcat-users.xml.
    I have tried following all the guides on the net I can find, my server.xml looks as follows (after making changes to allow it to use JDBC realm). The only problem is, when I try to run the application the server outputs the following: (after all of these errors have been kicked up a pop-up box then appears titled "Tomcat Manager Application", it asks for a User Name and Password. I have tried the standard user name of "ide" and the password next to it in tomcat-users.xml but it won't accept it. (I am using the netbeans IDE)).
    Please could someone suggest any ideas of how I can get the server.xml to work with JDBC realm?
    Using CATALINA_BASE:   C:\Documents and Settings\Administrator\.netbeans\5.0beta\jakarta-tomcat-5.5.7_base
    Using CATALINA_HOME:   C:\Program Files\netbeans-5.0beta\enterprise2\jakarta-tomcat-5.5.7
    Using CATALINA_TMPDIR: C:\Documents and Settings\Administrator\.netbeans\5.0beta\jakarta-tomcat-5.5.7_base\temp
    Using JAVA_HOME:       C:\j2sdk1.4.2_08
    Created MBeanServer with ID: 1f934ad:107444b1d2b:-8000:ravinder-rdnzoa:1
    31-Oct-2005 01:29:33 org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8084
    31-Oct-2005 01:29:34 org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8443
    31-Oct-2005 01:29:34 org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 2174 ms
    31-Oct-2005 01:29:34 org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    31-Oct-2005 01:29:34 org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/5.5.7
    31-Oct-2005 01:29:34 org.apache.catalina.realm.JDBCRealm start
    SEVERE: Exception opening database connection
    java.sql.SQLException: org.gjt.mm.mysql.Driver
            at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:646)
            at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:720)
            at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
            at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:440)
            at org.apache.catalina.core.StandardService.start(StandardService.java:450)
            at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
    31-Oct-2005 01:29:34 org.apache.catalina.core.StandardHost start
    INFO: XML validation disabled
    31-Oct-2005 01:29:36 org.apache.catalina.startup.ContextConfig validateSecurityRoles
    INFO: WARNING: Security role name IBM used in an <auth-constraint> without being defined in a <security-role>
    31-Oct-2005 01:29:36 org.apache.catalina.startup.ContextConfig validateSecurityRoles
    INFO: WARNING: Security role name Auditor used in an <auth-constraint> without being defined in a <security-role>
    31-Oct-2005 01:29:37 org.apache.struts.tiles.TilesPlugin initDefinitionsFactory
    INFO: Tiles definition factory loaded for module ''.
    31-Oct-2005 01:29:37 org.apache.struts.validator.ValidatorPlugIn initResources
    INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml'
    31-Oct-2005 01:29:37 org.apache.struts.validator.ValidatorPlugIn initResources
    INFO: Loading validation rules file from '/WEB-INF/validation.xml'
    31-Oct-2005 01:29:38 org.apache.catalina.startup.ContextConfig validateSecurityRoles
    INFO: WARNING: Security role name IBM used in an <auth-constraint> without being defined in a <security-role>
    31-Oct-2005 01:29:38 org.apache.struts.tiles.TilesPlugin initDefinitionsFactory
    INFO: Tiles definition factory loaded for module ''.
    31-Oct-2005 01:29:38 org.apache.struts.validator.ValidatorPlugIn initResources
    INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml'
    31-Oct-2005 01:29:38 org.apache.struts.validator.ValidatorPlugIn initResources
    INFO: Loading validation rules file from '/WEB-INF/validation.xml'
    31-Oct-2005 01:29:39 org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8084
    31-Oct-2005 01:29:39 org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8443
    31-Oct-2005 01:29:40 org.apache.jk.common.ChannelSocket init
    INFO: JK2: ajp13 listening on /0.0.0.0:8009
    31-Oct-2005 01:29:40 org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/60  config=null
    31-Oct-2005 01:29:40 org.apache.catalina.storeconfig.StoreLoader load
    INFO: Find registry server-registry.xml at classpath resource
    31-Oct-2005 01:29:40 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 5738 ms
    31-Oct-2005 01:29:40 org.apache.catalina.realm.JDBCRealm authenticate
    SEVERE: Exception performing authentication
    java.sql.SQLException: org.gjt.mm.mysql.Driver
            at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:646)
            at org.apache.catalina.realm.JDBCRealm.authenticate(JDBCRealm.java:344)
            at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:446)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
            at java.lang.Thread.run(Thread.java:534)
    31-Oct-2005 01:29:40 org.apache.catalina.realm.JDBCRealm authenticate
    SEVERE: Exception performing authentication
    java.sql.SQLException: org.gjt.mm.mysql.Driver
            at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:646)
            at org.apache.catalina.realm.JDBCRealm.authenticate(JDBCRealm.java:344)
            at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:446)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
            at java.lang.Thread.run(Thread.java:534)The server.xml looks as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
         parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
         which may contain one or more "Service" instances.  The Server
         listens for a shutdown command on the indicated port.
         Note:  A "Server" is not itself a "Container", so you may not
         define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8025" shutdown="SHUTDOWN">
        <!-- Comment these entries out to disable JMX MBeans support used for the
        administration web application -->
        <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
        <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
        <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
        <!-- Global JNDI resources -->
        <GlobalNamingResources>
            <!-- Test entry for demonstration purposes -->
            <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
            <!-- Editable user database that can also be used by
            UserDatabaseRealm to authenticate users -->
       <!-- RAV
            <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/>
          -->
        </GlobalNamingResources>
        <!-- A "Service" is a collection of one or more "Connectors" that share
        a single "Container" (and therefore the web applications visible
        within that Container).  Normally, that Container is an "Engine",
        but this is not required.
        Note:  A "Service" is not itself a "Container", so you may not
        define subcomponents such as "Valves" or "Loggers" at this level.
        -->
        <!-- Define the Tomcat Stand-Alone Service -->
        <Service name="Catalina">
            <!-- A "Connector" represents an endpoint by which requests are received
            and responses are returned.  Each Connector passes requests on to the
            associated "Container" (normally an Engine) for processing.
            By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
            You can also enable an SSL HTTP/1.1 Connector on port 8443 by
            following the instructions below and uncommenting the second Connector
            entry.  SSL support requires the following steps (see the SSL Config
            HOWTO in the Tomcat 5 documentation bundle for more detailed
            instructions):
            * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
            later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
            * Execute:
            %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
            $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
            with a password value of "changeit" for both the certificate and
            the keystore itself.
            By default, DNS lookups are enabled when a web application calls
            request.getRemoteHost().  This can have an adverse impact on
            performance, so you can disable it by setting the
            "enableLookups" attribute to "false".  When DNS lookups are disabled,
            request.getRemoteHost() will return the String version of the
            IP address of the remote client.
            -->
            <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
            <Connector port="8084" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"/>
            <!-- Note : To disable connection timeouts, set connectionTimeout value
            to 0 -->
            <!-- Note : To use gzip compression you could set the following properties :
            compression="on"
            compressionMinSize="2048"
            noCompressionUserAgents="gozilla, traviata"
            compressableMimeType="text/html,text/xml"
            -->
            <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
            <Connector port="8443"
            maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
            enableLookups="false" disableUploadTimeout="true"
            acceptCount="100" scheme="https" secure="true"
            clientAuth="false" sslProtocol="TLS" />
            <!-- Define an AJP 1.3 Connector on port 8009 -->
            <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3"/>
            <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
            <!-- See proxy documentation for more information about using this. -->
            <!--
            <Connector port="8082"
            maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
            enableLookups="false" acceptCount="100" connectionTimeout="20000"
            proxyPort="80" disableUploadTimeout="true" />
            -->
            <!-- An Engine represents the entry point (within Catalina) that processes
            every request.  The Engine implementation for Tomcat stand alone
            analyzes the HTTP headers included with the request, and passes them
            on to the appropriate Host (virtual host). -->
            <!-- You should set jvmRoute to support load-balancing via AJP ie :
            <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">        
            -->
            <!-- Define the top level container in our container hierarchy -->
            <Engine name="Catalina" defaultHost="localhost">
                <!-- The request dumper valve dumps useful debugging information about
                the request headers and cookies that were received, and the response
                headers and cookies that were sent, for all requests received by
                this instance of Tomcat.  If you care only about requests to a
                particular virtual host, or a particular application, nest this
                element inside the corresponding <Host> or <Context> entry instead.
                For a similar mechanism that is portable to all Servlet 2.4
                containers, check out the "RequestDumperFilter" Filter in the
                example application (the source for this filter may be found in
                "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
                Request dumping is disabled by default.  Uncomment the following
                element to enable it. -->
                <!--
                <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
                -->
                <!-- Because this Realm is here, an instance will be shared globally -->
                <!-- This Realm uses the UserDatabase configured in the global JNDI
                resources under the key "UserDatabase".  Any edits
                that are performed against this UserDatabase are immediately
                available for use by the Realm.  -->
                <!-- RAV
               <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
               -->
                <!-- Comment out the old realm but leave here for now in case we
                need to go back quickly -->
                <!--
                <Realm className="org.apache.catalina.realm.MemoryRealm" />
                -->
                <!-- Replace the above Realm with one of the following to get a Realm
                stored in a database and accessed via JDBC -->
                <Realm  className="org.apache.catalina.realm.JDBCRealm"
                driverName="org.gjt.mm.mysql.Driver"
                connectionURL="jdbc:mysql://localhost:3306/tomcatusers"
                connectionName="root" connectionPassword="sikhism1"
                userTable="users" userNameCol="user_name" userCredCol="user_pass"
                userRoleTable="user_roles" roleNameCol="role_name" />
                <!--
                <Realm  className="org.apache.catalina.realm.JDBCRealm"
                driverName="oracle.jdbc.driver.OracleDriver"
                connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
                connectionName="scott" connectionPassword="tiger"
                userTable="users" userNameCol="user_name" userCredCol="user_pass"
                userRoleTable="user_roles" roleNameCol="role_name" />
                -->
                <!--
                <Realm  className="org.apache.catalina.realm.JDBCRealm"
                driverName="sun.jdbc.odbc.JdbcOdbcDriver"
                connectionURL="jdbc:odbc:CATALINA"
                userTable="users" userNameCol="user_name" userCredCol="user_pass"
                userRoleTable="user_roles" roleNameCol="role_name" />
                -->
                <!-- Define the default virtual host
                Note: XML Schema validation will not work with Xerces 2.2.
                -->
                <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false">
                    <!-- Defines a cluster for this node,
                    By defining this element, means that every manager will be changed.
                    So when running a cluster, only make sure that you have webapps in there
                    that need to be clustered and remove the other ones.
                    A cluster has the following parameters:
                    className = the fully qualified name of the cluster class
                    name = a descriptive name for your cluster, can be anything
                    mcastAddr = the multicast address, has to be the same for all the nodes
                    mcastPort = the multicast port, has to be the same for all the nodes
                    mcastBindAddr = bind the multicast socket to a specific address
                    mcastTTL = the multicast TTL if you want to limit your broadcast
                    mcastSoTimeout = the multicast readtimeout
                    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
                    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
                    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
                    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
                    in case of multiple ethernet cards.
                    auto means that address becomes
                    InetAddress.getLocalHost().getHostAddress()
                    tcpListenPort = the tcp listen port
                    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
                    has a wakup bug in java.nio. Set to 0 for no timeout
                    printToScreen = true means that managers will also print to std.out
                    expireSessionsOnShutdown = true means that
                    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
                    false means to replicate the session after each request.
                    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
                    <%
                    HashMap map = (HashMap)session.getAttribute("map");
                    map.put("key","value");
                    %>
                    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
                    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
                    * Synchronous means that the thread that executes the request, is also the
                    thread the replicates the data to the other nodes, and will not return until all
                    nodes have received the information.
                    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
                    so the request thread will queue the replication request into a "smart" queue,
                    and then return to the client.
                    The "smart" queue is a queue where when a session is added to the queue, and the same session
                    already exists in the queue from a previous request, that session will be replaced
                    in the queue instead of replicating two requests. This almost never happens, unless there is a
                    large network delay.
                    -->
                    <!--
                    When configuring for clustering, you also add in a valve to catch all the requests
                    coming in, at the end of the request, the session may or may not be replicated.
                    A session is replicated if and only if all the conditions are met:
                    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
                    2. a session exists (has been created)
                    3. the request is not trapped by the "filter" attribute
                    The filter attribute is to filter out requests that could not modify the session,
                    hence we don't replicate the session after the end of this request.
                    The filter is negative, ie, anything you put in the filter, you mean to filter out,
                    ie, no replication will be done on requests that match one of the filters.
                    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
                    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
                    ending with .gif and .js are intercepted.
                    The deployer element can be used to deploy apps cluster wide.
                    Currently the deployment only deploys/undeploys to working members in the cluster
                    so no WARs are copied upons startup of a broken node.
                    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
                    When a new war file is added the war gets deployed to the local instance,
                    and then deployed to the other instances in the cluster.
                    When a war file is deleted from the watchDir the war is undeployed locally
                    and cluster wide
                    -->
                    <!--
                    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                    expireSessionsOnShutdown="false"
                    useDirtyFlag="true"
                    notifyListenersOnReplication="true">
                    <Membership
                    className="org.apache.catalina.cluster.mcast.McastService"
                    mcastAddr="228.0.0.4"
                    mcastPort="45564"
                    mcastFrequency="500"
                    mcastDropTime="3000"/>
                    <Receiver
                    className="org.apache.catalina.cluster.tcp.ReplicationListener"
                    tcpListenAddress="auto"
                    tcpListenPort="4001"
                    tcpSelectorTimeout="100"
                    tcpThreadCount="6"/>
                    <Sender
                    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                    replicationMode="pooled"
                    ackTimeout="15000"/>
                    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
                    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>
                    </Cluster>
                    -->
                    <!-- Normally, users must authenticate themselves to each web app
                    individually.  Uncomment the following entry if you would like
                    a user to be authenticated the first time they encounter a
                    resource protected by a security constraint, and then have that
                    user identity maintained across *all* web applications contained
                    in this virtual host. -->
                    <!--
                    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
                    -->
                    <!-- Access log processes all requests for this virtual host.  By
                    default, log files are created in the "logs" directory relative to
                    $CATALINA_HOME.  If you wish, you can specify a different
                    directory with the "directory" attribute.  Specify either a relative
                    (to $CATALINA_HOME) or absolute path to the desired directory.
                    -->
                    <!--
                    <Valve className="org.apache.catalina.valves.AccessLogValve"
                    directory="logs"  prefix="localhost_access_log." suffix=".txt"
                    pattern="common" resolveHosts="false"/>
                    -->
                    <!-- Access log processes all requests for this virtual host.  By
                    default, log files are created in the "logs" directory relative to
                    $CATALINA_HOME.  If you wish, you can specify a different
                    directory with the "directory" attribute.  Specify either a relative
                    (to $CATALINA_HOME) or absolute path to the desired directory.
                    This access log implementation is optimized for maximum performance,
                    but is hardcoded to support only the "common" and "combined" patterns.
                    -->
                    <!--
                    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                    directory="logs"  prefix="localhost_access_log." suffix=".txt"
                    pattern="common" resolveHosts="false"/>
                    -->
                    <!-- Access log processes all requests for this virtual host.  By
                    default, log files are created in the "logs" directory relative to
                    $CATALINA_HOME.  If you wish, you can specify a different
                    directory with the "directory" attribute.  Specify either a relative
                    (to $CATALINA_HOME) or absolute path to the desired directory.
                    This access log implementation is optimized for maximum performance,
                    but is hardcoded to support only the "common" and "combined" patterns.
                    This valve use NIO direct Byte Buffer to asynchornously store the
                    log.
                    -->
                    <!--
                    <Valve className="org.apache.catalina.valves.ByteBufferAccessLogValve"
                    directory="logs"  prefix="localhost_access_log." suffix=".txt"
                    pattern="common" resolveHosts="false"/>
                    -->
                </Host>
            </Engine>
        </Service>
    </Server>Many thanks, and apologies for "dumping" all of the code here.

    So looking through the java api docs, I found that the tcUtilJDBCOperations has a connect string for the database. Below is the info it outlines. The questions I have it this. How do you specify the psdriver and URL along with do I need to do this as a persistent instance then add my selectstatement as a part of this or can I just specify this and the select statement will use this connection? Any help you can give would be appreciated.
    tcUtilJDBCOperations
    public tcUtilJDBCOperations(java.lang.String psDriver,
    java.lang.String psUrl,
    java.lang.String psUsername,
    java.lang.String psPassword)Contructor that sets the parameters for connecting to a database
    Parameters:
    psDriver - The class name of the jdbc driver
    psUrl - The URL of the database
    psUsername - The username required to access the database
    psPassword - The password for the above username
    Nick

  • The error 600 occurred in the current database connection "LCA".

    Hi All,
    User is executing job /SAPAPO/TS_REALIGN_COPY in background,  as soon as the job is released its failing with runtime error:
    I check the Note 1126394 but not relevant.
    Runtime Errors         DBIF_DSQL2_SQL_ERROR
    Exception              CX_SY_NATIVE_SQL_ERROR
    Date and Time          18.08.2011 00:03:39
    Short text
         An SQL error occurred when executing Native SQL.
    What happened?
         The error 600 occurred in the current database connection "LCA".
    What can you do?
         Note down which actions and inputs caused the error.
         To process the problem further, contact you SAP system
         administrator.
    Using Transaction ST22 for ABAP Dump Analysis, you can look
         at and manage termination messages, and you can also
         keep them for a long time.
    How to correct the error
        Database error text........: "POS(1) Work rolled back: BAD_ALLOCATION in
         SAPTS_COPY_DA"
        Database error code........: 600
        Triggering SQL statement...: "EXECUTE PROCEDURE SAPTS_COPY_DATA"
        Internal call code.........: "[DBDS/NEW DSQL]"
        Please check the entries in the system log (Transaction SM21).
    If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "DBIF_DSQL2_SQL_ERROR" "CX_SY_NATIVE_SQL_ERROR"
        "/SAPAPO/SAPLOM_TIMESERIES" or "/SAPAPO/LOM_TIMESERIESU20"
        "/SAPAPO/OM_TS_DATA_COPY"
        If you cannot solve the problem yourself and want to send an error
        notification to SAP, include the following information:
        1. The description of the current problem (short dump)
           To save the description, choose "System->List->Save->Local File
        (Unconverted)".
        2. Corresponding system log
           Display the system log by calling transaction SM21.
           Restrict the time interval to 10 minutes before and five minutes
        after the short dump. Then choose "System->List->Save->Local File
        (Unconverted)".
    Information on where terminated
        Termination occurred in the ABAP program "/SAPAPO/SAPLOM_TIMESERIES" - in
         "/SAPAPO/OM_TS_DATA_COPY".
        The main program was "/SAPAPO/TS_RLG_COPY_SINGLE ".
        In the source code you have the termination point in line 57
        of the (Include) program "/SAPAPO/LOM_TIMESERIESU20".
        The program "/SAPAPO/SAPLOM_TIMESERIES" was started as a background job.
        Job Name....... "/SAPAPO/TS_REALIGN_COPY"
        Job Initiator.. "CIBERNLAPO2"
        Job Number..... 00015100
        The termination is caused because exception "CX_SY_NATIVE_SQL_ERROR" occurred
         in
        procedure "/SAPAPO/OM_TS_DATA_COPY" "(FUNCTION)", but it was neither handled
         locally nor declared
        in the RAISING clause of its signature.
        The procedure is in program "/SAPAPO/SAPLOM_TIMESERIES "; its source code
         begins in line
        1 of the (Include program "/SAPAPO/LOM_TIMESERIESU20 ".
    Kindly suggest any notes or is any setting needs to be modified.
    Regards,
    Kaasi

    Hello Ada,
    the job was aborted due:
    Database error text........: "POS(1) Work rolled back: BAD_ALLOCATION in 
         SAPTS_COPY_DA"
        Database error code........: 600
        Triggering SQL statement...: "EXECUTE PROCEDURE SAPTS_COPY_DATA"
        Internal call code.........: "[DBDS/NEW DSQL]"
        Please check the entries in the system log (Transaction SM21).
    From the posted dump.
    Was it lack of OMS heap memory, memory leaking, program error or huge data selection for application run it's not clear. It will be best for SAP customer to create the SAP message and get SAP support when application canceled due Database error BAD_ALLOCATION in  LCA routine.
    Regards, Natalia Khlopina

  • Initial Database size in PI 7.1 EHP1

    Hi,
    Which is the initial database size of PI 7.1 EHP1 in Windows + Oracle 11 G ??
    After a Pos-instalattion and Sgen.
    Thanks !!

    Hi,
    You are correct, Instructor has used SAP PI system ABAP stack to create proxies.
    Let me explain you how he has used SAP PI system to illustrate the Direct Connection with in PI itself.
    ->  Created Proxies both Server and Client in PI itself.
    ->  Uses Client 200 as SYS1 and SYS2 as 300 (see Receiver Communication Channel creation) other than these, he must
          have 001 client for Integration server itself.
    ->   Executes client proxy from Client 200 and gets data from client 300 as this is the receiver.
    ->   Used client 200 and 300 as two different ABAP Back end systems (Integration Engines) but they are within PI itself.
    ->   To create proxy he must have ABAP developer license for client 200.
    This never happens in any Implementation Projects, As Rajesh said they will be two different ERP systems which pass through PI.
    Hope you understood now.
    Regards
    Praveen K

  • Create database connection for oracle ver.8.1.7.4 unsucessful

    I trying create a database connection with jdeveloper 11g to db oracle ver.8.1.7.4, but the connection return error "Test failed: Unsupported Oracle database version". I selected connection type: "Oracle (JDBC)" and initially selected driver: "thin", after exchange to driver: "oci8", but return error: "Test failed: no ocijdbc11 in java.library.path". Created on menu > Tools > Preferences > JDBC driver options a new driver: "some.jdbc.Driver" pointing to Driver class: "some.jdbc.Driver", library: "oracle.jdbc.OracleDriver", class path: "c:\...\oracle\jdbc\lib\ojdbc14.jar".
    Tried to create with this driver with the option "Generic JDBC" pointing to this driver created and using jdbc url: "jdbc:oracle:thin:@//255.255.255.255:1521/ServerId", but return error: "Test failed: Driver class not found. Verify the Driver location"
    Now, i don´t know to do!!!

    John,
    i have the data corporate in this DB in this version. I have already tested with the oracle JDBC driver: "ojdbc14.jar" and works in the "Eclipse" IDE, but i want to use with jdev, understand? Can i test only with this jdbc driver if i set "generic JDBC"?, because if i set "oracle JDBC" this driver is pointing to oracle 11g driver. Is there a "step-by-step" to set this correct procedure? I cannot set "oracle JDBC" of list because the driver class is disabled.

  • How to immediately released database connection in jclient form app ?

    Hello Steve,
    We want our jclient form application could immediately released database connection when its be closed,
    We had follow your Weblog technical paper about http://radio.weblogs.com/0118231/stories/2005/02/10/amPoolingConsiderationsForAdfJclient.html , it mentioned following step to release Jclient database connection, but in our jclient project when we close separate jclient form application the database connection seems not immediately released(we monitor through TOAD trace session), the database connection will continue stay alive until we close the all project application.
    •Call panelBinding.releaseDataControl() method before our form application closed,
    •Set the AM pool's minimum available size to 0 (zero), and set the idle time and pool monitor interval shorter if the up-to 20-minute wait (in case it takes two wakeup cycles for the AM instance to be idle more than its idle time) is not something you like, or
    •Disable AM pooling altogether (jbo.ampooling.doampooling=false)In our project application the database connection behavior like following:
    1.when we open every Jclient form application , it will establish a new database connection for every form application
    2.But when we closed the jclient form application , the database connection still exist
    3.But when we open the same jclient form application again, the database connection will not create new database connection , it seems using the same connection when this application first create.
    4.when we close the all project application , it will release all database connection.
    Could you help us, thanks.
    Sincerely from, TIng-Rung

    Hello Steve,
    We have been study the paper that you mentioned, sorry that we still got some confused about AM pool and jdbc pool, My project bc4j,xcfg like following , could you help us what we missing ?
    ==============================
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BC4JConfig>
    <AppModuleConfigBag>
    <AppModuleConfig name="xxxAppModuleLocal">
    <jbo.ampool.maxinactiveage>5000</jbo.ampool.maxinactiveage>
    <user>xxx</user>
    <jbo.project>His</jbo.project>
    <AppModuleJndiName>com.xxx.business.module.xxxAppModule</AppModuleJndiName>
    <DeployPlatform>LOCAL</DeployPlatform>
    <jbo.poolmonitorsleepinterval>10000</jbo.poolmonitorsleepinterval>
    <jbo.poolmaxinactiveage>5000</jbo.poolmaxinactiveage>
    <JDBCName>NEWNTUHRIS</JDBCName>
    <RELEASE_MODE>Stateless</RELEASE_MODE>
    <jbo.recyclethreshold>0</jbo.recyclethreshold>
    <ApplicationName>com.xxx.business.module.xxxAppModule</ApplicationName>
    <java.naming.factory.initial>oracle.jbo.common.JboInitialContextFactory</java.naming.factory.initial>
    <password>xxxx</password>
    <jbo.poolminavailablesize>0</jbo.poolminavailablesize>
    <DBconnection>jdbc:oracle:thin:@10.0.0.8:1521:xxx</DBconnection>
    <jbo.ampool.minavailablesize>0</jbo.ampool.minavailablesize>
    <jbo.ampool.monitorsleepinterval>10000</jbo.ampool.monitorsleepinterval>
    </AppModuleConfig>
    </AppModuleConfigBag>
    <ConnectionDefinition name="xxx">
    <ENTRY name="JDBC_PORT" value="1521"/>
    <ENTRY name="ConnectionType" value="JDBC"/>
    <ENTRY name="HOSTNAME" value="xx.xx.xx.xx"/>
    <ENTRY name="DeployPassword" value="true"/>
    <ENTRY name="user" value="xxx"/>
    <ENTRY name="ConnectionName" value="xxx"/>
    <ENTRY name="SID" value="xxx"/>
    <ENTRY name="password">
    <![CDATA[{904}0505E5FED797881374FDE8BD1606B6CF01]]>
    </ENTRY>
    <ENTRY name="JdbcDriver" value="oracle.jdbc.driver.OracleDriver"/>
    <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
    <ENTRY name="DeployPassword" value="true"/>
    </ConnectionDefinition>
    </BC4JConfig>
    and our jclient code to release connection like following:
    tabbedPane.addCloseListener(new CloseListener(){
    public void closeOperation(MouseEvent e){       
    cleanTabComponentListener(tabbedPane.getComponentAt(tabbedPane.getOverTabIndex()));
    tabbedPane.remove(tabbedPane.getOverTabIndex());
    UPanelBinding panelbd = tabbedPane.getPanelBinding();
    panelbd.releaseDataControl();
    panelbd.getBindingContext().release();
    }

  • KIMYONG : Applications Database Connection Pool 관련 parameter 설명

    Purpose
    JVM 이 과도한 CPU / Memory를 사용하게 되어 Application Performance에 영향을 미칠때가 있으며 이럴경우 Connection Pool 관련하여 Parameter Tunning을 해야 할때가 있습니다. 이때 사용되는 Parameter들의 의미를 설명하고자 합니다.
    The Applications Database Connection Pool is a pool of JDBC database connections that are shared among java applications. Applications obtain connections from the pool by using the getJDBCConnection(...) methods of AppsContext.
    Essentially, each AppsContext has a single database connection associated with it at all times.
    The AOL/J layer internally borrows and returns this connection to the pool as needed to maintain connection reference that is properly initialized for the current Java tier AOL security context and NLS state.
    FND_MAX_JDBC_CONNECTIONS
    ============================
    The maximum pool size is the maximum allowed sum of the number of available connections and thenumber of locked connections. If the pool reaches the maximum size and all connections are locked, new clients will not be able to borrow a connection until one of the current clients has returned one. The default setting for this parameter is essentially unlimited (about 2 billion).
    FND_JDBC_BUFFER_MIN
    ======================
    The buffer minimum is the minimum number of connections that the pool should try to maintain in the available list. When the buffer size falls below the buffer minimum, the pool maintenance thread will be notified to create new connections. When notified, the thread will immediately attempt to create the number of connections to fill the difference. New connections will not be created if the pool is already at its maximum size. When creating new connections the thread uses the attributes of the most recent client request that resulted in a new connection being created.
    Setting this parameter to "0" will disable maintenance of the buffer minimum.
    However, the buffer maximum will still be maintained.
    Setting this parameter to a number greater than the maximum pool size(FND_MAX_JDBC_CONNECTIONS) will disable all buffer maintenance.
    FND_JDBC_BUFFER_MAX
    ======================
    The buffer maximum is the maximum number of connections that the pool should try to maintain in the available list. During heavy usage, the buffer may exceed this maximum. However, during periods of low usage, the maintenance thread will decrease the buffer size until the buffer maximum is reached.
    If the value of this parameter is an integer, (for example "20") the buffer maximum is static. If the value is a percent (for example, "20%"), the buffer maximum is not constant but instead is calculated dynamically as a percent of total pool size. The buffer minimum is also taken into account when
    determining a dynamic buffer maximum.
    The exact expression used is:
    maximum(t) = buffer minimum + ( (FND_JDBC_BUFFER_MAX/100) * size(t) )
    where maximum(t) and size(t) are the buffer maximum and pool size at some time t.
    The thread is configured to periodically check the buffer size. If the buffer size is greater than the maximum, the thread will remove either the number of available connections specified by FND_JDBC_BUFFER_DECAY_SIZE or the number of connections in excess of the buffer minimum, whichever is smaller. When connections are removed from the available list, the least recently used ones are removed first.
    Setting this parameter to100%, or to a number equal to FND_MAXIMUM_JDBC_CONNECTIONS, or to a number less than or equal to FND_JDBC_BUFFER_MIN will effectively prevent the maintenance thread from ever removing any connections.
    FND_JDBC_BUFFER_DECAY_INTERVAL
    ===================================
    The buffer decay interval specifies how often the connection pool maintenance thread should check the buffer size. The thread will check the buffer size at most once every FND_JDBC_BUFFER_DECAY_INTERVAL seconds. The actual time between consecutive thread cycles will vary somewhat depending on the JVM load.
    This parameter, along with FND_JDBC_BUFFER_DECAY_SIZE, allows the buffer decay rate to be tuned. For example, if the buffer decay size is 2 and the buffer decay interval is one minute, the buffer decay rate will never exceed two connections per minute. When connections are removed, the least recently used ones are removed first.
    FND_JDBC_BUFFER_DECAY_SIZE
    =============================
    The buffer decay size specifies the maximum number of connections that should be removed during any single thread cycle during which the number of available connections is greater than the buffer size. This parameter, along with FND_JDBC_BUFFER_DECAY_INTERVAL, allows the buffer decay rate to be tuned.
    FND_JDBC_MAX_WAIT_TIME
    =========================
    The maximum wait time specifies how much time a client should spend trying to get a connection. The borrow algorithm, used to borrow an object from the pool, contains check points at which the elapsed time is compared to the maximum wait time. If it exceeds the maximum wait time, then a null object will be returned to the client. The pre-configured value for the maximum wait time is
    10 seconds.
    FND_JDBC_SELECTION_POLICY
    ============================
    The selection policy determines how a connection is selected from the list of available connections for a particular client. The connection pool is pre-configured to use a cost-based selection algorithm, which selects the connection that will require the smallest amount of initialization to match the
    client's context.
    FND_JDBC_USABLE_CHECK
    ===========================
    The FND_JDBC_USABLE_CHECK parameter governs whether a pl/sql query is performed before giving a connection to a client. The pool checks whether a connection is usable before handing it to a client. This always involves checking that the connection is not null and is not closed. If FND_JDBC_USABLE_CHECK is set to true, then it also verifies that the connection can be used to perform a simple PL/SQL query. (This parameter may have to be set to "true" in order to clean up
    connections to a database that has been restarted.)
    FND_JDBC_CONTEXT_CHECK
    ==========================
    The FND_JDBC_CONTEXT_CHECK parameter governs whether the AOL security context and NLS state is obtained from the database when the connection is returned to the pool. If FND_JDBC_CONTEXT_CHECK is "true", when the connection is returned to the pool, the AOL security context and NLS state will be obtained from the database. (This is implemented in the DBConnObj.isReusable() method). This check must be done when the connection is returned (rather than when it is borrowed) so that the selection matching algorithm has access to the actual
    session context of the connections in the available list.
    FND_JDBC_PLSQL_RESET
    ========================
    The PL/SQL reset flag, set using the variable FND_JDBC_PLSQL_RESET, governs whether the PL/SQL state associated with a connection should be freed before the pool hands the connection to the client. By default this flag is false.
    If the flag is set by true, by including the line "FND_JDBC_PLSQL_RESET=true" in the .dbc file, each connection to the database will have its PL/SQL state cleared before the pool returns the connection to the client.
    This is how it works. After the pool selects a connection from the available list for a client, it initializes the connection. One of the things initialization does is to set a flag that is later used by SessionManager to determine if the apps initialization routine needs to be performed for the connection. When FND_JDBC_PLSQL_RESET has been set to "true", this flag will always be set to true. After the pool initializes the connection, it also checks whether the connection is usable. In this case, this check will include a call to DBMS_SESSION.RESET_PACKAGE, which frees the PL/SQL state. The table below summaries the affect of FND_JDBC_PLSQL_RESET and the other safety check parameters on borrowing a connection from the pool.
    The FND_JDBC_PLSQL_RESET parameter has been added to only to address the case where production PL/SQL global bugs are known to exist. The performance of the pool is reduced by setting this flag to true.
    Reference : Note 264599.1

    Purpose
    JVM 이 과도한 CPU / Memory를 사용하게 되어 Application Performance에 영향을 미칠때가 있으며 이럴경우 Connection Pool 관련하여 Parameter Tunning을 해야 할때가 있습니다. 이때 사용되는 Parameter들의 의미를 설명하고자 합니다.
    The Applications Database Connection Pool is a pool of JDBC database connections that are shared among java applications. Applications obtain connections from the pool by using the getJDBCConnection(...) methods of AppsContext.
    Essentially, each AppsContext has a single database connection associated with it at all times.
    The AOL/J layer internally borrows and returns this connection to the pool as needed to maintain connection reference that is properly initialized for the current Java tier AOL security context and NLS state.
    FND_MAX_JDBC_CONNECTIONS
    ============================
    The maximum pool size is the maximum allowed sum of the number of available connections and thenumber of locked connections. If the pool reaches the maximum size and all connections are locked, new clients will not be able to borrow a connection until one of the current clients has returned one. The default setting for this parameter is essentially unlimited (about 2 billion).
    FND_JDBC_BUFFER_MIN
    ======================
    The buffer minimum is the minimum number of connections that the pool should try to maintain in the available list. When the buffer size falls below the buffer minimum, the pool maintenance thread will be notified to create new connections. When notified, the thread will immediately attempt to create the number of connections to fill the difference. New connections will not be created if the pool is already at its maximum size. When creating new connections the thread uses the attributes of the most recent client request that resulted in a new connection being created.
    Setting this parameter to "0" will disable maintenance of the buffer minimum.
    However, the buffer maximum will still be maintained.
    Setting this parameter to a number greater than the maximum pool size(FND_MAX_JDBC_CONNECTIONS) will disable all buffer maintenance.
    FND_JDBC_BUFFER_MAX
    ======================
    The buffer maximum is the maximum number of connections that the pool should try to maintain in the available list. During heavy usage, the buffer may exceed this maximum. However, during periods of low usage, the maintenance thread will decrease the buffer size until the buffer maximum is reached.
    If the value of this parameter is an integer, (for example "20") the buffer maximum is static. If the value is a percent (for example, "20%"), the buffer maximum is not constant but instead is calculated dynamically as a percent of total pool size. The buffer minimum is also taken into account when
    determining a dynamic buffer maximum.
    The exact expression used is:
    maximum(t) = buffer minimum + ( (FND_JDBC_BUFFER_MAX/100) * size(t) )
    where maximum(t) and size(t) are the buffer maximum and pool size at some time t.
    The thread is configured to periodically check the buffer size. If the buffer size is greater than the maximum, the thread will remove either the number of available connections specified by FND_JDBC_BUFFER_DECAY_SIZE or the number of connections in excess of the buffer minimum, whichever is smaller. When connections are removed from the available list, the least recently used ones are removed first.
    Setting this parameter to100%, or to a number equal to FND_MAXIMUM_JDBC_CONNECTIONS, or to a number less than or equal to FND_JDBC_BUFFER_MIN will effectively prevent the maintenance thread from ever removing any connections.
    FND_JDBC_BUFFER_DECAY_INTERVAL
    ===================================
    The buffer decay interval specifies how often the connection pool maintenance thread should check the buffer size. The thread will check the buffer size at most once every FND_JDBC_BUFFER_DECAY_INTERVAL seconds. The actual time between consecutive thread cycles will vary somewhat depending on the JVM load.
    This parameter, along with FND_JDBC_BUFFER_DECAY_SIZE, allows the buffer decay rate to be tuned. For example, if the buffer decay size is 2 and the buffer decay interval is one minute, the buffer decay rate will never exceed two connections per minute. When connections are removed, the least recently used ones are removed first.
    FND_JDBC_BUFFER_DECAY_SIZE
    =============================
    The buffer decay size specifies the maximum number of connections that should be removed during any single thread cycle during which the number of available connections is greater than the buffer size. This parameter, along with FND_JDBC_BUFFER_DECAY_INTERVAL, allows the buffer decay rate to be tuned.
    FND_JDBC_MAX_WAIT_TIME
    =========================
    The maximum wait time specifies how much time a client should spend trying to get a connection. The borrow algorithm, used to borrow an object from the pool, contains check points at which the elapsed time is compared to the maximum wait time. If it exceeds the maximum wait time, then a null object will be returned to the client. The pre-configured value for the maximum wait time is
    10 seconds.
    FND_JDBC_SELECTION_POLICY
    ============================
    The selection policy determines how a connection is selected from the list of available connections for a particular client. The connection pool is pre-configured to use a cost-based selection algorithm, which selects the connection that will require the smallest amount of initialization to match the
    client's context.
    FND_JDBC_USABLE_CHECK
    ===========================
    The FND_JDBC_USABLE_CHECK parameter governs whether a pl/sql query is performed before giving a connection to a client. The pool checks whether a connection is usable before handing it to a client. This always involves checking that the connection is not null and is not closed. If FND_JDBC_USABLE_CHECK is set to true, then it also verifies that the connection can be used to perform a simple PL/SQL query. (This parameter may have to be set to "true" in order to clean up
    connections to a database that has been restarted.)
    FND_JDBC_CONTEXT_CHECK
    ==========================
    The FND_JDBC_CONTEXT_CHECK parameter governs whether the AOL security context and NLS state is obtained from the database when the connection is returned to the pool. If FND_JDBC_CONTEXT_CHECK is "true", when the connection is returned to the pool, the AOL security context and NLS state will be obtained from the database. (This is implemented in the DBConnObj.isReusable() method). This check must be done when the connection is returned (rather than when it is borrowed) so that the selection matching algorithm has access to the actual
    session context of the connections in the available list.
    FND_JDBC_PLSQL_RESET
    ========================
    The PL/SQL reset flag, set using the variable FND_JDBC_PLSQL_RESET, governs whether the PL/SQL state associated with a connection should be freed before the pool hands the connection to the client. By default this flag is false.
    If the flag is set by true, by including the line "FND_JDBC_PLSQL_RESET=true" in the .dbc file, each connection to the database will have its PL/SQL state cleared before the pool returns the connection to the client.
    This is how it works. After the pool selects a connection from the available list for a client, it initializes the connection. One of the things initialization does is to set a flag that is later used by SessionManager to determine if the apps initialization routine needs to be performed for the connection. When FND_JDBC_PLSQL_RESET has been set to "true", this flag will always be set to true. After the pool initializes the connection, it also checks whether the connection is usable. In this case, this check will include a call to DBMS_SESSION.RESET_PACKAGE, which frees the PL/SQL state. The table below summaries the affect of FND_JDBC_PLSQL_RESET and the other safety check parameters on borrowing a connection from the pool.
    The FND_JDBC_PLSQL_RESET parameter has been added to only to address the case where production PL/SQL global bugs are known to exist. The performance of the pool is reduced by setting this flag to true.
    Reference : Note 264599.1

Maybe you are looking for

  • Getting an Error in Rebate VBO2- "Sales volume is not current"

    Hello Gurus, I am working in ECC6.0 & my agreement type customer & Material rebate. Have maintained records in VBO1 & in billing -condition tab the correct % get populated. But the same is not displaying in VBO2. Also i executed VBOF, the sales volum

  • Using Sql Functions in Crystal Reports

    Can SQL table-valued functions be used in Crystal Reports?  The only options I see in the Database Expert are Tables, Views, and Stored Procedures.

  • What is best blue tooth presenter for macbook pro and air

    What is best Blue Tooth presenter for MacBook Pro and Air?

  • Trouble registering my MacBook Air 13

    Hey all ! I recently purchased MacBook Air 13 (Mid 2012) from my classmate. I kinda very new to this mac. Now when I'm trying to register my mac, it is asked me for the serial number and later asking me for the date of purchase. as I dont have date o

  • Global Variable for selection screen variable

    Hi All, We need to create a report where calendar day has to be included in the selection screen.Later after executing the report we should be able to retrieve the selection screen input for calendar day and modify it and use the modified one for oth