ORA-04091 trigger 가 호출될 때 아래와 같은 exception 으로 실행되지 않을 때가 있다.

 

ORA-04091: ?테이블이 변경되어 트리거/함수가 볼 수 없습니다. (한글)
ORA-04091: table ~.~, trigger/function may not see it (영문)

 

원인 : 

table A 에 데이터를 insert 하기 위해 사용하는 trigger.

이 trigger 내부에서 A table 을 참조해서 사용하는 경우 발생.

(loop 발생여지가 있어 oracle 에서 이를 막기위한 ex 를 던짐)

 

www.techonthenet.com/oracle/errors/ora04091.php

 

 

 

반응형

Exception message : Got minus one from a read call

 

원인 :

1. If the remote server has been configured (e.g. in the "SQLNET.ora" file) to not accept connections from your IP.

2. If the JDBC url is incorrect, you could be attempting to connect to something that isn't a database.

3. If there are too many open connections to the database service, it could refuse new connections.

 

멀쩡히 사용중이던 JDBC connection 에서 위와같은 에러를 뱉는다면 대개 3번 케이스.

 

https://stackoverflow.com/questions/19660336/how-to-approach-a-got-minus-one-from-a-read-call-error-when-connecting-to-an-a

 

 

 

반응형

 

 

[ Error vs Exception ]

Error: An Error indicates serious problem that a reasonable application should not try to catch.

> 애플리케이션이 잡지 말아야 할 심각한 에러(핸들링이 어려운 에러)

 

Exception: Exception indicates conditions that a reasonable application might try to catch.

> 애플리케이션이 잡을 수 있는 에러(핸들링이 할 수 있는 에러)

 

 

[ ClassNotFoundError vs NoDefClassFoundError ]

ClassNotFoundException is an exception that occurs when you try to load a class at run time using Class.forName() or loadClass() methods and mentioned classes are not found in the classpath.

> 런타임에 Class.forName() 혹은 loadClass() 메소드를 사용했고 refrection에 사용된 class가 classpath에 없는 경우 발생

 

NoClassDefFoundError is an error that occurs when a particular class is present at compile time, but was missing at run time.

> 특정 클래스가 컴파일시엔 존재했으나 런타임 때 찾을 수 없는 경우

위와 관련된 경험: https://developyo.tistory.com/241?category=747217

 

 

[Checked Exception vs Unchecked Exception ]

Checked Exception : Java forces you to handle these error scenarios in some manner in your application code. 

> java 가 핸들링을 강요하는 exception (ex: sqlException, IOException)

 

Unchecked Exception : A method is not forced by compiler to declare the unchecked exceptions thrown by its implementation. Generally, such methods almost always do not declare them, as well.

Spring Transaction only supervise Unchecked Exceptions.

> 핸들링을 강요하지 않는 exception (ex: NullPointerException)

 

 

참고)

error vs exception

https://www.geeksforgeeks.org/exceptions-in-java/

ClassNotFoundError vs NoDefClassFoundError

https://dzone.com/articles/java-classnotfoundexception-vs-noclassdeffounderro

CheckedException vs Unchecked Exception

https://www.geeksforgeeks.org/checked-vs-unchecked-exceptions-in-java/

 

반응형

+ Recent posts