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 973 게시물 읽기
No. 973
uncommit transaction은 언제 disk에 write가 되나요?
작성자
채상훈
작성일
2004-08-13 14:48
조회수
3,049

예를들어

begin tran

insert into a values('1')

여기까지 작업을 하게되면 log page에는 begin tran하고 1이 입력되었다고 write가 되는데

만일이때 서버가 다운되면

이 uncommit된 transaction은 disk에 write가 되는지요?...

아니면 언제 uncommit transaction을 disk에 write가 되는지...

혹 서버가 다운되기전에 checkpoint가 돌아서 uncommit된 transaction log(dirty log)를 disk에 write하는지 좀 가르쳐주세요...

그리고 전원이 나갈경우(정전)같은 경우는 어떻게 복구가 되나요?

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

실제로 메모리로 로드된자료가 변경된걸 durty page라고 하고, 이것들은 commit을 만날때 disk write되는 것이 아니라 checkpoint라는 스레드가 실행될때 디스크에 저장됩니다.

 

db를 정상적으로 restart시키면 log를 읽어서 이것이

1. commit일때,

   해당 datapage를 읽어 반영이 되어 있으면 skip,안되어 있으면 commit(로그에서 보면 Redo로 나옴)

2. uncommit일떄

    해당 datapage를 읽어 반영이 안되어 있으면 skip, 되어 있으면 rollback(로그에서 보면 Undo로 나옴)

 

 

이건 어디까지나 정상적으로 shutdown을 한경우입니다(shutdown시 자동으로 checkpoint를 발생시킵니다.)

 

 

비정상적으로 shutdown이 되면, 아무도 자료에 대해 책임을 질수 없습니다(....sybase는 대부분..잘 올라옵니다)

지연님이 2004-08-17 09:40에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
976[질문]시스템에서 사용자 테이블의 키필드 읽어오기 [1]
모모
2004-08-18
3210
975visual c 에서 recordset 써보신분 답글좀 부탁드립니다. [1]
벨클
2004-08-16
2796
974사이베이스용 검색엔진이 있을까요? [1]
강상인
2004-08-16
2899
973uncommit transaction은 언제 disk에 write가 되나요? [1]
채상훈
2004-08-13
3049
972sybase에서 sp_dboption중에 궁금한게있는데요... [1]
초보
2004-08-12
3146
971Connection 객체의 transaction [1]
conn
2004-08-12
3154
970이상한 에러가 납니다.(ASA Error -1000011)
syzil
2004-08-12
3404
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다