먼저 답변에 감사를 드립니다.
저같은 경우 raw, page두가지를 사용하고 있는데,
이들이 우면치않게 락이 걸렸다고면, 어떠게 처리를 해야지만 다시 사용할 수
있는 건가요.
꼭 디비를 내렸다 올려야 하나요..?
알려주셨으면 감사하겠습니다.
>>purple 님께서 쓰시길<<
:: 안녕하세요.
:: 우선 DB내의 테이블이 어떤 레벨의 lock을 쓰는 상태인지를 확인하시려면 아래와 같이 하십시오.
::
:: dbaccess -> Query Language ->database 선택 -> New
::
:: select tabname, locklevel from systables where tabid >99;
::
:: 위구문을 실행하시면 어떤 테이블이 어떤 레벨의 lock을 쓰는 지 아실 수가 있습니다.
:: 이때에 R은 row, P는 page를 의미합니다.
:: 따라서, 이 테이블이 사용하는 페이지는 위의 레벨에 적용을 받게 됩니다.
:: 만일 이 변경을 바꾸고자 한다면,
::
:: alter table 테이블이름 lock mode(row);
:: alter table 테이블이름 lock mode(page);
::
:: 하시면 됩니다.
::
:: 이때에 한페이지에는 페이지가 수용할 수 있는 여러개의 row들이 들어가 있을텐데요,
:: row level로 lock을 걸고 작업할 것인지, page level로 lock을 걸고 작업할 것인지를 의미합니다.
:: 따라서 row level보다 page level이 lock을 더 많이 사용하게 될꺼구요,
:: 하지만 좀더 많은 사용자가 data를 공유할 수 있게 되겠지요.
:: 이것을 resource와 concurrency간의 trade off라 합니다.
:: 어떤 점에 중점을 둘 것인가에 따라, 선택하십시오.
:: 동시성인지, resource인지..
::
:: 그럼 수고하세요.
::
::
::
:: >>문병진 님께서 쓰시길<<
::
:: :: 안녕 하세요.
:: ::
:: :: 인포믹스로 조그마한 관리 프로그램을 작성하고 있는데,
:: :: 얼마전에 주변에서 인포믹스에 락이 걸려서 DB를 다시 내렸다가 오렸다고 합니다.
:: :: 아직 저에게는 쳐해 있지 않지만 알고 있으면 나중에 요긴할 것 같아
:: :: 이렇게 미리 질문을 드립니다.
:: ::
:: :: 락이 걸리기 전에 먼저 디비의 로깅모드와 페이지 단위인지, 아니면 셀단위(??)
:: :: 등의 검색을 지정한다고 하는데.....
:: ::
:: :: 각각의 상황에 맞는 형태의 락의 유형에 대해서 알려주셨으면..... ^^;
:: :: 아니면 참고 할 만한 사이트를 알려주시면 감사 드리겠습니다.
:: :: 그럼.
:: ::
|