블로그 이미지
꿈을 꾸는 꾸러기 YBHoon

카테고리

분류 전체보기 (81)
Oracle (71)
운영체제 (7)
ETC (0)
Study (3)
Total
Today
Yesterday

달력

« » 2025.6
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

공지사항

태그목록

최근에 올라온 글

Admin - Undo

Oracle/Administration / 2010. 3. 2. 10:25

- Tx lock (row level lock) ; 작업하는 row를 단위로 lock이 됨 (다른 DBMS의 경우 page level lock)
- Tm lock (table level lock) ; 작업하는 테이블 전체를 lock함

- undo data ; roll back을 대비해서 이전의 data를 보관

- undo segment ; undo data를 모아두는 장소 (segment ; 들어있는 내용에 따라 명칭이 달라지는 테이블)

- DB buffer cache > undo table space > undo segment

- commit이나 roll back이 되어 비어있는 segment가 있는지를 먼저 확인하여 비어있는 segment를 재활용함
- commit이 발생하더라도 undo는 지워지지 않고 나중에 덮어쓰기만 됨 (따라서 크기가 줄지 않고 커지기만 함 - 8i)
- 모든 segment가 transaction 중일 경우에는 새로운 segment를 만듬 (제한된 크기까지 segment가 확장됨)
- undo가 확장되지 못해서 저장을 못할 경우 DML 도중에 error가 발생, 따라서 DML시 최우선적으로 undo를 확보함

- read consistency (읽기 일관성) ; commit이 안된 내용을 다른 user가 select할 경우 undo의 내용을 불러와서 보여줌

- instance recovery ; 오류 복구시 commit이 되지 않은 내용도 우선 적용하였다가 commit이 안된 것만 다시 roll back함

- 8i의 undo 생성과정 (수동)
table space 생성 -> roll back segment 생성 -> enable ; 9i부터는 table space만 생성하면 이후의 과정은 자동 (AUM)
=> 그래도 여전히 불필요하게 커진 undo는 수동으로 삭제해야함 (다른 파일로 대체한 후 삭제)

- tablespace는 여러개가 존재할 수 있지만, 한번에 1개만 사용할 수 있음 (반드시 사용중인 1개는 존재해야함)
=> 사용중인 tablespace를 다른 것으로 변경할 경우에는 일시적으로 2개 사용 (사용중인 것은 삭제 불가)

- snap shot too old error ; commit된 undo 파일의 내용이 다른 프로세스에 의해 덮어씌워져서 발생하는 오류
=> undo_retention ; snap shot too old error를 줄이기 위해 commit된 내용을 undo에 잠시 더 유지하는 옵션

'Oracle > Administration' 카테고리의 다른 글

Admin - Index  (0) 2010.03.03
Admin - Table  (0) 2010.03.02
Admin - Tablespaces & Datafiles  (0) 2010.02.25
Admin - Redo Log  (0) 2010.02.24
Admin - Parameter File & Control File  (0) 2010.02.22
Posted by YBHoon
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함