반응형

 

-- 실전 오라클 백업과 복구(생능출판사, 서진수 지음), p.138~p.140
-- undo tablespace 관리 방법
-- 1. 현재 상태 파악하기
SQL> set line 200
SQL> col name for a10
SQL> show parameter undo;
SQL>

-- 2. 신규 undo tablespace 생성하기
SQL> create undo tablespace undo01
     datafile '/u01/app/oracle/oradata/orcl/undo01.dbf' size 10M
     autoextend on;
SQL> col tablespace_name for a10
SQL> col file_name for a50
SQL> select tablespace_name, bytes/1024/1024 MB, file_name from dba_data_files;
SQL>

-- 3. Undo tablespace 변경하기(UNDOTBS1 -> UNDO01)
SQL> show parameter undo;
SQL> alter system set undo_tablespace=undo01;
SQL> show parameter undo;
SQL>


-- 실전 오라클 백업과 복구(생능출판사, 서진수 지음), p.140
-- 각 세션별로 사용 중인 undo segment 확인하기

SQL> select s.sid, s.serial#, s.username, r.name "ROLLBACK SEG"
from v$session s, v$transaction t, v$rollname r
where s.taddr = t.addr
and t.xidusn = r.usn;

 

-- 실전 오라클 백업과 복구(생능출판사, 서진수 지음), p.142
-- ORA-0155, Snapshot too old

undo_retention: commit 수행 후에도 해당 undo segment 내의 데이터를 다른 서버프로세스가 덮어쓰지 못하도록 막아주는 시간이다.
이 부분이 문제가 발생하면 오라클은 ORA-0155.Snapshot too old라는 에러를 발생시킨다.

반응형