티스토리 뷰
[ undo segment 할당 원리 ]
undo tablespace안에 undo segment가 할당되어 있는 구조.
segment에 할당되지 않은 사용자가 신규로 접속해서 DML을 수행할 경우, 해당 사용자의 서버 프로세스는 트랜잭션이 완료된 세그먼트가 있을 경우 그 undo segment를 덮어쓴다.
모든 사용자가 트랜잭션 완료 전이라면 새로운 undo segment 생성하여 기록한다.
이렇게 undo segment가 데이터파일의 저장공간이 허용하는 범위까지 늘어나다가 만약 데이터 파일에 더 공간이 없으면, 하나의 세그먼트에 두 개 세션 이상의 undo data를 기록한다.
그런 다음에도 공간이 없을 경우 해당 트랜잭션은 에러가 발생한다.
undo tablespace는 크기가 증가하고 줄어들지는 않는 구조이다. 한 가지 대안은 다른 작은 크기의 undo tablespace를 신규로 생성해 undo tablespace를 그곳으로 변경 후 기존 undo tablespace를 삭제하는 방법이 있다.
'Database > Oracle Database' 카테고리의 다른 글
[SQL*Plus] 윈도우 영문 버전 sql*plus 한글 깨짐 문제 해결 방법 (0) | 2022.02.22 |
---|---|
[오라클] parfile 파라미터 사용 실습 예제 (0) | 2022.02.22 |
[오라클] impdp 타겟에 존재하는 스키마 및 오브젝트를 처리하는 파라미터 (0) | 2022.02.21 |
[오라클] [Data Pump] 서로 다른 디렉토리에서 작업 (관련 실습 스크립트 포함) (0) | 2022.02.20 |
[오라클] 디렉토리 조회, 생성, 권한 관련 개념 및 실습 (create directory 포함) (0) | 2022.02.18 |
댓글