Q&A

  • 오라클 Lock 이 걸렸어요... 알려주세여...
오라클 디비사용, 리모트프로그램을 작성 하고 있습니다.

데스크 탑에서 A_Table 디비를 직접 수정하다가 커서가 모래시계로

변하고(Lock)말았어요

이경우 대부분 SQL+ 에서 Commit 을 해주면 되는데 아무리해도 풀리지 않아요.

개발자프로그램을 실행해서 그 A-Table데이타를 수정해도, 다른 B_Table의

데이타를 입력,수정해도 그냥 모래시계입니다.

헌데 다른사람컴퓨터에서는 C_Table의 데이타가 잘도 입력 됩니다.

이런 경우는 어떻게 하나여....

고수님들 갈켜줘요....

1  COMMENTS
  • Profile
    최준연 2001.01.06 00:21
    쬐금초보 wrote:

    > 오라클 디비사용, 리모트프로그램을 작성 하고 있습니다.

    > 데스크 탑에서 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로 하시는게 좋습니다.



    그럼, 고수는 이만~