侦听器无法启动专用服务器进程

com*_*tta 3 java oracle spring hibernate oracle10g

我的spring-hibernate应用程序在过去的一周内运行没有问题,但突然我得到了以下错误.这会是由applicationContext.xml中的配置错误引起的吗?我的oracle10g日志文件没有错误 (我每1-2周一次得到errror)

28 Jul 2010 14:20:19,177 INFO [http-2020-19] - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
28 Jul 2010 14:20:19,224 INFO [http-2020-19] - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
28 Jul 2010 14:20:19,240 WARN [http-2020-19] - Error while extracting database product name - falling back to empty error codes
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Listener refused the connection with the following error:
ORA-12500, TNS:listener failed to start a dedicated server process
The Connection descriptor used by the client was:
10.1.0.23:1521:myserver

 at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:293)
 at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:320)
 at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:216)
 at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:140)
 at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:103)
 at org.springframework.orm.hibernate3.SessionFactoryUtils.newJdbcExceptionTranslator(SessionFactoryUtils.java:145)
 at org.springframework.orm.hibernate3.HibernateAccessor.getDefaultJdbcExceptionTranslator(HibernateAccessor.java:453)
 at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
 at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
 at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
 at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1055)
 at com
Run Code Online (Sandbox Code Playgroud)

我的applicationcontext.xml hibernate配置

<property name="hibernateProperties">
    <props>



        <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        <prop key="hibernate.show_sql">false</prop>
        <prop key="hibernate.format_sql">false</prop>
        <prop key="hibernate.use_sql_comments">false</prop>
        <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>  


                      <prop key="hibernate.c3p0.min_size">10</prop>
                        <prop key="hibernate.c3p0.max_size">100</prop>
                        <prop key="hibernate.c3p0.timeout">10</prop>
                        <prop key="hibernate.c3p0.acquireRetryAttempts">30</prop>

                        <prop key="hibernate.c3p0.acquireIncrement">5</prop>

                        <prop key="hibernate.c3p0.idleConnectionTestPeriod">100</prop>

                        <prop key="hibernate.c3p0.initialPoolSize">20</prop>
                        <prop key="hibernate.c3p0.maxPoolSize">100</prop>
                        <prop key="hibernate.c3p0.maxIdleTime">300</prop>
                        <prop key="hibernate.c3p0.maxStatements">50</prop>
                        <prop key="hibernate.c3p0.minPoolSize">10</prop>
                        <prop key="hibernate.c3p0.preferredTestQuery">SELECT 1 FROM DUAL</prop>
                        <prop key="hibernate.c3p0.testConnectionOnCheckout">true</prop>



      <prop key="hibernate.cache.provider_class">

                                                    org.hibernate.cache.EhCacheProvider
        </prop>
        <prop key="hibernate.cache.use_second_level_cache">true</prop>
        <prop key="hibernate.cache.use_query_cache">true</prop>




    </props>
</property>
Run Code Online (Sandbox Code Playgroud)

Pas*_*ent 9

这与Spring,Hibernate没什么关系,这是一个纯粹的Oracle"问题".以下是我们可以阅读的有关ORA-125000的内容:

ORA-12500: TNS:侦听器无法启动专用服务器进程

原因: 启动专用服务器进程的过程失败.找不到可执行文件,或者可能未正确设置环境.

操作:在ADMIN级别启用跟踪并重新执行该操作.验证是否存在ORACLE Server可执行文件并启用了执行权限.确保在LISTENER.ORA中正确指定了ORACLE环境.正在调用的Oracle协议适配器可能未安装在本地硬盘驱动器上.请检查是否已成功链接正确的协议适配器.如果错误仍然存​​在,请联系Oracle客户支持.

根据线程:ORA-12500:TNS:监听器无法启动专用服务器进程:

这将发生

  • 数据库未打开时
  • 超过最大会话数时.
  • 超过Windows最大线程数时.

来自Oracle监听器ORA-12500的更多提示 提示:

ORA-12500最常见的原因是繁忙的系统,PGA RAM耗尽.解决方案是:

  • 减少sort_area_size(pga_aggregate_target)和hash_area_size以使每个默认PGA大小更小.
  • 添加额外的服务器RAM
  • 作为最后的手段,部署共享服务器(多线程服务器(MTS)).

listener.ora文件中的常见语法问题可能导致许多侦听器连接问题,最明显的是"ORA-12500:TNS:侦听器无法启动专用服务器进程"错误.

有时这个ORA-12500是因为目标数据库上的PGA RAM不足,基于pga_aggregate_target,sort_area_size和hash_area_size的设置.

您可以拥有一个侦听器,指向多个Oracle实例,每个实例位于不同的版本上.

在Windows中,尤其是Oracle8和Oracle8i,您可能需要使用Windows任务管理器重新启动侦听器服务.

也可以看看

  • @cometta:我不能说你的应用程序的适当设置是什么,它实际上取决于并发用户的数量等,你正在运行的实例数,线程池的大小等等.100是一个虽然相当不错的游泳池大小. (2认同)