oracle - Grails 4 oracle连接卡住
问题描述
当应用程序启动时,它正在验证连接。这是它坐在那里等待时的最后一个日志条目。
2020-07-29 15:01:20.743 INFO --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.Oracle12cDialect
它在数据库中建立连接并尝试运行它。
SELECT 'NUMBER' AS type_name
, 2 AS data_type
, 38 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'CHAR' AS type_name
, 1 AS data_type
, 2000 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'CHAR' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NCHAR' AS type_name
, -15 AS data_type
, 2000 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'NCHAR' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'VARCHAR2' AS type_name
, 12 AS data_type
, 4000 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'VARCHAR2' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NVARCHAR2' AS type_name
, -9 AS data_type
, 4000 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'nVARCHAR2' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'DATE' AS type_name
, 93 AS data_type
, 7 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'DATE' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'DATE' AS type_name
, 92 AS data_type
, 7 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'DATE' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'TIMESTAMP' AS type_name
, 93 AS data_type
, 11 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'TIMESTAMP' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'TIMESTAMP WITH TIME ZONE' AS type_name
, -101 AS data_type
, 13 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'TIMESTAMP WITH TIME ZONE' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'TIMESTAMP WITH LOCAL TIME ZONE' AS type_name
, -102 AS data_type
, 11 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'TIMESTAMP WITH LOCAL TIME ZONE' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'INTERVALYM' AS type_name
, -103 AS data_type
, 5 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'INTERVALYM' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'INTERVALDS' AS type_name
, -104 AS data_type
, 4 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'INTERVALDS' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'RAW' AS type_name
, -3 AS data_type
, 2000 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'RAW' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'LONG' AS type_name
, -1 AS data_type
, 2147483647 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'LONG' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'LONG RAW' AS type_name
, -4 AS data_type
, 2147483647 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'LONG RAW' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NUMBER' AS type_name
, -7 AS data_type
, 1 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, '(1)' AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NUMBER' AS type_name
, -6 AS data_type
, 3 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, '(3)' AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NUMBER' AS type_name
, 5 AS data_type
, 5 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, '(5)' AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NUMBER' AS type_name
, 4 AS data_type
, 10 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, '(10)' AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NUMBER' AS type_name
, -5 AS data_type
, 38 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'NUMBER' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'FLOAT' AS type_name
, 6 AS data_type
, 63 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'FLOAT' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'REAL' AS type_name
, 7 AS data_type
, 63 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 3 AS searchable
, 0 AS unsigned_attribute
, 1 AS fixed_prec_scale
, 0 AS auto_increment
, 'REAL' AS local_type_name
, -84 AS minimum_scale
, 127 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'BLOB' AS type_name
, 2004 AS data_type
, -1 AS precision
, NULL AS literal_prefix
, NULL AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 0 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'BLOB' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'CLOB' AS type_name
, 2005 AS data_type
, -1 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'CLOB' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'NCLOB' AS type_name
, 2011 AS data_type
, -1 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'NCLOB' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'REF' AS type_name
, 2006 AS data_type
, 0 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'REF' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'ARRAY' AS type_name
, 2003 AS data_type
, 0 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'ARRAY' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
UNION
SELECT 'STRUCT' AS type_name
, 2002 AS data_type
, 0 AS precision
, '''' AS literal_prefix
, '''' AS literal_suffix
, NULL AS create_params
, 1 AS nullable
, 1 AS case_sensitive
, 0 AS searchable
, 0 AS unsigned_attribute
, 0 AS fixed_prec_scale
, 0 AS auto_increment
, 'STRUCT' AS local_type_name
, 0 AS minimum_scale
, 0 AS maximum_scale
, NULL AS sql_data_type
, NULL AS sql_datetime_sub
, 10 AS num_prec_radix
FROM DUAL
ORDER BY data_type
我认为它永远不会结束。Grails 只是挂起等待。如果我终止了 oracle 会话,那么它会继续并加载应用程序。我正在运行调试日志记录,下一个日志条目是这个。
2020-07-29 15:01:37.142 DEBUG --- [ main] o.h.e.j.e.i.LobCreatorBuilderImpl : HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
环境细节
- 圣杯 4.0.4
- Oracle 数据库版本 12.1.0.2.0
- JDBC 4.1
- Oracle JDBC 12c 驱动程序
应用程序.yml
---
grails:
profile: web
codegen:
defaultPackage: btpg
gorm:
reactor:
# Whether to translate GORM events into Reactor events
# Disabled by default for performance reasons
events: false
info:
app:
name: '@info.app.name@'
version: '@info.app.version@'
grailsVersion: '@info.app.grailsVersion@'
spring:
jmx:
unique-names: true
main:
banner-mode: "off"
groovy:
template:
check-template-location: false
devtools:
restart:
additional-exclude:
- '*.gsp'
- '**/*.gsp'
- '*.gson'
- '**/*.gson'
- 'logback.groovy'
- '*.properties'
management:
endpoints:
enabled-by-default: false
---
grails:
mime:
disable:
accept:
header:
userAgents:
- Gecko
- WebKit
- Presto
- Trident
types:
all: '*/*'
atom: application/atom+xml
css: text/css
csv: text/csv
form: application/x-www-form-urlencoded
html:
- text/html
- application/xhtml+xml
js: text/javascript
json:
- application/json
- text/json
multipartForm: multipart/form-data
pdf: application/pdf
rss: application/rss+xml
text: text/plain
hal:
- application/hal+json
- application/hal+xml
xml:
- text/xml
- application/xml
urlmapping:
cache:
maxsize: 1000
controllers:
defaultScope: singleton
converters:
encoding: UTF-8
views:
default:
codec: html
gsp:
encoding: UTF-8
htmlcodec: xml
codecs:
expression: html
scriptlet: html
taglib: none
staticparts: none
management:
endpoints:
jmx:
unique-names: true
---
hibernate:
cache:
queries: false
use_second_level_cache: false
use_query_cache: false
dataSource:
pooled: false
jmxExport: false
driverClassName: oracle.jdbc.OracleDriver
username: 'xxx'
password: 'xxx'
environments:
development:
dataSource:
dbCreate: none
url: jdbc:oracle:thin:@10.10.99.110:1521:SMPL
properties:
jmxEnabled: false
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1 from dual;
validationQueryTimeout: 15
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
test:
dataSource:
dbCreate: none
url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
production:
dataSource:
dbCreate: none
url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
properties:
jmxEnabled: true
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
任何帮助是极大的赞赏。
解决方案
推荐阅读
- python-2.7 - 没有绕过(列表索引超出范围)
- mysql - MySQL - 将行作为列和列作为行?
- mysql - Lagom 与 MySQL 数据库连接
- plot - 如何在 Mathematica 中绘制积分?
- python - 计时器到期后的 api 重试尝试
- php - 我有一个 foreach 循环,但我还需要包含另一个数组中的信息
- javascript - 有一个与主导航齐平的二级子菜单
- scala - 将 Spark org.apache.spark.sql.Dataset#show() 的输出作为字符串获取?
- reporting-services - SSRS group by 表达式中的 sum
- jenkins - 在 Jenkins 电子邮件中扩展环境变量时遇到问题