일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- https://velog.io/@velopert/create-typescript-react-component
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- 게시판
- toString
- 출처 : https://webdir.tistory.com/506
- object
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
Archives
- Today
- Total
Back Ground
DB - Lock 본문
클라이언트로 부터 SQL문을 실행할 때
서버가 돌아가다가 멈춘 현상
DB - Lock 걸린 상태
[원인]
SQL Developer에서 Update문을 실행 후 commit 하지 않은 상태에서
서버로 SQL문을 호출 했을 시
java파일에서는 대기를 타고있다.
SQL Developer
|
ORACLE.exe [ ] |
|
SQL Developer의 SQL쿼리문(Not Commit 상태) | ||
↖ | ||
↗ JAVA의 SQL 쿼리 | ↖ | |
JAVA.exe |
|
SQL Developer.exe |
|
|
|
이 순간 이미 SQL Developer의 쿼리가 전달 된 상태로 대기하고 있기 때문에
JAVA의 쿼리는 실행하지 못하고 묶여있다.
이것이 LOCK
BTLMS의 정상적으로 실행 되는 로그 |
Successfully 부분이 뜨게 설정해 놨다. |
BTLMS의 비정상적으로 실행 되는 로그 |
이런 상태로 실행되지 않고 대기하고 있는다. |
SQL Developer에서 commit을 해주어야만 풀린다..
BTLMS 락 상태 확인 쿼리들
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | -- 락걸린 테이블 확인 SELECT do.object_name, do.owner, do.object_type, do.owner, vo.xidusn, vo.session_id, vo.locked_mode FROM v$locked_object vo , dba_objects do WHERE vo.object_id = do.object_id ; --해당테이블이 락에 걸렸는지.. SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID=B.SID AND B.ID1=C.OBJECT_ID AND B.TYPE='TM' AND C.OBJECT_NAME IN ('테이블명'); /* 락발생 사용자와 sql, object 조회 */ SELECT distinct x.session_id, a.serial#, d.object_name, a.machine, a.terminal, a.program, b.address, b.piece, b.sql_text FROM v$locked_object x, v$session a, v$sqltext b, dba_objects d WHERE x.session_id = a.sid and x.object_id = d.object_id and a.sql_address = b.address order by b.address,b.piece; /* 락 발생 사용자확인 */ SELECT distinct x.session_id, a.serial#, d.object_name, a.machine, a.terminal, a.program, a.logon_time , 'alter system kill session ''' || a.sid || ', ' || a.serial# || ''';' FROM gv$locked_object x, gv$session a, dba_objects d WHERE x.session_id = a.sid and x.object_id = d.object_id order by logon_time; | cs |
락 상태확인하는 쿼리는 인터넷에 많이 나와 있다.
쿼리 참고해 볼 곳 : http://unions5.tistory.com/70
'ECO' 카테고리의 다른 글
BTLMS 대출대 정리 (0) | 2017.01.23 |
---|
Comments