오라클 DB가 JDBC 버전을 11.2.0.3 으로 Upgrade 한 뒤, Connection을 release하지 못하고 lock이 걸리는 문제가 발생했다.
이로 인해 순간적으로 connection reset으로 DB connection 부족현상을 격으면서 CPU 등이 100%로 was서버가 hang이 걸렸다.
원인을 밝혀내지 못해 JDBC 버전을 10.X 버전으로 롤백해서 임시적으로 해결했었는데, 11.2.0.4 버전이 release되어 변경사항을 확인해보니, 버그였던 것 같다.
Oracle JDBC Drivers 11.2.0.4 Readme
===================================
Base Readme (11.2.0.1) @ http://download.oracle.com/otn/utilities_drivers/jdbc/112/Readme.txt
List of Fixes in 11.2.0.4
-------------------------
8870611 ORA-600: [17281], [1001] when selecting ref cursors via JDBC thin and not
explicitly closing then
10315994 ResultSet.getRow() incorrectly returns rowcount instead of 0 after all rows are
fetched (next() returns false).
11892137 ORA-22925 when retrieving a LOB larger than 2gb via JDBC thin
11931187 The 11.2 JDBC driver handles embedded CALL statements differently to 11.1
12596686 JDBC thin app sends scale value of 0 or 9 for Timestamp binds causing many
child cursors
12744662 Connection/login failure with "IOError: undefined error" if os username contains
specific multi-byte character
12744967 Using newer time zones with JDBC fails with "The database session time zone is not
supported"
12775220 DatabaseMetaData.getColumns() returns unexpected values in COLUMN_SIZE and
DECIMAL_DIGITS for INTEGER columns
13387375 ORA-932 using JSP with ADT argument
13428912 PreparedStatement executeBatch() fails with ORA-1460 while execute() works
13508485 JDBC Statement.cancel can cause ORA-1013 from a Rollback
13583799 JDBC class NTFConnection creates runaway threads
13627118 Atlantic/Jan_Mayen mapping in ZONEIDMAP.java does not match the database value
13688142 JDBC cannot connect to RAC using shared server when the DISPATCHERS parameter
has POOL=ON and redirection occurs - superseded
13877559 oracle.sql.TIMESTAMP.TimeZoneConvert() returns wrong results
14021941 JDBC program shows high cursor version count and high bind mismatch count
14107475 ORA-4043 using JDBC OCI; JDBC thin works
14223360 oracle.jdbc.pool.OracleDataSourceFactory ignores connection properties when
creating an OracleDataSource
14244395 JDBC Thin ResultSet.isBeforeFirst() always returns true when Calling a PLSQL
14282782 JDBC still uses the RULE hint for certain queries on ALL_SYNONYMS which degrades
performance
14298523 With the patch for bug 13688142 installed JDBC cannot connect using shared server
when the DISPATCHERS parameter has POOL=ON and no redirection occurs
14354533 Calling getMetaData() on a StructDescriptor.gives poor performance selecting
from ALL_TYPE_ATTRS
14496772 The JDBC SQL parser treats literals containing the word RETURN as though they
were a RETURN[ING] ... INTO clause
14584969 OutOfMemory exception when executing a plsql statement with 280+ VARCHAR2
parameters in JDBC
16479818 JDBC NTFConnection threads are stuck waiting and consuming CPU
'DB > Oracle' 카테고리의 다른 글
| ORA-64203: 문자 집합 변환 후 대상 버퍼가 너무 작아 CLOB 데이터를 보유할 수 없습니다. (0) | 2015.12.31 |
|---|---|
| ORA-14074 분할영역 유지 작업에 분할영역 범위가 너무 적습니다. (0) | 2015.04.09 |
| ORA-01502 인덱스 XX인덱스명 또는 XX 분할영역은 사용할 수 없는 상태입니다. (0) | 2015.03.18 |
| Snapshot too old(ORA-01555) (0) | 2015.03.18 |
| Oracle 11g PIVOT, UNPIVOT (0) | 2015.03.16 |