ORA-31 에러는 DBA가 alter system kill session 을 실행했기 때문에 찍힌 메시지 입니다.
DBA가 kill session 명령을 주었을때 어떤 세션은 금방 Kill 되지만, 어떤 세션은 하던 작업때문에 바로 Kill 할 수 없고 하던 작업을 정리하는 시간이 필요할 수 있습니다.
주로 조회SQL을 실행하던 세션의 경우는 바로 Kill 이 가능하지만, 대량의 Update 나 Delete 작업 같은 DML 작업을 하고 있는 세션이었다면 Kill 명령을 받는 순간 롤백 작업에 들어가야 하고, 이 롤백 작업시간은 지금까지 했던 DML 시간 만큼은 걸리기 때문에 바로 Kill이 안됩니다.
$ oerr ora 31
00031, 00000, "session marked for kill"
// *Cause: The session specified in an ALTER SYSTEM KILL SESSION command
// cannot be killed immediately (because it is rolling back or blocked
// on a network operation), but it has been marked for kill. This
// means it will be killed as soon as possible after its current
// uninterruptable operation is done.
// *Action: No action is required for the session to be killed, but further
// executions of the ALTER SYSTEM KILL SESSION command on this session
// may cause the session to be killed sooner.
Parallel Query를 하던 세션을 Kill 하는 경우에도 발생할 수 있고, 이 경우는 버그도 연관이 있다고 하네요. (Bug 13837378)
Alert Log 에 이게 찍혀 있다면 다 지난 일이니 무시하면 될 것 같습니다.~~
'IT관련' 카테고리의 다른 글
HDD 하드디스크의 표기용량, 실제용량 차이나는 이유 (1) | 2019.06.09 |
---|---|
오라클 에러 정보 (ORA-12012, ORA-06550) - DBMS_JOB 실행중 발생한 에러 (0) | 2019.06.07 |
오라클 에러 정보 (ORA-28) - 이미 Kill 된 세션을 접근하려고 할 때 발생하는 (0) | 2019.06.06 |
오라클 ADW 클라우드 데이터베이스에 대한 나름 간단정리 (0) | 2019.06.06 |
오라클 에러 정보 (ORA-0) - IDLE_TIME에 의해 발생하는 (0) | 2019.06.05 |