티스토리 뷰
언두 테이블스페이스
UNDO TABLESPACE
언두 테이블스페이스 (UNDO TABLESPACE) :
- 사용자가 아니라 서버프로세스(SERVER PROCESS)가 사용자별로 언두세그먼트 할당해서 언두 데이터(UNDO DATA)를 관리
- 인스턴스(INSTANCE)당 여러개 존재하지만, 사용되는것은 한개
- 관리 방법은 자동 모드와 수동모드, 9i 부터는 AUM(오토매틱 언두 매니지먼트 AUTOMATIC UNDO MANAGEMENT) 사용 권장
언두 테이블스페이스 사용목적 :
- 트랜잭셔널 롤백 (TRANSACTIONAL ROLLBACK) : 사용자가 롤백(ROLLBACK) 수행할 때 이곳에 저장된 언두 데이터(UNDO DATA) 사용
- 리드 콘씨스턴씨 (READ CONSISTENCY = CR) : 씨알(CR) 작업을 통해 트랜잭션(TRANSACTION)이 끝나지 않은 데이터는 변경전 데이터를 보여줌
씨알 (CR) 작업 과정
1. 현재 사용자 A가 데이터 버퍼캐시(DBC) 에서 'LEE'라는 블록을 'KIM'으로 업데이트 했으나, 커밋(COMMIT) 수행 전 (완료되지 않은 트랜잭션) 데이터이고, 락(LOCK)이 설정되어 있어서 해당블록을 다른 사용자가 사용할 수 없는 상태이다.
2. 사용자 B가 변경전 데이터('LEE')를 조회하면, 오라클은 언두 세그먼트(UNDO SEGMENT)에 있는 데이터를 데이터버퍼캐쉬로 복사해서
3. 사용자 B에게 보여준다.
언두 테이블스페이스 관리하기
언두 테이블스페이스(UNDO TABLESPACE) 조회
SQL> set line 200
> col name for a10
> show parameter undo;
신규 언두 테이블스페이스 생성하기
SQL> create undo tablespace undo02
2 datafile '/app/testrman/undo02.dbf' size 10M
3 autoextend on;
신규 생성후 언두 테이블스페이스 변경하기
SQL> alter system set undo_tablespace=undo02;
*spfile 일경우 재부팅없이 적용가능하고,
pfile일 경우 DB 종료후, 파라미터파일 변경해주어야함.
'ORACLE DB > Oracle DB Admin' 카테고리의 다른 글
테이블 스페이스 & 데이터 파일 (TABLESPACE & DATAFILE) (0) | 2013.03.06 |
---|---|
SYSTEM TABLESPACE & DATA DICTIONARY (0) | 2013.03.06 |
언두 세그먼트 UNDO SEGMENT (0) | 2013.03.05 |
TEMPORARY TABLESPACE (0) | 2013.03.05 |
GROUP TEMPORARY TABLESPACE (0) | 2013.03.05 |