오라클 디비사용, 리모트프로그램을 작성 하고 있습니다.
데스크 탑에서 A_Table 디비를 직접 수정하다가 커서가 모래시계로
변하고(Lock)말았어요
이경우 대부분 SQL+ 에서 Commit 을 해주면 되는데 아무리해도 풀리지 않아요.
개발자프로그램을 실행해서 그 A-Table데이타를 수정해도, 다른 B_Table의
데이타를 입력,수정해도 그냥 모래시계입니다.
헌데 다른사람컴퓨터에서는 C_Table의 데이타가 잘도 입력 됩니다.
이런 경우는 어떻게 하나여....
고수님들 갈켜줘요....
> 오라클 디비사용, 리모트프로그램을 작성 하고 있습니다.
> 데스크 탑에서 A_Table 디비를 직접 수정하다가 커서가 모래시계로
> 변하고(Lock)말았어요
> 이경우 대부분 SQL+ 에서 Commit 을 해주면 되는데 아무리해도 풀리지 않아요.
> 개발자프로그램을 실행해서 그 A-Table데이타를 수정해도, 다른 B_Table의
> 데이타를 입력,수정해도 그냥 모래시계입니다.
> 헌데 다른사람컴퓨터에서는 C_Table의 데이타가 잘도 입력 됩니다.
> 이런 경우는 어떻게 하나여....
> 고수님들 갈켜줘요....
Lock Time or Dead Lock이 걸리면 commit가 아니라 rollback을 시켜줘야죠..
그리고 트랜잭션의 단위는 최대한 쪼갤수있으면 쪼개셔야합니다. 나중을 위해서..
oracle 설정에 Lock 단위가 default로는 page단위로 되어있을겁니다.
이는 시스템을 느리게할 수 있는 가장 유력한 원인입니다.
lock 단위를 page가 아닌 row로 하시는게 좋습니다.
그럼, 고수는 이만~