database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 1249 게시물 읽기
No. 1249
질문 드립니다..
작성자
김기택
작성일
2005-08-16 18:05
조회수
3,839

안녕하세요~

 

얼마전에 delete를 하고있었는데 워낙 테이블에 양이 많아서 cpu 성능을 체크하고 있었습니다.

그런데 5-60% 정도로 작업을 하던 delete 작업이 어느순간 2-3% 대로 떨어져서 delete가 끝난줄 알고

sp_who 해보았더니 그 커서가 상태가 log suspend 라고 나오면서 작업이 멈춘(?) 거 같았습니다.

너무 오랜시간동안 cpu동작없이 그상태가 계속되어 서버를 재부팅을 하게되었습니다.

그랬더니 염려한데로 background 작업으로 복구를 하더군요..

양이 너무 많아서 꼬박 2-3일은 복구 할것 같은데 혹시 그냥 복구작업을 하지않고 끝내고 싶은데..

 

제가 질문드리고자 하는것은 log suspend 상태가 어떤상태인지..

그리고 background 작업을 강제로 종료시키고 다시 DB를 활성화 시킬수 있는 방법은 없는지..

 

입니다...

 

그럼 고견 부탁드립니다... 좋은 하루 되세요~~

이 글에 대한 댓글이 총 1건 있습니다.

1.log suspend상태란

   delete,insert등시 변경된 내역을 로그로 남김니다, 왜냐하면 데이타의 일치성을 위하여 redo나 undo를 해야할경우, 이걸 보고 합니다.

 

이런걸 예로 들어 보죠

delete 10만건을 날렸읍니다.

그런데 5만건 delete하고 전기가 나갔다고 해보죠

 

다시 start되면서 log를 보고 Delete 50만건을 했는데

commit이 안되었다는 것을 알죠

 

그럼 해당 page를 찾아서 변경된것을 undo 변경 안된것은 skip 합니다.

 

반대도 있습니다,

delte 10만건을 날렸습니다,

 

그런데 실제 메모리(data cache)의 변경된 page(dirty page)를 디스크에 write하는것은 checkpoint thread가 발생해야 디스크에 write합니다.

 

그런데 그것을 못하고 정전이 되었다면

start시 log를 보고 delete 10만건이 commit되었다는 것을 알고

해당 page가 변경이 되었으면 skip, 변경이 안되었으면 redo를 합니다.

 

이렇게 log가 사용되어지고

 

log suspend는 이러한 log를 기록할수 있는 logsegment가 full난걸 뜻합니다.

 

나누어서 delete하시고 전체의 50%이상을 지우시는 거라면

 

반대 조건으로 select into하시고

 

truncate하심이 좋은듯(select into와 truncate 명령을 적은 로그만 남깁니다. allocation 부분의 로그만)

 

2. 복구안하고 올리는 방법

 

있습니다...

 

master..sysdatabases의 해당 db의 systatus정보를 변경하는 방법, 또는 RUN file에 trace거는 방법 2개가 있는데,

 

잘하셔야 하므로 엔지니어와 상의 하심이 좋을듯...

 

그런데 복구 안하시면 데이타가 이상해지는데요...

지연님이 2005-08-16 22:40에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1252852번 글에 하나더 궁금한게 있습니다. [1]
김기택
2005-08-17
3394
1251cp 와 sp사이에서 Temp Table을 공유할수있나요? [1]
허남훈
2005-08-17
3650
1250사이베이스 연결개수 알기 [1]
궁구미
2005-08-16
3649
1249질문 드립니다.. [1]
김기택
2005-08-16
3839
1248~
손종삼
2005-08-14
3218
1247~~
손종삼
2005-08-12
3289
1246sybase oledb, odbc 드라이버는 어디서 받죠? [2]
최주영
2005-08-11
8061
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다