[2025-11-10 10:11:27.714] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:11:36.611] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:11:45.895] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:11:55.144] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:12:05.142] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:12:15.138] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:12:25.140] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 56 common frames omitted [2025-11-10 10:12:35.149] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 56 common frames omitted [2025-11-10 10:12:52.886] [ERROR] Unexpected error occurred in scheduled task org.springframework.dao.RecoverableDataAccessException: ### Error querying database. Cause: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ ; ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:110) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:13:02.121] [ERROR] Unexpected error occurred in scheduled task org.springframework.dao.RecoverableDataAccessException: ### Error querying database. Cause: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ ; ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:110) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLRecoverableException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 https://docs.oracle.com/error-help/db/ora-12514/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:27:10.343] [ERROR] Unexpected error occurred in scheduled task org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ### The error may exist in file [C:\00.PROJECT\25.MONITORING\build\resources\main\mybatis\mapper\section\section.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: WITH RCV AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS RINFOTYPE, CENTERID FROM UTIADMIN.center_receive WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS SINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'R1' GROUP BY CENTERID ), SND_MOCT AS ( SELECT MAX(LOGDATE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MLOGDATE, MAX(DATACNT) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MDATACNT, MAX(INFOTYPE) KEEP (DENSE_RANK FIRST ORDER BY LOGDATE DESC) AS MINFOTYPE, CENTERID FROM UTIADMIN.center_send WHERE LOGDATE >= TRUNC(SYSDATE - 2) AND INFOTYPE = 'M1' GROUP BY CENTERID ), SIG_CENTER AS ( SELECT REGION_CD, REGION_NM, REG_DATE, ERR_TIME_GAP FROM TB_REGION_CENTER@SIGDB -- FROM SIGUSER.TB_REGION_CENTER ), CENTER_CTE AS ( SELECT * FROM CENTER WHERE CENTERFLAG != 'M' ), MOCT_CENTER AS ( SELECT CENTERID, MOCTYN FROM CENTER_MOCT WHERE CENTERFLAG != 'M' ) SELECT DECODE(C.CENTERID, NULL, 'N', 'Y') AS IS_CENTER, DECODE(SC.REGION_CD, NULL, 'N', 'Y') AS IS_SIG, NVL(C.CENTERID, SC.REGION_CD) AS CENTER_ID, NVL(C.CENTERINFO, SC.REGION_NM) AS CENTER_NM, C.IPADDRESS AS IP_ADDRESS, NVL(C.COMMPORT, 0) AS COMM_PORT, TO_CHAR(R.RLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS R_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN R.RLOGDATE IS NULL OR R.RLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS R_COMM_STATE, R.RDATACNT AS R_DATA_CNT, R.RINFOTYPE AS R_INFO_TYPE, C.RCVYN AS R_YN, DECODE(R.RINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS R_INFO_TYPE_DESC, TO_CHAR(S.SLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS S_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN S.SLOGDATE IS NULL OR S.SLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS S_COMM_STATE, S.SDATACNT AS S_DATA_CNT, S.SINFOTYPE AS S_INFO_TYPE, C.TRAFFICYN AS S_YN, DECODE(S.SINFOTYPE, 'R1','소통정보','E1','돌발정보','-') AS S_INFO_TYPE_DESC, TO_CHAR(M.MLOGDATE, 'YYYY-MM-DD HH24:MI:SS') AS M_LOG_DATE, CASE WHEN C.CENTERID IS NULL THEN NULL WHEN M.MLOGDATE IS NULL OR M.MLOGDATE < SYSDATE - (5/(24*60)) THEN 1 ELSE 0 END AS M_COMM_STATE, M.MDATACNT AS M_DATA_CNT, M.MINFOTYPE AS M_INFO_TYPE, MC.MOCTYN AS M_YN, '소통정보' AS M_INFO_TYPE_DESC, TO_CHAR(SC.REG_DATE, 'YYYY-MM-DD HH24:MI:SS') AS SL_LOG_DATE, CASE WHEN SC.REGION_CD IS NULL THEN NULL WHEN SC.REG_DATE IS NULL OR SC.REG_DATE < SYSDATE - SC.ERR_TIME_GAP/(24*60*60) THEN 1 ELSE 0 END SL_COMM_STATE FROM CENTER_CTE C LEFT OUTER JOIN MOCT_CENTER MC ON C.CENTERID = MC.CENTERID LEFT JOIN RCV R ON C.CENTERID = R.CENTERID LEFT JOIN SND S ON C.CENTERID = S.CENTERID LEFT JOIN SND_MOCT M ON C.CENTERID = M.CENTERID FULL OUTER JOIN SIG_CENTER SC ON C.CENTERID = SC.REGION_CD ORDER BY CENTER_ID ### Cause: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ ; bad SQL grammar [] at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:103) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy90.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:141) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) at jdk.proxy3/jdk.proxy3.$Proxy94.getLocalCenterLinkInfo(Unknown Source) at com.tsi.monitoring.service.SectionService.setLocalCenterLinkInfo(SectionService.java:69) at com.tsi.monitoring.webSocket.MonitoringWebSocketHandler.sendMonitoringMessage(MonitoringWebSocketHandler.java:68) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) at io.micrometer.observation.Observation.observe(Observation.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. https://docs.oracle.com/error-help/db/ora-02019/ at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:609) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1347) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:499) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:274) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1231) at oracle.jdbc.driver.OracleStatement.prepareDefineBufferAndExecute(OracleStatement.java:1412) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1286) at oracle.jdbc.driver.OracleStatement.executeSQLSelect(OracleStatement.java:1843) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1619) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3955) at oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4422) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4408) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1015) at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 25 common frames omitted Caused by: oracle.jdbc.OracleDatabaseException: ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다. at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:717) ... 57 common frames omitted [2025-11-10 10:57:51.815] [ERROR] [THYMELEAF][http-nio-8999-exec-9] Exception processing template "monitoring": Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 10:57:51.820] [ERROR] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 10:58:16.830] [ERROR] [THYMELEAF][http-nio-8999-exec-7] Exception processing template "monitoring": Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 10:58:16.838] [ERROR] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 11:12:51.575] [ERROR] [THYMELEAF][http-nio-8999-exec-5] Exception processing template "monitoring": Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 11:12:51.576] [ERROR] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 11:39:48.163] [ERROR] [THYMELEAF][http-nio-8999-exec-3] Exception processing template "monitoring": Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) [2025-11-10 11:39:48.164] [ERROR] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [monitoring], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1437) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1168) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at com.tsi.monitoring.config.DevToolsIgnoreFilter.doFilter(DevToolsIgnoreFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840)