반응형

안녕하세요.

이번 포스팅은 오라클 DB에서 발생하는 ORA-06512 에러에 대하여 알아보도록 하겠습니다.


출처 : tracedynamics



목차
1. ORA-06512 에러 원인
2. ORA-06512 해결 방법
3. 마무리



#1. ORA-06512 에러 원인

오라클 ORA-06512는 쿼리문 실행 중 에러가 발생하였으며 그 에러에 대한 정보 전달 메시지를 리턴합니다.
ORA-06512 에서는 정보 전달 메시지이므로 보다 더 자세한 원인은 항상 다른 에러 메시지와 함께 발생하는 데 에러 Stack의 다른 에러 메시지를 통해 진짜 원인을 확인할 수 있습니다.

에러 메시지는 아래와 같이 구성되어 있습니다.
ORA-06512 Code Block Line Number
- Code Block : 예외가 발생한 PL/SQL 코드블럭 이름
- Line Number : 에러가 발생한 PL/SQL 코드블럭의 줄 번호

ORA-06512 : SP_CP_UPDATE 358 행 (SP_CP_UPDATE 쿼리문의 358행에 에러가 발생하였다는 메시지)
ORA-06512 : SP_CP_DELETE 2 행 (SP_CP_DELETE 쿼리문의 2행에 에러가 발생하였다는 메시지)




#2. ORA-06512 해결 방법

ORA-06512 에러 메시지는 정보 전달 메시지이므로 에러 Stack의 다른 에러 메시지를 통해 진짜 원인을 확인할 수 있다고 설명하였습니다.
진짜 원인을 찾아 문제를 해결하면 진짜 원인을 해결하였으므로 이제 오라클에서 ORA-06512 에러 메시지는 더 이상 발생하지 않을 것 입니다.





#3. 마무리

오라클에서 발생하는 에러 메시지의 진짜 원인을 파악하여 업무에서 발생하는 문제를 해결하시길 바랍니다.

긴 글 읽어주셔서 감사합니다.

끝.



Reference : 데이터베이스 오류 메시지 (https://docs.oracle.com/en/error-help/db/ora-06512/?r=23ai)

반응형

'Development > DB' 카테고리의 다른 글

[DB] ORA-01013 에러 원인과 해결 방법  (0) 2024.07.01
[DB] 데이터 모델링의 이해  (0) 2022.09.04
[DB] SQL의 기본과 활용 - 2  (0) 2022.09.02
[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
반응형

안녕하세요.

이번 포스팅은 오라클 DB에서 발생하는 ORA-01013 에러에 대하여 알아보도록 하겠습니다.

출처: XTIVIA

목차
1. ORA-01013 에러 원인
2. ORA-01013 해결 방법
3. 마무리



#1. ORA-01013 에러 원인

오라클 DB에서 발생하는 ORA-01013 에러는 '사용자가 현재 작업을 취소 요청하였습니다.' 라는 문구가 보여지게 됩니다.
그럼 실제로 사용자가 현재 작업을 취소 요청하였을까요?

이번 질문의 정답은 "사용자가 현재 작업을 취소 요청하지 않았다." 입니다.
그럼 사용자가 현재 작업을 취소 요청하지 않았다면 누가 취소 요청을 하였을까요?

이번 질문의 정답은 "어플리케이션" 입니다.
좀 더 정확히 말하면 하나의 프로그램에서 쿼리문을 실행하여 프로세스를 요청하였는데 오라클이 프로세스에 대한 요청에 응답을 주지 않자
데이터베이스에서 요청한 객체까지 요청이 오지 않았으므로 어플리케이션이 작업을 취소하고 작업을 중지
하게 됩니다.

오라클이 프로세스에 대한 요청에 응답을 주지 않는 원인은 쿼리문이 실행이 실제로 오려 걸리거나, Connection Pool이 부족하여 Timeout이 발생하는 것이며 어플리케이션이 작업을 취소하였기 때문에 오라클은 처리 도중에 작업자가 취소하였다는 메시지를 리턴하고 작업을 중지하게 되는 것입니다.




#2. ORA-01013 해결 방법

ORA-01013 에러에 대한 해결 방법은 두 가지로 압축할 수 있습니다.
하나는 쿼리문이 실행시간을 늘려주기 위해 Timeout 시간을 늘리는 것입니다.
ibatis 또는 mybatis 등 프레임워크의 설정에서 Timeout 시간을 조정하거나 Max Connection Pool 조정, Max Session 조정하여 ORA-01013 에러를 해결할 수 있습니다.

또한 아래와 같이 쿼리문에서 Timeout를 설정할 수 있습니다.

// 아래와 같이 쿼리문에서 Timeout를 120초를 설정할 수 있습니다. (timeout의 시간 단위는 초(Second) 입니다.)
<insert id="insert_mb_data" parameterType="map" timeout="120">
...
</insert>

두번째는 쿼리문이 시간을 단축시키기 위해 쿼리문을 튜닝하는 것입니다.
쿼리문을  좀 더 빠르게 실행이 될 수 있도록 튜닝을 하여 ORA-01013 에러를 해결할 수 있습니다.



#3. 마무리

에러의 메시지만 보고 실제 사용자가 현재 작업을 취소한 줄 알았으나 실제로 사용자가 취소를 한 게 아니라 실행 시간이 오래 걸려 Timeout이 발생한 것입니다.
이 블로그를 통해 실제 원인을 파악하고 맡은 업무에서 ORA-01013 에러를 해결하시길 바랍니다.

긴 글 읽어주셔서 감사합니다.

끝.

출처 : 랜들맨의 하루 (https://sosobaba.tistory.com/29)

반응형

'Development > DB' 카테고리의 다른 글

[DB] ORA-06512 에러 원인과 해결 방법  (0) 2024.07.01
[DB] 데이터 모델링의 이해  (0) 2022.09.04
[DB] SQL의 기본과 활용 - 2  (0) 2022.09.02
[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
반응형

이번 포스팅은 최근 일반사업자를 내고 국세청으로부터 '일용·간이지급명세서 제출 안내' 라는 문서를 받아 이에 대하여 알아보도록 하겠습니다.


목차
1. 일용·간이지급명세서 정의
2. 일용·간이지급명세서 제출 대상자
3. 마무리


#1. 일용·간이지급명세서 정의

1. 일용 지급명세서의 정의

근로를 제공한 날 또는 시간에 따라서 급여를 계산하는 근로자 혹은 근로를 제공한 날 또는 시간의 근로 성과에 따라서 급여를 계산하는 근로자를 일용근로자라고 합니다.
그 중에서 고용주에게 3개월 이상 계속 고용되어 있지 않은 근로자를 지칭하는데 일용근로자에게 일용 근로소득을 지급한 사업주가 원천징수 관할 세무서장이나 지방국세청장 또는 국세청장에게 제출하는 것이 일용근로자 지급명세서 입니다.

2. 간이 지급명세서 정의

간이 지급명세서는 근로소득 또는 프리랜서 사업소득을 지급했을 때 제출하는 지급명세서입니다.
여기서 프리랜서 사업소득은 보통 3.3% 원천징수 후에 지급하는 급여를 의미합니다.



#2. 일용·간이지급명세서 지급 대상자

- 근로소득을 지급하는 원천징수의무자 (근로자를 고용한 고용주)

- 기타 소득을 지급하는 원천징수의무자 (근로자를 고용한 고용주)

- 원천징수대상 사업소득을지급하는 원천징수의무자 (근로자를 고용한 고용주)


#3. 마무리

전자문서로 요청온 '일용,간이 지급명세서 제출 안내'는 근로자를 고용한 고용주에게 근로소득을 지급한 지급 명세서를 매달 제출하라는 것 입니다. 1인 기업과 같이 급여를 주는 직원이 없는 경우는 해당사항이 없으므로 제출하지 않으셔도 됩니다.

긴 글 읽어주셔서 감사합니다.

끝.

반응형

+ Recent posts