简体   繁体   English

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

[英]listener failed to start a dedicated server process

my spring-hibernate application run without problem for the past 1 week , but suddenly i get below error. 我的spring-hibernate应用程序在过去的一周内运行没有问题 ,但突然我得到了以下错误。 will this caused by configuration error in applicationContext.xml? 这会是由applicationContext.xml中的配置错误引起的吗? there is no error on my oracle10g log files (i get below errror every 1-2weeks once) 我的oracle10g日志文件没有错误(我每1-2周一次得到错误

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

my applicationcontext.xml hibernate config 我的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>

This has little to do with Spring, Hibernate, this is a pure Oracle "problem". 这与Spring,Hibernate没什么关系,这是一个纯粹的Oracle“问题”。 Here is what we can read about ORA-125000: 以下是我们可以阅读的有关ORA-125000的内容:

ORA-12500: TNS:listener failed to start a dedicated server process ORA-12500: TNS:侦听器无法启动专用服务器进程

Cause: The process of starting up a dedicated server process failed. 原因:启动专用服务器进程的过程失败。 The executable could not be found or the environment may be set up incorrectly. 找不到可执行文件,或者可能未正确设置环境。

Action: Turn on tracing at the ADMIN level and reexecute the operation. 操作:在ADMIN级别启用跟踪并重新执行该操作。 Verify that the ORACLE Server executable is present and has execute permissions enabled. 验证是否存在ORACLE Server可执行文件并启用了执行权限。 Ensure that the ORACLE environment is specified correctly in LISTENER.ORA. 确保在LISTENER.ORA中正确指定了ORACLE环境。 The Oracle Protocol Adapter that is being called may not be installed on the local hard drive. 正在调用的Oracle协议适配器可能未安装在本地硬盘驱动器上。 Please check that the correct Protocol Adapter are successfully linked. 请检查是否已成功链接正确的协议适配器。 If error persists, contact Oracle Customer Support. 如果错误仍然存​​在,请联系Oracle客户支持。

According to Thread: ORA-12500: TNS:listener failed to start a dedicated server process : 根据线程:ORA-12500:TNS:监听器无法启动专用服务器进程

This will occur 这将发生

  • When the database is not open 数据库未打开时
  • When the maximum number of sessions has been exceeded . 超过最大会话数时
  • When the Windows maximum number of threads has been exceeded . 超过Windows最大线程数时

More tips from Oracle listener ORA-12500 Tips : 来自Oracle监听器ORA-12500的更多提示提示

The most common cause of a ORA-12500 is a busy system whereby PGA RAM is exhausted. ORA-12500最常见的原因是繁忙的系统,PGA RAM耗尽。 The solutions are: 解决方案是:

  • Reduce sort_area_size (pga_aggregate_target) and hash_area_size to make each default PGA size smaller. 减少sort_area_size(pga_aggregate_target)和hash_area_size以使每个默认PGA大小更小。
  • Add additional server RAM 添加额外的服务器RAM
  • As a last resort, deploy shared servers (the Multithreaded Server (MTS). 作为最后的手段,部署共享服务器(多线程服务器(MTS))。

Common syntax issues in the listener.ora file can cause numerous listener connection problems, most notably the "ORA-12500: TNS: listener failed to start a dedicated server process" error. listener.ora文件中的常见语法问题可能导致许多侦听器连接问题,最明显的是“ORA-12500:TNS:侦听器无法启动专用服务器进程”错误。

Sometimes this ORA-12500 is because of a PGA RAM shortage on the target database, based on the settings for pga_aggregate_target, sort_area_size and hash_area_size . 有时这个ORA-12500是因为目标数据库上的PGA RAM不足,基于pga_aggregate_target,sort_area_size和hash_area_size的设置

You can have a single listener, pointing to multiple Oracle instances, each on a different version. 您可以拥有一个侦听器,指向多个Oracle实例,每个实例位于不同的版本上。

In Windows, especially Oracle8 and Oracle8i, you may need to re-start the listener service using the Windows task manager. 在Windows中,尤其是Oracle8和Oracle8i,您可能需要使用Windows任务管理器重新启动侦听器服务。

See also 也可以看看

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM