簡體   English   中英

偵聽器無法啟動專用服務器進程

[英]listener failed to start a dedicated server process

我的spring-hibernate應用程序在過去的一周內運行沒有問題 ,但突然我得到了以下錯誤。 這會是由applicationContext.xml中的配置錯誤引起的嗎? 我的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

我的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>

這與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任務管理器重新啟動偵聽器服務。

也可以看看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM