Вероятно, это связано с пулом соединений вашего приложения;не проблема СУБД Oracle.У большинства пулов соединений есть оператор проверки, который можно выполнить перед тем, как предоставить вам соединение.В oracle вы хотели бы выбрать «Select 1 from dual».
Причина, по которой это произошло после перезапуска сервера, заключается в том, что пул соединений, вероятно, был добавлен без перезапуска, и вы только что испытываете использование соединениябассейн в первый раз.Каковы даты изменения файлов ресурсов, связанных с подключениями к базам данных?
Пример проверки запроса:
<Resource name="jdbc/EmployeeDB" auth="Container"
validationQuery="Select 1 from dual" type="javax.sql.DataSource" username="dbusername" password="dbpassword"
driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database"
maxActive="8" maxIdle="4"/>
РЕДАКТИРОВАНИЕ: В случае Grails существуютаналогичные параметры конфигурации для бассейна Grails.Пример для Grails 1.2 (см. Примечания к выпуску Grails 1.2 )
dataSource {
pooled = true
dbCreate = "update"
url = "jdbc:mysql://localhost/yourDB"
driverClassName = "com.mysql.jdbc.Driver"
username = "yourUser"
password = "yourPassword"
properties {
maxActive = 50
maxIdle = 25
minIdle = 5
initialSize = 5
minEvictableIdleTimeMillis = 60000
timeBetweenEvictionRunsMillis = 60000
maxWait = 10000
}
}