Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-20
제목 EXPORT 실행 시 ORA-1403 에러가
제품 : ORACLE SERVER

작성날짜 : 1995-11-06


EXPORT 실행 시 ORA-1403 에러가 발생되는 경우가 있는데, 이 에러는 테이블 혹은
index에 문제가 있는 경우 발생할 수 있다.
여기서는 ROWID를 사용하여 table을 복구시키는 방법을 소개한다.

1. 기존 테이블과 같은 구조를 갖는 테이블을 만든다.
SQL> CREATE TABLE TEMP
AS SELECT *
FROM EMP
WHERE 1=2;

2. 기존 테이블에서 RECORD를 FETCH하여 새로운 테이블에 입력.
이 때, INDEX가 설정되어 있는 COLUMN을 WHERE 조건에 부여함.


declare
row_id char(18);
cnt number;
cursor c1 is select rowid
from emp
where empno>0;
begin
cnt := 0;
open c1;
loop
fetch c1 into row_id;
insert into temp select * from emp where rowid=row_id;
cnt:=cnt+1;
if cnt = 100 then /* commit per 100 records */
commit;
cnt:=0;
end if;
exit when c1%notfound;
end loop;
commit;
end;
/

3. create.sql file 실행
sql> @create
Comment
등록된 코멘트가 없습니다.