오라클 Oracle create database 시 undo 설정

Share

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



연관된 다른 글

 

0
글에 대한 당신의 생각을 기다립니다. 댓글 의견 주세요!x