【问题标题】:Error when configuring Datasource Oracle 11g into Apache Tomcat 7 (7.0.82)将数据源 Oracle 11g 配置到 Apache Tomcat 7 (7.0.82) 时出错
【发布时间】:2018-12-31 21:59:29
【问题描述】:

我正在尝试更改我的应用程序中的配置以将数据源用于具有 Oracle DB 11g 的 Apache Tomcat 服务器,但它引发了关于 SYS.AUD$ 表空间的错误。按照我的配置:

$TOMCAT_HOME/conf/context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context>

<Resource auth="Container" 
         name="jdbc/oracleds"
         type="javax.sql.DataSource"
         driverClassName="oracle.jdbc.OracleDriver"
         url="jdbc:oracle:thin:@HOSTNAME:PORT/SERVICENAME"
         username="${db.user}" 
         password="${db.password}" 
         maxActive="20"
         maxIdle="10" 
         maxWait="10000"       
         validationQuery="SELECT SYSDATE FROM DUAL"
       />

</Context>

在服务器加载时,控制台会显示以下异常:

Jul 24, 2018 11:17:37 AM org.apache.tomcat.jdbc.pool.ConnectionPool init
SEVERE: Unable to create initial connections of the pool.
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.AUD$ by 1024 in tablespace SYSTEM
ORA-02002: error while writing to audit trail
ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.AUD$ by 1024 in tablespace SYSTEM

       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)
       at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600)
       at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:445)
       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:380)
       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:760)
       at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)
       at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
       at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
       at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
       at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
       at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
       at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
       at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:730)
       at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:664)
       at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:482)
       at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:156)
       at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
       at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
       at org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:560)
       at org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:245)
       at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:141)
       at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
       at org.apache.naming.NamingContext.lookup(NamingContext.java:848)
       at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
       at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
       at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
       at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
       at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:138)
       at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:145)
       at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:110)
       at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:82)
       at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
       at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
       at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:388)
       at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:333)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:751)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:694)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)

【问题讨论】:

    标签: java oracle11g tomcat7 datasource ojdbc


    【解决方案1】:

    尝试将oracle.jdbc.OracleDriver 替换为oracle.jdbc.driver.OracleDriver

    【讨论】:

    【解决方案2】:

    已解决我发现我的数据库可用空间非常低(小于 100 MB),因此我已请求支持团队修复它(增加内存可用),现在初始配置已按预期工作。

    在这里查看另一个已解决的问题,我发现了一些有关如何在 Tomcat 服务器中配置连接池的有趣信息:

    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ( 'v$session.osuser' , value is 'x')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 2015-02-23
      • 2012-03-04
      相关资源
      最近更新 更多