Last Updated on 8월 30, 2021 by Jade(정현호)
안녕하세요
이번 포스팅에서는 Oracle Create Database 나 Startup 시 필요한 UNDO 파라미터에 대해서 확인 해보도록 하겠습니다.
1. UNDO_MANAGEMENT
- 테이타베이스의 Undo 모드를 자동 모드로 사용 할지 수동 모드를 사용할지 여부를 결정 합니다.
- AUTO 또는 MANUAL 값 중 하나로 설정할 수 있으며 초기화 파라미터 파일에서 설정해야 합니다.
- 데이터베이스가 운영중에는 UNDO_MANAGEMENT 를 동적으로 변경할 수 없습니다.
- AUTO로 설정하게 되면 데이터베이스는 자동 Undo 관리 모드로 설정되며 undo 테이블스테이스가 필요합니다.
• 파리미터 예문
undo_management=AUTO
또는
undo_management=MANUAL
2. UNDO_TABLESPACE
- 사용할 특정 UNDO 테이블스페이스를 지정 합니다.
- 최소한 하나의 UNDO 테이블 스페이스 생성이 필요 합니다.
- 초기화 파일에서 설정하거나 데이터베이스의 운영중에도 ALTER SYSYTEM 명령을 사용하여 동적으로 변경할 수 있습니다.
• 파라미터 예문
undo_tablespace=UNDOTBS1
3. UNDO_RETENTION
- 일관성 읽기를 위해 제공되는 Undo 데이타의 보유 기간을 결정합니다.
- 초기화 파일에서 설정하거나, ALTER SYSTEM 명령을 사용하여 동적으로 수정할 수 있습니다.
- 이 parameter는 초 단위로 지정됩니다. 기본값은 900초이며, 이는 Undo 데이타를 15분 동안 보유합니다.
※ UNDO_RETENTION을 설정한 후에도 UNDO 테이블스페이스의 크기가 너무 작으면 지정한 시간 동안 Undo 데이타가 보유되지 않습니다. UNDO_RETENTION 파라미터는 현재 Undo 테이블스페이스에 UNDO_RETENTION 기간 동안 발생하는 모든 트랜잭션을 수용할 수 있을 만큼 충분한 커야 합니다.
4. UNDO_SUPPRESS_ERRORS
- 이 파라미터를 사용하면 자동 Undo 관리 모드에서 수동 관리 모드 작업 시 에러가 발생하는 것을 방지합니다.
즉, ALTER ROLLBACK SEGMENT ONLINE, SET TRANSACTION USE ROLLBACK SEGMENT 문을 수행하면 ORA-30019 에러가 발생하는 것을 방지합니다.
* 9i 로 오면서 undo 세그먼트에 대한 명령어가 변경 되었기 때문에 발생하는 에러를 막아줍니다.
* 8i 시절 사용자들이 9i 에서 8i 의 명령어를 사용할 경우 발생하는 에러를 막아주는 파라미터 값
3,4은 파라미터에 기술하지않아도 데이터베이스는 생성됩니다
• 수동으로 데이터 베이스 생성시
create database testdb
undo tablespace UNDOTBS1
datafile ’/home/oracle/oradata/testdb/undotbs01.dbf’ SIZE 150M
autoextend on maxsize unlimited
연관된 다른 글


Principal DBA(MySQL, AWS Aurora, Oracle)
핀테크 서비스인 핀다에서 데이터베이스를 운영하고 있어요(at finda.co.kr)
Previous - 당근마켓, 위메프, Oracle Korea ACS / Fedora Kor UserGroup 운영중
Database 외에도 NoSQL , Linux , Python, Cloud, Http/PHP CGI 등에도 관심이 있습니다
purityboy83@gmail.com / admin@hoing.io