[英]Spring Batch - ORA 12516 SQLState 66000 - TNS:Listener could not available handler with matching protocol stack
當我運行Spring批處理來處理100多個記錄時,出現以下錯誤,
"Listener Refused the connection with the following error: ORA-12516,
TNS:Listener could not available handler with matching protocol stack".
但是,當我運行該批處理以處理少於50條記錄時,它可以正常工作。
在我的閱讀器的批處理前步驟中,我查詢數據庫以獲取記錄。
例如,如果我從數據庫中獲得100條記錄,則使用循環,我將從每條記錄中提取一個特定字段,並使用該特定字段查詢另一個表。 因此,第二個查詢在for循環中運行了100次。
在日志中,我可以看到批處理運行了一段時間(在循環中查詢了一些記錄),然后引發了錯誤。
請幫我解決這個問題。
更改了我的數據源bean
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</bean>
對此
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="connectionProperties" value="initialSize=1,maxTotal=10" />
</bean>
OnlyGod團隊 -
Oracle數據庫服務器“ PROCESSES”的值配置得太低,您可以分步解決
啟動“ SQL Plus”
登錄為“系統”
鍵入以下命令(以檢查數據庫是否正在使用spfile):
show parameter spfile
假設它表明您正在使用spfile,然后鍵入以下命令:
alter system set PROCESSES=300 scope = spfile
獲得一些停機時間(無需使用數據庫),然后重新啟動Oracle數據庫服務器(或簡單地相關的Oracle數據庫),或者您可以在notepad ++中對其進行編輯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.