SW/Database / / 2025. 4. 7. 13:28

ORA-08189: Cannot flashback the table because row movement is not enabled / 원인과 해결 방법

반응형

ORA-08189: Cannot flashback the table because row movement is not enabled

ORA-08189 오류는 Oracle의 Flashback Table 기능을 사용할 때 대상 테이블에 ROW MOVEMENT 옵션이 비활성화되어 있을 경우 발생합니다.

 

 

 

ORA-08189: Cannot flashback the table because row movement is not enabled / 원인과 해결 방법

 

오류 원인

이 오류는 다음과 같은 상황에서 발생합니다:

  1. FLASHBACK TABLE 문 실행 시 ROW MOVEMENT가 비활성화됨
  2. 테이블의 행 식별자가 변경될 수 있는 복구 작업을 수행하려 함
  3. Oracle이 플래시백 시 내부적으로 ROWID 변경이 필요한데 허용되지 않음

해결 방법

1. ROW MOVEMENT 활성화

다음 명령어를 통해 테이블의 ROW MOVEMENT 기능을 활성화해야 합니다:

ALTER TABLE 테이블명 ENABLE ROW MOVEMENT;

2. FLASHBACK TABLE 실행

ROW MOVEMENT를 활성화한 후 Flashback을 실행합니다:

FLASHBACK TABLE 테이블명 TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);

3. 현재 상태 확인

테이블의 현재 설정 상태는 아래 SQL로 확인 가능합니다:

SELECT table_name, row_movement
FROM user_tables
WHERE table_name = '테이블명';

간단 요약

  • ORA-08189 오류는 테이블에서 ROW MOVEMENT가 활성화되지 않은 상태에서 Flashback을 시도할 때 발생합니다.
  • 해결 방법: - ALTER TABLE ... ENABLE ROW MOVEMENT 명령어 실행 - 플래시백 실행 전 테이블 상태 점검 - 데이터 복구 시 행 이동 허용 필수
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유