Database connection failure

Hi,
In our environment we are using connection manager to connect to the database. The client connections are getting dropped intermittently and the users are getting ORA-25408 – Cannot safely replay call. The client connections are getting dropped even if the connection manager is not used and they are getting ORA-3113. I don't see any errors on alert.log, listener.log & listener.log at the time of connection drop. Even I cheked with the firewall team also. Can any one let me know what could be the cause for this?

user9114021 wrote:
The connection drop happens intermittently. The client is able to establish the connection but it is getting dropped at random points. Unable to predict when it is dropping.Okay, but you mention two different errors.
The ORA-25408 error results when your existing connection to a database instance fails over to another database instance. The root cause is the failure of the instance you're connected to. The secondary issue is that the processing that your session was busy with, cannot be failed over - and that your session needs to restart that processing from the start again.
So if this happens a lot, you have transparent app fail-over (called <i>TAF</i>) triggered a lot due to RAC db instance(s) failing regularly. This likely means relooking at your RAC configuration, setup and architecture - as something is not healthy.
25408, 00000, "can not safely replay call"
// *Cause:  The connection was lost while doing this call. It may not be
//          safe to replay it after failover.
// *Action: Check to see if the results of the call have taken place, and then
//          replay it if desired.You did not mention RAC, but you did mention using Connection Manager. How are you using it and how and why is TAF configured?
The other error you mentioned is an ORA-3113.
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
//          First, check for network problems and review the SQL*Net setup.
//          Also, look in the alert.log file for any errors. Finally, test to
//          see whether the server process is dead and whether a trace file
//          was generated at failure time.This error (from the client driver) means that the Oracle server process terminated without closing communication channel (tcp socket connection) to the client. The client attempted to talk to its server process and then discovered the server process is no longer there. This typically happens due to ORA-600 errors, where the Oracle server process hits an unrecoverable exception, dumps (writes a trace file and records an error in the alert log) and terminates without notifying the client.

Similar Messages

  • Need help urgent!! regarding Database connection failure

    Hi Experts,
    when i try to login sqlplus...i came across with this error 'TNS adaptor error'
    as i try to restart the services i dont have the sufficient privilages to start.
    Mean while, i have another database in my another system. i know the port number ,host name and all...
    can i connect from one system to another using the port number,host name..
    If So, can any one help me pls

    Hi Bhargav,
    check $ORACLE_HOME $PATH and $ORACLE_SID is correct?
    what OS? windows need service privileges, contact admin.
    can i connect from one system to another using the port number,host name..yes, and login info.
    --sgc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • MySql database  Connection failure

    Hi,
    I have following code. I am using MySql database. and Tomcat server and MySql jdbc driver. I am able to get the Datasource but when I call getConnection on ds, I get Connection object as null. Any help here?
                   ctx = new InitialContext();
                   if( ctx == null ) throw new Exception("ERROR - No Context");
                   // ESTABLISH THE DataSource //
                                  ds = (DataSource)ctx.lookup("java:comp/env/jdbc/xmediaDB");
                   if( ds == null ) throw new Exception("ERROR - DataSource is null");
                   // ESTABLISH THE Connection //
                   con = ds.getConnection();
                   if( con == null ) throw new Exception("ERROR - Failed to get connection");

    Yes database is running...
    Here are my server.xml and web.xml anything wrong here?
    Hi sherbir,
    Pl let me know if anything wrong.
    Here is my server.xml :
    <!-- 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="8005" shutdown="SHUTDOWN" debug="0">
      <!-- Uncomment these entries to enable JMX MBeans support -->
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
                debug="0"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
                debug="0"/>
      <!-- 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 -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
           description="User database that can be updated and saved">
        </Resource>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>
      </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="Tomcat-Standalone">
        <!-- 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 4.0 documentation bundle for more detailed
             instructions):
             * 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 Coyote HTTP/1.1 Connector on port 8081 -->
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8080"
                   minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="100" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" disableUploadTimeout="true" />
        <!-- Note : To disable connection timeouts, set connectionTimeout value
         to 0 -->
        <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
        <!--
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8443" minProcessors="5" maxProcessors="75"
                   enableLookups="true"
                acceptCount="100" debug="0" scheme="https" secure="true"
                   useURIValidationHack="false" disableUploadTimeout="true">
          <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
                   clientAuth="false" protocol="TLS" />
        </Connector>
        -->
        <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8009" minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="10" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false"
                   protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <!--
        <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
                   port="8009" minProcessors="5" maxProcessors="75"
                   acceptCount="10" debug="0"/>
        -->
        <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
        <!-- See proxy documentation for more information about using this. -->
        <!--
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8082" minProcessors="5" maxProcessors="75"
                   enableLookups="true" disableUploadTimeout="true"
                   acceptCount="100" debug="0" connectionTimeout="20000"
                   proxyPort="80" useURIValidationHack="false" />
        -->
        <!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 -->
        <!--
        <Connector className="org.apache.catalina.connector.http.HttpConnector"
                   port="8083" minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="10" debug="0" />
        -->
        <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 -->
        <!--
        <Connector className="org.apache.catalina.connector.http10.HttpConnector"
                   port="8084" minProcessors="5" maxProcessors="75"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="10" debug="0" />
        -->
        <!-- 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). -->
        <!-- Define the top level container in our container hierarchy -->
        <Engine name="Standalone" defaultHost="localhost" debug="0">
          <!-- 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.3
               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"/>
          -->
          <!-- Global logger unless overridden at lower levels -->
          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="catalina_log." suffix=".txt"
                  timestamp="true"/>
          <!-- 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.  -->
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                     debug="0" 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" debug="99"
                 driverName="org.gjt.mm.mysql.Driver"
              connectionURL="jdbc:mysql://localhost/authority"
             connectionName="test" connectionPassword="test"
                  userTable="users" userNameCol="user_name" userCredCol="user_pass"
              userRoleTable="user_roles" roleNameCol="role_name" />
          -->
          <!--
          <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
                 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" debug="99"
                 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 -->
          <Host name="localhost" debug="0" appBase="webapps"
           unpackWARs="true" autoDeploy="true">
            <!-- 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"
                       debug="0"/>
            -->
            <!-- 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"/>
            -->
            <!-- Logger shared by all Contexts related to this virtual host.  By
                 default (when using FileLogger), 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.-->
            <Logger className="org.apache.catalina.logger.FileLogger"
                     directory="logs"  prefix="localhost_log." suffix=".txt"
                 timestamp="true"/>
            <!-- Define properties for each web application.  This is only needed
                 if you want to set non-default properties, or have web application
                 document roots in places other than the virtual host's appBase
                 directory.  -->
            <!-- Tomcat Root Context -->
            <!--
              <Context path="" docBase="ROOT" debug="0"/>
            -->
            <!-- Tomcat Examples Context -->
            <Context path="/examples" docBase="examples" debug="0"
                     reloadable="true" crossContext="true">
              <Logger className="org.apache.catalina.logger.FileLogger"
                         prefix="localhost_examples_log." suffix=".txt"
                   timestamp="true"/>
              <Ejb   name="ejb/EmplRecord" type="Entity"
                     home="com.wombat.empl.EmployeeRecordHome"
                   remote="com.wombat.empl.EmployeeRecord"/>
              <!-- If you wanted the examples app to be able to edit the
                   user database, you would uncomment the following entry.
                   Of course, you would want to enable security on the
                   application as well, so this is not done by default!
                   The database object could be accessed like this:
                   Context initCtx = new InitialContext();
                   Context envCtx = (Context) initCtx.lookup("java:comp/env");
                   UserDatabase database =
                        (UserDatabase) envCtx.lookup("userDatabase");
              -->
    <!--
              <ResourceLink name="userDatabase" global="UserDatabase"
                            type="org.apache.catalina.UserDatabase"/>
    -->
              <!-- PersistentManager: Uncomment the section below to test Persistent
                     Sessions.
                   saveOnRestart: If true, all active sessions will be saved
                     to the Store when Catalina is shutdown, regardless of
                     other settings. All Sessions found in the Store will be
                     loaded on startup. Sessions past their expiration are
                     ignored in both cases.
                   maxActiveSessions: If 0 or greater, having too many active
                     sessions will result in some being swapped out. minIdleSwap
                     limits this. -1 means unlimited sessions are allowed.
                     0 means sessions will almost always be swapped out after
                     use - this will be noticeably slow for your users.
                   minIdleSwap: Sessions must be idle for at least this long
                     (in seconds) before they will be swapped out due to
                   maxActiveSessions. This avoids thrashing when the site is
                     highly active. -1 or 0 means there is no minimum - sessions
                     can be swapped out at any time.
                   maxIdleSwap: Sessions will be swapped out if idle for this
                     long (in seconds). If minIdleSwap is higher, then it will
                     override this. This isn't exact: it is checked periodically.
                     -1 means sessions won't be swapped out for this reason,
                     although they may be swapped out for maxActiveSessions.
                     If set to >= 0, guarantees that all sessions found in the
                     Store will be loaded on startup.
                   maxIdleBackup: Sessions will be backed up (saved to the Store,
                     but left in active memory) if idle for this long (in seconds),
                     and all sessions found in the Store will be loaded on startup.
                     If set to -1 sessions will not be backed up, 0 means they
                     should be backed up shortly after being used.
                   To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
                   and minIdleBackup all to -1, saveOnRestart to false, then restart
                   Catalina.
              -->
                <!--
              <Manager className="org.apache.catalina.session.PersistentManager"
                  debug="0"
                  saveOnRestart="true"
                  maxActiveSessions="-1"
                  minIdleSwap="-1"
                  maxIdleSwap="-1"
                  maxIdleBackup="-1">
                    <Store className="org.apache.catalina.session.FileStore"/>
              </Manager>
                -->
              <Environment name="maxExemptions" type="java.lang.Integer"
                          value="15"/>
              <Parameter name="context.param.name" value="context.param.value"
                         override="false"/>
              <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
                        type="javax.sql.DataSource"/>
              <ResourceParams name="jdbc/EmployeeAppDb">
                <parameter><name>user</name><value>sa</value></parameter>
                <parameter><name>password</name><value></value></parameter>
                <parameter><name>driverClassName</name>
                  <value>org.hsql.jdbcDriver</value></parameter>
                <parameter><name>driverName</name>
                  <value>jdbc:HypersonicSQL:database</value></parameter>
              </ResourceParams>
              <Resource name="mail/Session" auth="Container"
                        type="javax.mail.Session"/>
              <ResourceParams name="mail/Session">
                <parameter>
                  <name>mail.smtp.host</name>
                  <value>localhost</value>
                </parameter>
              </ResourceParams>
              <ResourceLink name="linkToGlobalResource"
                        global="simpleValue"
                        type="java.lang.Integer"/>
            </Context>
            <!--
                Review Production Web Application Context
                NOTE: this set of connection params points to the development database because we're on the developement server.
            -->
            <Context
         path="/review"
         debug="0"
         reloadable="true"
         docBase="C:\download\eclipse\eclipse\workspace\review"
         workDir="C:\download\eclipse\eclipse\workspace\review\work\org\apache\jsp" >
                <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_review_log." suffix=".txt" timestamp="true"/>
                <!-- JNDI entries for xmedia db -->
                <Resource name="jdbc/xmediaDB"
                    auth="Container"
                    type="javax.sql.DataSource">
                </Resource>
                <ResourceParams name ="jdbc/xmediaDB">
                    <parameter>
                        <name>factory</name>
                        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                    </parameter>
                    <parameter>
                        <name>maxActive</name>
                        <value>50</value>
                    </parameter>
                    <parameter>
                        <name>maxIdle</name>
                        <value>30</value>
                    </parameter>
                    <parameter>
                        <name>maxWait</name>
                        <value>80</value>
                    </parameter>
                    <parameter>
                        <name>username</name>
                        <value>root</value>
                    </parameter>
                    <parameter>
                        <name>password</name>
                        <value>admin</value>
                    </parameter>
                    <parameter>
                        <name>driverClassName</name>
                        <value>com.mysql.jdbc.Driver</value>
                    </parameter>
                    <parameter>
                        <name>url</name>
                        <value>jdbc:mysql://153.32.143.96:3306/xmedia_dev?autoReconnect=true</value>
                    </parameter>
                </ResourceParams>
            </Context>
          </Host>
        </Engine>
      </Service>
      <!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with Tomcat 4.0
           as its servlet container. Please read the README.txt file coming with
           the WebApp Module distribution on how to build it.
           (Or check out the "jakarta-tomcat-connectors/webapp" CVS repository)
           To configure the Apache side, you must ensure that you have the
           "ServerName" and "Port" directives defined in "httpd.conf".  Then,
           lines like these to the bottom of your "httpd.conf" file:
             LoadModule webapp_module libexec/mod_webapp.so
             WebAppConnection warpConnection warp localhost:8008
             WebAppDeploy examples warpConnection /examples/
           The next time you restart Apache (after restarting Tomcat, if needed)
           the connection will be established, and all applications you make
           visible via "WebAppDeploy" directives can be accessed through Apache.
      -->
      <!-- Define an Apache-Connector Service -->
    <!--
      <Service name="Tomcat-Apache">
        <Connector className="org.apache.catalina.connector.warp.WarpConnector"
         port="8008" minProcessors="5" maxProcessors="75"
         enableLookups="true" appBase="webapps"
         acceptCount="10" debug="0"/>
        <Engine className="org.apache.catalina.connector.warp.WarpEngine"
         name="Apache" debug="0">
          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="apache_log." suffix=".txt"
                  timestamp="true"/>
          <Realm className="org.apache.catalina.realm.MemoryRealm" />
        </Engine>
      </Service>
    -->
    </Server>and Here is my web.xml :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <!-- BEGIN: icon section -->
    <!-- END: icon section -->
    <!-- BEGIN: display-name section -->
        <display-name>Cross-Media Review Server</display-name>
    <!-- END: display-name section -->
    <!-- BEGIN: description section -->
      <description>
      Cross-Media Review Server
      </description>
    <!-- END: description section -->
    <!-- BEGIN: distributable section -->
    <!-- END: distributable section -->
    <!-- BEGIN: context-param section -->
        <context-param>
            <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
            <param-value>en-US</param-value>
        </context-param>
        <context-param>
            <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
            <param-value>messages</param-value>
        </context-param>
    <!-- END: context-param section -->
    <!-- BEGIN: listener section -->
    <!-- END: listener section -->
    <!-- BEGIN: error-page section -->
    <!-- END: error-page section -->
    <!-- BEGIN: filter section -->
        <filter>
            <filter-name>ReviewAuthenFilter</filter-name>
            <filter-class>com.adobe.xmtech.review.BeamAuthenticationFilter</filter-class>
        </filter>
    <!-- END: filter section -->
    <!-- BEGIN: filter-mapping section -->
        <filter-mapping>
            <filter-name>ReviewAuthenFilter</filter-name>
            <servlet-name>ReviewHandler</servlet-name>
        </filter-mapping>
    <!-- END: filter-mapping section -->
    <!-- BEGIN: servlet section -->
        <servlet>
            <servlet-name>ReviewHandler</servlet-name>
            <servlet-class>com.adobe.review.ReviewHandler</servlet-class>
            <init-param>
                <param-name>AcrobatFeedback</param-name>
                <param-value>none</param-value> <!-- console, alert, none -->
            </init-param>
            <init-param>
                <param-name>FDFLogging</param-name>
                <param-value>file</param-value> <!-- file, none -->
            </init-param>
        </servlet>
        <servlet>
            <servlet-name>Image</servlet-name>
            <servlet-class>com.adobe.review.util.ImageServer</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>Precompile</servlet-name>
            <servlet-class>com.adobe.review.util.Precompile</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>Login</servlet-name>
            <servlet-class>com.adobe.xmtech.review.Login</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>Logout</servlet-name>
            <servlet-class>com.adobe.xmtech.review.Logout</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>FetchPDF</servlet-name>
            <servlet-class>com.adobe.review.beam.misc.FetchPDF</servlet-class>
        </servlet>
    <!-- END: servlet section -->
    <!-- BEGIN: servlet-mapping section -->
        <servlet-mapping>
            <servlet-name>Image</servlet-name>
            <url-pattern>/acrobat/img/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Precompile</servlet-name>
            <url-pattern>/acrobat/jsp/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Login</servlet-name>
            <url-pattern>/acrobat/misc/Login</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Logout</servlet-name>
            <url-pattern>/acrobat/misc/Logout</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>FetchPDF</servlet-name>
            <url-pattern>/acrobat/misc/FetchPDF/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>ReviewHandler</servlet-name>
            <url-pattern>/acrobat/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>ReviewHandler</servlet-name>
            <url-pattern>*.fdf</url-pattern>
        </servlet-mapping>
    <!-- END: servlet-mapping section -->
    <!-- BEGIN: session-config section -->
        <session-config>
            <session-timeout>86400</session-timeout>
        </session-config>
    <!-- END: session-config section -->
    <!-- BEGIN: mime-mapping section -->
        <mime-mapping>
            <extension>pdf</extension>
            <mime-type>application/pdf</mime-type>
        </mime-mapping>
        <mime-mapping>
            <extension>fdf</extension>
            <mime-type>application/fdf</mime-type>
        </mime-mapping>
    <!-- END: mime-mapping section -->
    <!-- BEGIN: welcome-file-list section -->
        <welcome-file-list>
            <welcome-file>login.jsp</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
        </welcome-file-list>
    <!-- END: welcome-file-list section -->
    <!-- BEGIN: error-page section -->
    <!-- END: error-page section -->
    <!-- BEGIN: taglib section -->
    <!-- END: taglib section -->
    <!-- BEGIN: resource-ref section -->
        <!-- krs added for JNDI db connection -->
        <resource-ref>
            <description>DB Connection</description>
            <!-- For JBoss, use java:/jdbc/xmediaDB as the res-ref-name -->
            <!-- For Tomcat, use jdbc/xmediaDB as the res-ref-name -->
            <res-ref-name>java:comp/env/jdbc/xmediaDB</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
    <!-- END: resource-ref section -->
    <!-- BEGIN: security-constriaint section -->
    <!-- END: security-constriaint section -->
    <!-- BEGIN: login-config section -->
    <!-- END: login-config section -->
    <!-- BEGIN: security-role section -->
    <!-- END: security-role section -->
    <!-- BEGIN: env-entry section -->
    <!-- END: env-entry section -->
    <!-- BEGIN: ejb-ref section -->
    <!-- END: ejb-ref section -->
    </web-app>

  • Querying the MIB for estabilished database connectivity

    Hi
    Fairly new to the MIB and its internal workings.
    Can someone explain or provide an exampe ud script to determine database connections that are currently running.
    Configuration currently has the followin database connections:- Oracle 10g, DSM, Supra(IBM) and IDMSX(ICL)
    Take it the above should not make any difference.
    Need to understand what TA_CLASS, TA_OPERATION etc I need to query?
    Regards Sam

    Sam,
    The current state of the connection between a Tuxedo server and its
    asssociated resource manager is not part of the information offered by
    tmadmin or by the Tuxedo MIB, so the best way to obtain this information is
    by querying the database for active connections in its own specific way.
    Another way to obtain this information is to implement a simple service that
    makes one database call and to invoke this service to see if the database
    connection is active.
    It is also possible to perform a GET operation on the T_ULOG TM_MIB class
    and search for specific userlog messages that your application has seen when
    there is a database connection failure.
    Ed
    <Sam Dhooper> wrote in message news:[email protected]..
    Hi
    Fairly new to the MIB and its internal workings.
    Can someone explain or provide an exampe ud script to determine database
    connections that are currently running.
    Configuration currently has the followin database connections:- Oracle 10g,
    DSM, Supra(IBM) and IDMSX(ICL)
    Take it the above should not make any difference.
    Need to understand what TA_CLASS, TA_OPERATION etc I need to query?
    Regards Sam

  • An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database. mail will not be sent.

    Hii all,
    I have a subscription which used to send report email daily 10 am morning 
    now today it does not sent an email the status i s showing above error message ..
    why this occurs ?? at the time of subscription running time ??
    i have checked there is not error of subscription it runs fine ..
    only today errored ..
    Kindly , help me
    Dilip Patil..

    Hi Dilip,
    Based on the error message "An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database." it seems the issue is caused by the Report Server catalog databases are
    corrupted.
    To fix this issue, I suggest that you use the Reporting Services Configuration Manager to recreate the Report Server catalog databases. In addition, please make sure report server instance can connect to the report server database. For more details about Configure
    a Report Server Database Connection (SSRS Configuration Manager), please see the following document:
    http://msdn.microsoft.com/en-IN/library/ms159133.aspx
    Besides, if the issue is caused by the connection to the SQL Server Reporting Services Report Server catalog database is timeout. Please refer to the following thread:
    http://social.technet.microsoft.com/Forums/en-US/db4ca6c2-5445-4ff9-9f63-e20f3859cc70/error-throwing-microsoftreportingservicesdiagnosticsutilitiesreportserverstorageexception-an?forum=sqlreportingservices
    If the problem is still existed, I would appreciate it if you could give us detailed error log, it will help us move more quickly toward a solution.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • SSRS 2008: connection failure, timeout or low disk condition within the database. (rsReportServerDatabaseError)

    Hi,
    I have started getting this error since a week now when I try to schedule a report or change a schedule of a report. 
    An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database. (rsReportServerDatabaseError) Get Online Help For more information about this error navigate to the report
    server on the local server machine, or enable remote errors 
    We have SQL Server 2008 installed along with SSRS running on the server. I have never seen this happening before for almost a year now but suddenly it appeared.  Along with this, report subscription is also messed up and some report are not been
    emailed as they have a error like:
    Failure sending mail: An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database.Mail will not be resent. 
    I am not sure what caused this but if anyone has any idea of what is going on it will be great. 
    Thanks you for your help. 
    Please reply soooon !!!

    Rich, hi, sorry for my english but I speak spanish...
    Well, I was tried to recreate this issue and is really hard to recreate, however and as a rain from the sky, one of my customers receive the same error that you have, reviewing Windows Logs and SQL Traces there is nothing.
    Just for discard security issues I decide to change permissions in my server.
    1. Go to SQL Server Reporting Services Configuration Manager
    2. Go to Databases
    3. Verify the credentials used to connect to the database server
    4. Go to your database server
    5. Look for the login or user that is being used to connect to the database server from SSRS
    6. Change the role of that user and convert it to Sysadmin (Relax, this is not the final solution)
    7. Try again (Is not necesary to restart ANYTHING)
    8. Now, your SSRS and Subscriptions must work fine
    9. If your SSRS and subscriptions are working ok, you have to give some permissions to the user
    10. Grant execute permissions on
    master.dbo.xp_sqlagent_notify
    master.dbo.xp_sqlagent_enum_jobs
    master.dbo.xp_sqlagent_is_starting
    msdb.dbo.sp_help_category
    msdb.dbo.sp_add_category
    msdb.dbo.sp_add_job
    msdb.dbo.sp_add_jobserver
    msdb.dbo.sp_add_jobstep
    msdb.dbo.sp_add_jobschedule
    msdb.dbo.sp_help_job
    msdb.dbo.sp_delete_job
    msdb.dbo.sp_help_jobschedule
    msdb.dbo.sp_verify_job_identifiers
    11. Grant select permissions on
    msdb.dbo.sysjobs
    msdb.dbo.syscategories
    12. Grant public role to the user in the MSDB and Master DB
    13. Remove the Sysadmin role to the user
    14. Try again, now, your SSRS is ready to work
    Regards
    Pls let me know if work for you
    Regards | John Bocachica | jboca.blogspot.com

  • Database Connection Error Cannot create PoolableConnectionFactory

    Hello everyone,
    Background:
    I have a newly installed and configured Ubuntu server running Tomcat5.5 and Mysql 5.0. This server was created in an attempt to migrate from a Red Hat server in a similar configuration, running the exact same webapp. Most of the configuration/classpath differences between the two platforms have been ironed out.
    The Problem:
    When our webapp trys to connect to the database on localhost, an exception 'java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)' is generated.
    The server.xml configuration is below:
    <Resource name="jdbc/EconDollarsDB"
    auth="Container"
    type="javax.sql.DataSource"
    username="user"
    password="pass"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/DBName?autoReconnect=true"
    maxActive="20" maxIdle="5"
    />I can connect to the database just fine using the command line client and the same username/password combo. This configuration has been working fine for at least a year on the older server. The only similar problems I have found on the net (meaning the same exception is generated) involve applets and attempts to connect to different hosts. This case involves a webapp, connecting to localhost, using a configuration that is known to work! I am simply baffled.
    The following stacktrace is generated:
    javax.servlet.ServletException: Database Connection Error
    Cannot create PoolableConnectionFactory (Server connection failure during transaction. Due to underlying exception: 'java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)'.
    ** BEGIN NESTED EXCEPTION **
    java.security.AccessControlException
    MESSAGE: access denied (java.net.SocketPermission localhost resolve)
    STACKTRACE:
    java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
         at java.security.AccessController.checkPermission(AccessController.java:427)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
         at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1117)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1098)
         at java.net.InetAddress.getAllByName(InetAddress.java:1061)
         at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:137)
         at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
         at com.mysql.jdbc.Connection.createNewIO(Connection.java:2769)
         at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
         at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
         at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
         at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
         at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
         at edu.tamu.erl.database.dblibrary.plugin.TomcatConnectionFactory.getConnection(TomcatConnectionFactory.java:102)
         at edu.tamu.erl.database.dblibrary.DBManager.getConnection(DBManager.java:70)
         at edu.tamu.erl.database.dblibrary.DBManager.getDBDataAccessObjectList(DBManager.java:318)
         at edu.tamu.erl.econdollars.middletire.SessionManager.getSessionStatus(SessionManager.java:157)
         at edu.tamu.erl.econdollars.middletire.SessionManager.retallyDB(SessionManager.java:637)
         at org.apache.jsp.admin.login_jsp._jspService(login_jsp.java:88)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         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:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
         at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:50)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    ** END NESTED EXCEPTION **
    Attempted reconnect 3 times. Giving up.)
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
         org.apache.jasper.runtime.PageContextImpl.access$11(PageContextImpl.java:65)
         org.apache.jasper.runtime.PageContextImpl$12.run(PageContextImpl.java:766)
         java.security.AccessController.doPrivileged(Native Method)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:764)
         org.apache.jsp.admin.login_jsp._jspService(login_jsp.java:242)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:585)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
    edu.tamu.erl.database.dblibrary.DBLibraryBaseException: Database Connection Error
    Cannot create PoolableConnectionFactory (Server connection failure during transaction. Due to underlying exception: 'java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)'.
    ** BEGIN NESTED EXCEPTION **
    java.security.AccessControlException
    MESSAGE: access denied (java.net.SocketPermission localhost resolve)
    STACKTRACE:
    java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
         at java.security.AccessController.checkPermission(AccessController.java:427)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
         at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1117)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1098)
         at java.net.InetAddress.getAllByName(InetAddress.java:1061)
         at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:137)
         at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
         at com.mysql.jdbc.Connection.createNewIO(Connection.java:2769)
         at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
         at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
         at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
         at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
         at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
         at edu.tamu.erl.database.dblibrary.plugin.TomcatConnectionFactory.getConnection(TomcatConnectionFactory.java:102)
         at edu.tamu.erl.database.dblibrary.DBManager.getConnection(DBManager.java:70)
         at edu.tamu.erl.database.dblibrary.DBManager.getDBDataAccessObjectList(DBManager.java:318)
         at edu.tamu.erl.econdollars.middletire.SessionManager.getSessionStatus(SessionManager.java:157)
         at edu.tamu.erl.econdollars.middletire.SessionManager.retallyDB(SessionManager.java:637)
         at org.apache.jsp.admin.login_jsp._jspService(login_jsp.java:88)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         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:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
         at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:50)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    ** END NESTED EXCEPTION **
    Attempted reconnect 3 times. Giving up.)
         edu.tamu.erl.database.dblibrary.plugin.TomcatConnectionFactory.getConnection(TomcatConnectionFactory.java:105)
         edu.tamu.erl.database.dblibrary.DBManager.getConnection(DBManager.java:70)
         edu.tamu.erl.database.dblibrary.DBManager.getDBDataAccessObjectList(DBManager.java:318)
         edu.tamu.erl.econdollars.middletire.SessionManager.getSessionStatus(SessionManager.java:157)
         edu.tamu.erl.econdollars.middletire.SessionManager.retallyDB(SessionManager.java:637)
         org.apache.jsp.admin.login_jsp._jspService(login_jsp.java:88)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:585)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)Any help would be greatly appreciated.

    Hi,
    Its clearly saying the connect permission is missing with the current available policy.
    you add the following permisson entry to the <installed JRE>\lib\security\java.policy file.
    (e.g) C:\Program Files\Java\j2re1.4.2_08\lib\security\java.policy
    permission java.security.AllPermission;
    grant{
    permission java.security.AllPermission;
    If the application is running standalone then the code is allowed uncontrolled access but for webapplicatons running through browser, the security check is performed for the configured JRE.
    Regards
    Karthik
    <[email protected]>

  • Using database connection in a servlet and get errors after 8 hours

    Hey,
    I'm running a poker script using applet/servlets and it works great. But for some reason about about 8 hours that database layer stops working. At first I thought it was the connections to mySQL that were timing out (because im using connection pooling) but after turning pooling off (I now create the connection each time) I'm still seeing that same error (I can create a connection but when I do an action ex. like a select statment I get an error). What i'm wondering could it be that the driver I load with Class.forName() some how unloads it's self after x amount of time not being used? Not sure if that is it but if anyone could give me some insight that would be great. The Error i recieve is below:
    INFO: Database Event:DatabaseController: Error executing database query.
    ERROR: Communications link failure due to underlying exception:
    ** BEGIN NESTED EXCEPTION **
    java.net.SocketException
    MESSAGE: Software caused connection abort: recv failed
    STACKTRACE:
    java.net.SocketException: Software caused connection abort: recv failed
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(Unknown Source)
         at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:104)
         at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144)
         at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:172)
         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1839)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2288)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2784)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:2370)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:2297)
         at com.mysql.jdbc.Statement.executeQuery(Statement.java:1183)
         at com.softnet.database.DatabaseController.executeDatabaseQuery(DatabaseController.java:190)
         at com.softnet.games.GameServer.validateUser(GameServer.java:438)
         at com.softnet.games.GameServer.handleData(GameServer.java:113)
         at com.softnet.network.HttpConnectionThread.run(HttpServletListener.java:191)
    ** END NESTED EXCEPTION **
    I know the query is good because it works all other times just not after about 8 hours.
    --Z3r0CooL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hey,
    Thanks for the responces. For the connection pooling I would open 5 connections and keep them open. So i though maybe after 8 hours after not being used they would timeout. Thats why i turned off conection pooling and create a new connection each time. Anyways i'll post the code below incase i made a mistake somewhere.
    package com.softnet.database;
    /************************ DatabaseControler **************************/
    import java.sql.*;
    import java.util.*;
    import com.softnet.database.DatabaseConnectionPool;
    import com.softnet.database.DatabaseSettings;
    public class DatabaseController
    implements DatabaseListener
         //Used to make sure the database driver is loaded
         private boolean databaseDriverState = false;
         //Used to store a database connection
         private Connection databaseConnection = null;
         //If to user connection pooling or not
         private boolean useConnectionPooling = false;
         //Used to hold the connection pool varible
         private DatabaseConnectionPool connectionPool = null;
         //Used to store database settings
         private DatabaseSettings databaseSettings;
         //Used to hold the DatabaseController listeners
         private List databaseControllerListeners = new ArrayList();
         //min number of connections for connection pool
         private int minNumberOfConnections = 1;
         //max number of connections for connection pool -1 is unlimited
         private int maxNumberOfConnections = -1;
         //DatabaseController Constructors
         public DatabaseController(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
              databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
         public DatabaseController(DatabaseSettings databaseSettings, boolean useConnectionPooling, int minNumberOfConnections, int maxNumberOfConnections)
              this.databaseSettings = databaseSettings;
              this.useConnectionPooling = useConnectionPooling;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              if(useConnectionPooling == true)
                   connectionPool = new DatabaseConnectionPool(databaseSettings, minNumberOfConnections, maxNumberOfConnections);
                   connectionPool.addDatabaseListener(this);
              else
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
         public DatabaseController() {}
         //Database Settings Get/Set
         public DatabaseSettings getDatabaseSettings()
              return databaseSettings;
         public void setDatabaseSettings(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
         //Connection Pooling Get/Set
         public boolean getConnectionPooling()
              return useConnectionPooling;
         public void setConnectionPooling(boolean useConnectionPooling, int minNumberOfConnections, int maxNumberOfConnections)
              this.useConnectionPooling = useConnectionPooling;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              if(useConnectionPooling == true)
                   if(connectionPool == null)
                        connectionPool = new DatabaseConnectionPool(databaseSettings, minNumberOfConnections, maxNumberOfConnections);
                        connectionPool.addDatabaseListener(this);
              else
                   if(connectionPool != null)
                        connectionPool.destroyConnections();
                        connectionPool.removeDatabaseListener(this);
                        connectionPool = null;
         //Return if there connected
         public boolean isConnected()
              boolean isConnected;
              if(databaseConnection != null)
                   isConnected = true;
              else
                   isConnected = false;
              return isConnected;
         //Used to connect to database or get a connection for the connection pool
         public void connect()
              if(databaseDriverState == false)
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //If we dont have a current connection, make one
              if(databaseConnection == null && databaseDriverState == true)
                   if(useConnectionPooling == false)
                        try
                             databaseConnection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                        catch (SQLException sqle)
                             //Raise event
                             raiseDatabaseEvent("DatabaseController: Error connecting to database. \nERROR: " + sqle.getMessage());
                             databaseConnection = null;
                   else
                        databaseConnection = connectionPool.getConnection();
         //Used to disconnect from the database or give back the connection to the connection pool
         public void disconnect()
              if(databaseConnection != null)
                   if(useConnectionPooling == false)
                        try
                             //Close DB Connection
                             databaseConnection.close();
                        catch(SQLException ignore) {}
                        finally
                             databaseConnection = null;
                   else
                        connectionPool.returnConnection(databaseConnection);
                        databaseConnection = null;
         public ResultSet executeDatabaseQuery(String sSQL)
              ResultSet databaseResult = null;
              if(databaseConnection != null)
                   try
                        Statement databaseStatement = databaseConnection.createStatement();
                        databaseResult = databaseStatement.executeQuery(sSQL);
                   catch(SQLException sqle)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error executing database query.\nSQL: " + sSQL + "\nERROR: " + sqle.getMessage());
              return databaseResult;
         public int executeDatabaseUpdate(String sSQL)
              int rowsAffected = -1;
              if(databaseConnection != null)
                   try
                        Statement databaseStatement = databaseConnection.createStatement();
                        rowsAffected = databaseStatement.executeUpdate(sSQL);
                   catch(SQLException sqle)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error executing database update.\nSQL: " + sSQL + "\nERROR: " + sqle.getMessage());
              return rowsAffected;
         //Used to load the Database Driver
         private boolean loadDatabaseDriver(String databaseDriver)
              boolean driverLoaded;
              if(databaseDriver.equals("") == false)
                   try
                        //Load Database Driver
                        Class.forName(databaseDriver).newInstance();
                        driverLoaded = true;
                   catch (Exception e)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error loading database driver. \nERROR: " + e.getMessage());
                        driverLoaded = false;
              else
                   driverLoaded = false;
              return driverLoaded;
         //Wrap the DatabaseConnectionPool Error to the DatabaseController
         public void databaseEventOccurred(DatabaseEvent de)
              raiseDatabaseEvent(de.getErrorMessage());
         //Event Handling Code
         //Used to add database listeners (Its sync'd so you can change the listeners when firing an event)
    public synchronized void addDatabaseListener(DatabaseListener databaseControllerListener)
    databaseControllerListeners.add(databaseControllerListener);
    //Used to remove a listener from the list (Its sync'd so you can change the listeners when firing an event)
    public synchronized void removeDatabaseListener(DatabaseListener databaseControllerListener)
    databaseControllerListeners.remove(databaseControllerListener);
    //Used to send the raise event to the listeners
    private synchronized void raiseDatabaseEvent(String databaseError)
    DatabaseEvent databaseEvent = new DatabaseEvent(this, databaseError);
    Iterator listeners = databaseControllerListeners.iterator();
    while(listeners.hasNext())
         DatabaseListener listener = (DatabaseListener) listeners.next();
    listener.databaseEventOccurred(databaseEvent);
    /********************* DatabaseConnectionPool **************/
    package com.softnet.database;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import com.softnet.database.*;
    import com.softnet.database.DatabaseSettings;
    public class DatabaseConnectionPool
         //min number of connections
         private int minNumberOfConnections = 1;
         //max number of connections -1 is unlimited
         private int maxNumberOfConnections = -1;
         //Store the connections
         protected Hashtable databaseConnections = null;
         //Database Info
         protected DatabaseSettings databaseSettings;
         //to hold Driver state
         private boolean databaseDriverState = false;
         //To hold connection checker
         private DatabaseConnectionCheck connectionChecker = null;
         //Used to hold the DatabaseConnectionPool listeners
         private List databaseConnectionPoolListeners = new ArrayList();
         public DatabaseConnectionPool(DatabaseSettings databaseSettings, int minNumberOfConnections, int maxNumberOfConnections)
              this.databaseSettings = databaseSettings;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              //Load Driver
              databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //Create connection
              createConnections();
         public DatabaseConnectionPool(int minNumberOfConnections, int maxNumberOfConnections)
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
         //Database Settings Get/Set
         public DatabaseSettings getDatabaseSettings()
              return databaseSettings;
         public void setDatabaseSettings(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
         //Driver State Get
         public boolean getDatabaseDriverState()
              return databaseDriverState;
         public void createConnections()
              if(databaseDriverState == false)
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //Create all connections and load the minimum in the Hashtable
              if(databaseConnections == null)
                   if(databaseDriverState == true && minNumberOfConnections != 0)
                        databaseConnections = new Hashtable();
                        for(int i = 0; i < minNumberOfConnections; i++)
                             try
                                  databaseConnections.put(DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword()), Boolean.FALSE);
                             catch(SQLException sqle)
                                  //Problem break loop and destroy any connections
                                  destroyConnections();
                                  //Raise event
                                  raiseDatabaseEvent("DatabaseConnectionPool: Error creating database connections. \nERROR: " + sqle.getMessage());
                                  break;
              //If no connection check exists create one
              if(connectionChecker == null)
                   connectionChecker = new DatabaseConnectionCheck(this);
                   connectionChecker.start();
         public Connection getConnection()
              Connection connection = null;
              boolean errorWithConnection = false;
              Enumeration connections = databaseConnections.keys();
              synchronized (databaseConnections)
                   while(connections.hasMoreElements())
                        errorWithConnection = false;
                        connection = (Connection) connections.nextElement();
                        Boolean state = (Boolean) databaseConnections.get(connection);
                        //If connection is not used, use it.
                        if(state == Boolean.FALSE)
                             try
                                  connection.setAutoCommit(true);
                             catch(SQLException e)
                                  //Problem with connection remove connection and replace it
                                  databaseConnections.remove(connection);
                                  try
                                       connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                                  catch(SQLException sqle)
                                       errorWithConnection = true;
                             if(errorWithConnection == false)
                                  // Update the Hashtable to show this one's taken
                                  databaseConnections.put(connection, Boolean.TRUE);
                                  // Return the connection
                                  return connection;
                   //All connections being used check to max to see if we can make a new one
                   if(maxNumberOfConnections == -1 || maxNumberOfConnections > databaseConnections.size())
                        try
                             connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                        catch(SQLException sqle)
                             errorWithConnection = true;
                        if(errorWithConnection == false)
                             databaseConnections.put(connection, Boolean.TRUE);
                             return connection;
              //If not connections free and max connections reached wait for a free connection
              return getConnection();
         public void returnConnection(Connection connection)
              boolean errorWithConnection = false;
              //Make sure connection still works
              try
                   connection.setAutoCommit(true);
              catch(SQLException e)
                   //Problem with connection remove connection and replace it
                   databaseConnections.remove(connection);
                   try
                        connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                   catch(SQLException sqle)
                        errorWithConnection = true;     
              if(errorWithConnection == false)
                   databaseConnections.put(connection, Boolean.FALSE);
         public void destroyConnections()
              Connection connection = null;
              if(databaseConnections != null)
                   //Close all connections
                   Enumeration connections = databaseConnections.keys();
                   while (connections.hasMoreElements())
                        connection = (Connection) connections.nextElement();
                        try
                             connection.close();
                        catch(SQLException ignore) {}
                   //Free up hashtable
                   databaseConnections = null;
         private boolean loadDatabaseDriver(String databaseDriver)
              boolean driverLoaded;
              if(databaseDriver.equals("") == false)
                   try
                        //Load Database Driver
                        Class.forName(databaseDriver);
                        driverLoaded = true;
                   catch (ClassNotFoundException cnfe)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error loading database driver. \nERROR: " + cnfe.getMessage());
                        driverLoaded = false;
              else
                   driverLoaded = false;
              return driverLoaded;
         //Event Handling Code
         //Used to add database listeners (Its sync'd so you can change the listeners when firing an event)
    public synchronized void addDatabaseListener(DatabaseListener databaseConnectionPoolListener)
    databaseConnectionPoolListeners.add(databaseConnectionPoolListener);
    //Used to remove a listener from the list (Its sync'd so you can change the listeners when firing an event)
    public synchronized void removeDatabaseListener(DatabaseListener databaseConnectionPoolListener)
    databaseConnectionPoolListeners.remove(databaseConnectionPoolListener);
    //Used to send the raise event to the listeners
    private synchronized void raiseDatabaseEvent(String databaseError)
    DatabaseEvent databaseEvent = new DatabaseEvent(this, databaseError);
    Iterator listeners = databaseConnectionPoolListeners.iterator();
    while(listeners.hasNext())
         DatabaseListener listener = (DatabaseListener) listeners.next();
    listener.databaseEventOccurred(databaseEvent);
    class DatabaseConnectionCheck extends Thread
         private DatabaseConnectionPool connectionPool;
         DatabaseConnectionCheck(DatabaseConnectionPool connectionPool)
              this.connectionPool = connectionPool;
         public void run()
              try
                   while(true)
                        //check threads every 30 seconds
                        this.sleep(300000);
                        if(connectionPool.databaseConnections != null)
                             Connection connection = null;
                             Enumeration connections = connectionPool.databaseConnections.keys();
                             synchronized (connectionPool.databaseConnections)
                                  while(connections.hasMoreElements())
                                       connection = (Connection) connections.nextElement();
                                       Boolean state = (Boolean) connectionPool.databaseConnections.get(connection);
                                       //If connection is not used, use it.
                                       if(state == Boolean.FALSE)
                                            try
                                                 connection.setAutoCommit(true);
                                            catch(SQLException e)
                                                 //Problem with connection remove connection and replace it
                                                 connectionPool.databaseConnections.remove(connection);
                                                 try
                                                      connection = DriverManager.getConnection(connectionPool.databaseSettings.getDatabaseURL(), connectionPool.databaseSettings.getUserName(), connectionPool.databaseSettings.getUserPassword());
                                                 catch(SQLException sqle)
                                                      connection = null;
                                                 // Update the Hashtable with new connection if its not null
                                                 if(connection != null)
                                                      connectionPool.databaseConnections.put(connection, Boolean.FALSE);
              catch(InterruptedException ignored) {}     
    Basicly the why it works is the connection pool hold the database connections. When the user needs a connection they use the database controller to request a connection (By create a instance and called the connect() method) and the connection is either created or grabed from the connection pool. After the user is done with the connection they call the disconnect() method which closes the connection or returns it to the connection pool.
    --Z3r0CooL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

  • JDeveloper problem setting up a database connection

    I am having some problem setting up a connection to my database. Before I say any more let me explain what I need. I need 2 database connections 1 to a 10g R3 database and one to an 8.0.5.
    I do realize that JDeveloper will only connect back to 8.1.7 because of the JDBC version that is installed with it.
    What I really need to know is "Is it possible to define and use 2 different versions of JDBC" I really don't want to move back to the version that works with both because I am afraid of what performance/benefits I will lose from the latest and greatest.
    The latest version that I can determine will work with 8.0.5 is the last version for 9i.
    Any Ideas would be helpful.
    The reason for this situation is that I have a production database that I will have to keep up with until the full version of the system is complete so that is why I even care about 8.0.5.
    Thanks alot for your time,
    Thom

    I have a similar problem and I would much appreciate any help in this matter.
    I have a wireless network set at home with two computers connected to it:
    My workstation called Home-ws and my laptop called Acer. I can access the d:\ drive of my workstation from my laptop without any problem.
    On my workstation I installed the Oracle 10g product and on my laptop I installed Oracle SQL Developer. On SQL developer I am trying to create a connection to the Oracle server:
    My settings are as below:
    Connection name: orcl_system
    User name: system
    Password: ******
    Host name: Home-ws
    Port: 1521
    SID: orcl
    When I push test I am getting the following error message:
    Status: Failure –Io exception: The Network Adapter could not establish the connection
    Are there any special settings that should be made set up a wireless connection to my database?
    Then I did the following things below:
    1. I downloaded from oracle.com the instantclient-basic-win32-10.2.0.2-20060508.zip file and unzipped it in a folder called instantclient_10_2. There were a number of DLL and two jar files plus sqlplus.exe
    2. I started sqlplus from that server
    3. sqlplus failed with a similar error as sql developer.
    4. I checked for tnsping. There is no tnsping such and exe on my laptop. I looks like I have to install the DLLs I downloaded them but there are no instructions about how to install them. Should I just copy them in system32 folder?
    5. I looked for firewalls on my Home-ws workstation (where my oracle server is installed) and on my Acer laptop. The firewalls were activated. I added on exception called oracle for port 1521 on both computers and tried to connect again. I tried with both TCP and UDP options and it did not work in both cases.
    I am out of ideas. Any help would be much appreciated.
    Thank you in advance for your help.
    Julian

  • Problem in using context param for storing database connection information

    Hello Friends,
    I am new to struts & jsp.I am developing a project in struts.I have 1 jsp page called editProfile.jsp.On submitting this page it will call 1 action class.The action class in turn will call the Plain old java class where I have written the logic for updating User Profile.
    I have created context-param in web.xml for database connection information like dbURL , dbUserName , dbPassword , jdbcDriver.Now I want to use these connection information in my Business logic(Plain Old Java Class).As we can use context parameter only in jsp & servlets , I am setting the variables of my business logic class with these context param in jsp itself.
    now when I am calling the updateProfile method of Business logic class from Action class it is giving error as all the connection variables which I set in jsp for my business logic class has become null again.
    I am not getting.If once I have set those variables how come they are becoming null again???Please help me.Any Help will be highly appreciated.Thanx in advance.

    This is the code I have written
    web.xml file
    <context-param>
    <param-name>jdbcDriver</param-name>
    <param-value>oracle.jdbc.driver.OracleDriver</param-value>
    </context-param>
    <context-param>
    <param-name>dbUrl</param-name>
    <param-value>jdbc:oracle:thin:@localhost:1521:gd</param-value>
    </context-param>
    <context-param>
    <param-name>dbUserName</param-name>
    <param-value>system</param-value>
    </context-param>
    <context-param>
    <param-name>dbPassword</param-name>
    <param-value>password</param-value>
    </context-param>
    EditProfile.jsp
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*" %>
    <jsp:useBean id="EditProfile" scope="application"
    class="com.myapp.struts.EditProfile"/>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Edit My Profile</title>
    </head>
    <body>
    <form action="submitEditProfileForm.do" focus="txt_FirstName" method="post">
    <%
    EditProfile.setjdbcDriver(application.getInitParameter("jdbcDriver"));
    EditProfile.setdbURL(application.getInitParameter("dbURL"));
    EditProfile.setdbUserName(application.getInitParameter("dbUserName"));
    EditProfile.setdbPassword(application.getInitParameter("dbPassword"));
    -----------more code goes here------------
    EditActionProfile.java
    package com.myapp.struts;
    import javax.servlet.jsp.jstl.core.Config;
    import org.apache.struts.action.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class EditProfileAction extends Action {
    public EditProfileAction()
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) throws Exception
    try
    if (isCancelled(request))
    return mapping.findForward("mainpage");
    EditProfileForm epf = (EditProfileForm)form;
    EditProfile ep = new EditProfile();
    String temp = ep.updateProfile(epf.getTxt_FirstName(),epf.getTxt_MiddleName() , epf.getTxt_LastName() , epf.getTxt_Address() , epf.getTxt_Email() );
    if(temp.equals("SUCCESS"))
    return mapping.findForward("success");
    else
    return mapping.findForward("failure");
    catch(SQLException e)
    System.out.println("error" + e.getMessage());
    return mapping.findForward("failure");
    EditProfile.java class (My Business Logic Class)
    package com.myapp.struts;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.*;
    public class EditProfile {
    private String dbURL;
    private String dbUserName , jdbcDriver;
    private String dbPassword;
    private Connection con;
    private Statement stmt;
    public EditProfile()
    public void setdbURL(String s )
    this.dbURL = s;
    public void setdbUserName(String s )
    this.dbUserName = s;
    public void setdbPassword(String s )
    this.dbPassword = s;
    public void setjdbcDriver(String s )
    this.jdbcDriver = s;
    public String updateProfile(String firstname , String middlename , String lastname , String address , String email)
    throws SQLException, ClassNotFoundException , java.lang.InstantiationException , IllegalAccessException
    try
    String s1 = new String("update usr set first_name='" + firstname + "' , middle_name='" + middlename + "' , last_name='" + lastname +"' , address='" + address + "' , email_id='" + email + "' where usr_key=1" );
    con = this.init();
    System.out.println("after init");
    stmt = con.createStatement();
    int rslt = stmt.executeUpdate(s1);
    System.out.println("after excute update");
    stmt.close();
    if(rslt>=1)
    return "SUCCESS";
    else
    return "Failure";
    finally
    if (null != con)
    con.close();
    public Connection init() throws SQLException, ClassNotFoundException
    Class.forName(jdbcDriver);
    con = DriverManager.getConnection(dbURL, dbUserName, dbPassword);
    return con;
    public void close(Connection connection) throws SQLException
    if (!connection.isClosed())
    connection.close();
    }

  • Database Connection Pattern

    Hi:
    I'm looking for a best practice to centralizing access to the database. All the examples that I have seen on the Sun site and the Internet look a little clumsy. What I'm trying to ask is this. Instead of CODING a connection object, Statment object etc. like the examples provide - every time I make a query. Is there a better way of centralizing make making this code generic.
    For example:
    I have an object that describes my records say ModelBunny
    mBunny.setEars
    mBunny.setTail
    mBunny.setColor
    I have an object that describes all my database queries that I want to execute say DataBunny
    dBunny.getBunnyByID
    dBunny.getAllBunnies
    dBunny.getBunnyByColor
    I created a transaction object that allows me to load up multiple sql commands into the transaction object for more complex calls.
    I pass the transaction object into a generic connection object that opens, runs the transaction and then closes. For inserts, updates and deletes this pattern works great - I pass back an array of int and let the user know what happened - success/failure.
    Here is the root of the issue:
    in my generic connection object - I create a query method. Where I pass in a single query statement that returns a - resultset (yes here is my problem).
    The resultset is only valid if the connection remains open - then as soon as I close out the connection in my "finally" - I'm done, toast, otherwise - screwed.
    I thought of making a method where I can manually close my connection from the calling object - but I want something more brainless where another developer using this framework won't forget and leave the connection dangling.
    Is there some way I can process the resultset generically into an arraylist and then pass back the arraylist?
    I'm not even certain that this pattern that I'm using is wise. Everybody seems keen on writing the same boiler plate code every time they want to execute a command. I don't think this is good design practice and make the code unmanageable. I'd like some advice or a pointer to something better.
    I'm using OracleXE for my test bed. I'd like to leave everything as generic as possible because our platform will likely shift to another DBMS.
    Thanks for your help.

    FYI: Here is the meat of the generic class that I'm talking about.
    public class DbConnection {
    private String _urlDbCnn       = "";   // the JDBC url to the database
    private String _username       = "";   // a valid username to access the database
    private String _password       = "";   // a valid password to access the database
    private String _dbDriver       = "";   // a valid JDBC driver
    private Connection _cnn            = null; // this will be the active connection
    private String _sqlStatement   = null; // this will be the statement to execute against the database
    public DbConnection(){
    this("oracle.jdbc.OracleDriver",
    "jdbc:oracle:thin:@//192.168.15.200:1521/xe",
    "usernamehere",
    "passwordhere");
    } // constructor - nothing
    public DbConnection(String nwDbDriver, String nwDbURL,
    String nwDbUsername, String nwDbPassword){
    this.setDbDriver(nwDbDriver);
    this.setUrlDbCnn(nwDbURL);
    this.setUsername(nwDbUsername);
    this.setPassword(nwDbPassword);
    } // constructor - DbDriver, DbUrl, DbUser, DbPassword
    private void initializeConnection(){
    // try - get database driver
    try{
    DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
    // try - initialize the database connection
    try{
    this._cnn = DriverManager.getConnection(this._urlDbCnn,
    this._username,
    this._password);
    }catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataConnectionNotIntitialized, e);
    } // catch - try and initialize the database connection
    }catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataConnectionDriverFailedToLoad, e);
    } // catch - try and get database driver
    } // method - OpenConnection
    public ResultSet executeQuery(DbTransaction nwTransaction){
    ResultSet results = null; // batch results are returned as an array of integers
    // initialize the database connection
    initializeConnection();
    // try - access the database connection and execute a batch of statements
    try{
    // if - check that the connection is open
    if (this._cnn.isClosed()== false){
    // create a statement object from the connection
    Statement sqlQuery = this._cnn.createStatement();
    // if - check that there is at least one command present
    if (nwTransaction.size() >= 1 ){
    // execute the batch success/error results are returned as an int array
    results = sqlQuery.executeQuery(nwTransaction.get(0).getCommand());
    } // if - check that there is at least one command present
    } // if - check that the connection is open
    catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataSQLTransactionFailed, e);
    } // catch - SQL Query
    finally{
    // try - close database connection
    try{
    //if - check that the connection is open
    if(this._cnn.isClosed() == false){
    // close the database connection
    this._cnn.close();
    } //if - check that the connection is open
    }catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataConnectionNotOpen, e);
    } // catch - try and close database connection
    } // finally
    return results;
    } // method - executeQuery
    public int [] executeTransaction(DbTransaction nwTransaction){
    int [] results = null; // batch results are returned as an array of integers
    // initialize the database connection
    initializeConnection();
    // try - access the database connection and execute a batch of statements
    try{
    // if - check that the connection is open
    if (this._cnn.isClosed()== false){
    // create a statement object from the connection
    Statement batchStatement = this._cnn.createStatement();
    // for - loop through each command added to the transaction
    for(DbCommand command:nwTransaction){
    // add the sql command for batch execution
    batchStatement.addBatch(command.getCommand());
    } // for - loop through each command added to the transaction
    // execute the batch success/error results are returned as an int array
    results = batchStatement.executeBatch();
    } // if - check that the connection is open
    catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataSQLTransactionFailed, e);
    } // catch - SQL Query
    finally{
    // try - close database connection
    try{
    //if - check that the connection is open
    if(this._cnn.isClosed() == false){
    // close the database connection
    this._cnn.close();
    } //if - check that the connection is open
    }catch(SQLException e){
    ErrorTrap trap = new ErrorTrap(ErrorTrapMessage.DataConnectionNotOpen, e);
    } // catch - try and close database connection
    } // finally
    return results;
    } // method - executeCommands

  • Timeout: Tuxedo kills the service but not the database connection

    Hi all,
    I am experiencing some performance problems on my system due an efficient SQL and a Tuxedo improper timeout handling.
    A service is using a "problematic" SQL (we will tune it but it's not the main problem). After 60 seconds from the execution, Tuxido kills the services for a timeout.
    At this point I would like Tuxedo to notify DB2 database as well in order to stop processing the SQL. Instead the SQL continues running on the database (also if the service is killed) and this produce a gradual slow down of the performances.
    In the UBBCONFIG, we are using a service configuration like the following timeout configuration:
    .RESOURCES
    SCANUINIT 5
    SANITYSCAN 6
    BLOCKTIME 12
    .SERVICES
    DEFAULT: SVCTIMEOUT=45
    service1 SVCTIMEOUT=60 TRANTIME=60
    service2 SVCTIMEOUT=60 TRANTIME=60
    Note: not all the services are listed in the .SERVICES section and we are using the default NOTIFY as well as an OPENINFO.
    Can you please help me in finding a configuration to kill both the services and the database?
    Thanks in advance,
    Benedetto

    Hi Benedetto.
    First of all, Tuxedo doesn't kill services, it kills servers. Your UBBCONFIG file specifies three timeouts, BLOCKTIME, SVCTIMEOUT, and TRANTIME.
    BLOCKTIME specifies how long a Tuxedo API that needs a response will wait for that response. If the response isn't received in that period of time, Tuxedo will return TPETIME to the caller. As with any failure, if the request was part of a transaction, the transaction is marked rollback only. Note, this timeout does not affect the request, whether sitting in a server's IPC queue or currently executing in a server.
    SVCTIMEOUT is a much more severe timeout and determines how long Tuxedo will allow a service implementation to execute. If a service implementation doesn't reply within the SVCTIMEOUT period, Tuxedo will issue an OS level KILL request to kill the process. If the server is marked restartable, Tuxedo will then try to restart the server assuming none of the restart limits have been reached. Killing the server causes the request to be lost within the server so the caller will stay blocked until BLOCKTIME is reached at which point the above actions will take place.
    TRANTIME is the amount of time Tuxedo allows a transaction to remain active and viable. When this period expires, Tuxedo will mark the transaction as timed out with the only option being rollback. As well, Tuxedo aborts any API requests that would normally cause messaging to occur, i.e., making a tpcall() within a timed out transaction will fail without any attempt to call the service.
    So in your case, the issue is partially that you have the values of your timeouts in somewhat reverse order. Typically we see BLOCKTIME being the smallest value, with TRANTIME typically larger than BLOCKTIME, and SVCTIMEOUT larger even still, although there are good reasons for exceptions to this guideline. Part of the reasoning behind this is that killing a server is a significant thing and its usually best to try and let the server complete whatever its doing, if if the work has been timed out either due to BLOCKTIME or TRANTIME, since the cost of killing and restarting a server is significant.
    Tuxedo will notify the database of the transaction status when the application finally issues a tpcommit() or a tpabort() request, but not until then. Although, if SVCTIMEOUT is hit, then killing the server should cause the database connection to be lot.
    If you could describe the behavior you are seeing and the relevant portions of your ULOG we can try to make some sense of what is happening.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Testdrive N4S with Fedora 8 - Database Start failure

    Hello,
    I installed the System N4S successfully on a Fedora 8, kernel 2.6.23, but Database start ends up with failure.
    Message from startdb.log:
    Starting XServer
        12916  XSERVER  Found other running x_server with version 'X64/LINUX 7.6.00   Build 018-123-119-055'
        12902  XSERVER  started, 'already...'
    So 30. Dez 19:01:41 CET 2007
    Starting database
    Starting Database Instance...
    Error! XUser not found!
    Opening Database...
    Error! XUser not found!
    DB-log Files indicate some missing crypt-libs:
    trc file: "/sapdb/data/wrk/niserver_machine64.trace", trc level: 1, release: "700"
    Sun Dec 30 18:13:50 2007
    ERROR => DlLoadLib: dlopen()= /sapdb/programs/lib/libsapcrypto.so: cannot open shared object file: No such file or directory -> DLENOACCESS (0,Success) [dlux.c       314]
    ERROR => CDKLoadSAPCryptModule: Loading of /sapdb/programs/lib/libsapcrypto.so failed! [cdkapi.c     204]
    This library was obviously not included in the testdrive.
    However this seems to result only in a warning and to be not the real problem.
    I saw somewhere already a comment advising an upgrade of the database-version because of some library conflicts with an other problem:
    https://forums.sdn.sap.com/click.jspa?searchID=7692305&messageID=3719866
    Can somebody advise on that topic?
    Thank you and kind regards,
    Axel

    Dear Axel,
    having no XUSERs (needed for database connection) makes an automated database start impossible. Can you check, if you have a XUSER file in the home directory of n4sadm?
    $> su - n4sadm
    #> cd
    #> ls -la .XUSER.62
    -rw-------  1 n4sadm sapsys 1724 Apr 20  2007 .XUSER.62
    If it is there, but you can't connect to the database, it should make a copy of the old one with:
    mv -a .XUSER.62 .XUSER.62.org
    and create a new one, which you should do if the file isn't there as well:
    /sapdb/programs/bin/xuser -U DEFAULT -u sapn4s,sapn4sadm -d N4S -n n4shost -S SAPR3 -t 0 -I 0 set
    /sapdb/programs/bin/xuser -U c -u control,sapn4sadm -d N4S -n n4shost -S SAPR3 -t 0 -I 0 set
    /sapdb/programs/bin/xuser -U c_J2EE -u control,sapn4sadm -d N4S -n n4shost -S SAPR3 -t 0 -I 0 set
    /sapdb/programs/bin/xuser -U w -u superdba,sapn4sadm -d N4S -n n4shost -S SAPR3 -t 0 -I 0 set
    After executing the 4 commands, a new .XUSER.62 file will be there, which allows you to start the database.
    Thanks,
      Hannes

  • Error "-7500" occurred in the current database connection "LCA"

    LC & apo box rebooted due hardware failure now once LC is up then all cif quuese are failing with "An SQL error occurred when executing Native SQL" error. Looking further it indicates lc issue.
    Getting multiple dumps in apo box with :-
    Short text
        An SQL error occurred when executing Native SQL.
    What happened?
        The error "-7500" 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) DCOM HRESULT:APS_COM_VERSION_GET,00000002"
        Database error code........: "-7500"
        Triggering SQL statement...: "EXECUTE PROCEDURE "APS_COM_VERSION_GET""
        Internal call code.........: "[DBDS/NEW DSQL]"
        Please check the entries in the system log (Transaction SM21).
    Steps already taken :-
    1) LC apps start/stop
    2) Index recovery done from DBMGUI
    Any suggestion on this ? Only expert comments please.

    >
    > Steps already taken :-
    > 1) LC apps start/stop
    did you restart liveCache from LC10 -> administration-> ...?
    -any errors in lcinit.log ? (/sapdb/data/wrk/)
    -any errors in knldiag or knldiag.err
    -I would suggest to open SAP message and let them to login and check it
    Regards
    Ivan

  • Error in new/select database connection

    i am new at sql developer. i am getting the following error in new/select database connection
    I have filled the following details
    Connection Name : hr_orcl
    Username : hr
    Password : hr
    Connection Typer: Basic, Role: Default
    Hostname: localhost
    Port : 1521
    SID : orcl
    I click on TEST & get the following error message displayed
    " Status : Failure -Test failed: Listener refused connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connec desciptor"

    Hi,
    You don't say if you actually have a local database installed. If not, you need too. If you already do, then the most common case is Oracle 10g or 11g Express Edition. In that case the default SID is XE, as noted in the following similar thread:
    Re: Connecting to Oracle Database 10g Express Edition
    If you need to install a database, you can get 10g or 11g XE here:
    http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
    The 10g XE release has a smaller memory and disk footprint if that makes a difference to you.
    Regards,
    Gary
    SQL Developer Team

Maybe you are looking for

  • Error while opening XL reporter

    Hi Experts, I get following error while opening XL Reporter Error! Server communication failed! Cause: Error! Unable to get document! Type: 36 Cause:XML document must have to top level element. Tried it on several clients, Win XP, Win 7 but can not o

  • Clob Parsing Error

    (Environment: Oracle 8.1.5.0.0 on Solaris) Problem: getting an error while parsing a Clob. "ORA-20100: Error occurred while parsing: Start of root element expected" Code: lv_contentDoc := Xml.PARSE(lv_myClob); where 1) lv_myClob contains the XML docu

  • IPhoto cant find a device to burn message

    I am getting an error message saying saying that iPhoto can not find a device to burn, when I try select share and then burn from the menu. How can I get iPhoto to "see" a device so I can burn pictures again? Thanks, Robin

  • Validate/compare 2 amount fields

    Hi All, I am using oracle Forms 10G on windows. I need help on how to validate 2 amounts fields. I am comparing 2 amounts fields, if the amounts are equal then all is good. However, if the amounts are within 5 dollars that is fine but I would like to

  • Unicode/OO issues with HR_INFOTYPE_OPERATION in separate LUW

    Hi, I've created a separate program that uses FM HR_INFOTYPE_OPERATION in order to allow infotype changes while still being in the PAI of a PA30 infotype operation.  Because I have so many requirements for infotype changes to be triggered from PA30 l