▣ 정의
-
테이블 복사를 할 때 공간이 부족할 경우 에러가 나지 않고
멈추어 공간 확보할 수 있는 기화를 부여한다.
▣ 시나리오
▶ resumable 사용하지 않을 경우
- 테이블 복사 시작
-
공간 부족해서 rollback
=> 1시간 이상 걸리는 작업일 경우 시간손실
▶ resumable 사용할 경우
- Resumable session에서 테이블 복사 시작
- 공간 모자라도 에러 안나고 멈추어 있음
- 공간 확보
- 질의 성공
▣ resumable 사용하지 않을 경우
S SCOTT> create table emp2 tablespace ts1 as select * from emp;
Table created.
S SCOTT> insert into emp2 select * from emp2;
14 rows created.
S SCOTT> /
28 rows created.
S SCOTT> /
56 rows created.
S SCOTT> / => 에러 발생할 때까지 실행
------중 략-------
S SCOTT> /
28672 rows created.
S SCOTT> /
insert into emp2 select * from emp2
*
ERROR at line 1:
ORA-01653: unable to extend table SCOTT.EMP2 by 128 in tablespace TS1 => 에러가 발생하면 지금까지 하던 작업 Rollback
▣ resumable 사용할 경우
S SYS> grant resumable to scott;
Grant succeeded.
S SYS> conn scott/tiger
Connected.
S SCOTT> alter session enable resumable;
Session altered.
S SCOTT> insert into emp2 select * from emp2;
-----에러가 나지 않고 대기 상태로 바뀜------
S SYS> select name,sql_text from dba_resumable;
NAME
---------------------------------------------------------------------------------------------------------------------
SQL_TEXT
---------------------------------------------------------------------------------------------------------------------
User SCOTT(54), Session 152, Instance 1
insert into emp2 select * from emp2
S SYS> alter tablespace ts1 add datafile size 20M;
Tablespace altered.
Ts1의 크기를 증가시키면 scott에서 대기 상태였던 것이 풀리면서 insert 된다
57344 rows created.
※ ALTER SESSION ENABLE RESUMABLE TIMEOUT 3600;
- TIMEOUT 3600 : 1시간만 Suspend 됨
댓글 없음:
댓글 쓰기