Oracle은 특정 시간에 데이터베이스의 특정 테이블에서 데이터를 복원합니다.

테스트 중 실수로 데이터를 삭제했거나, 데이터를 복원하고 SQL을 반복적으로 테스트해야 하는 경우 오라클의 플래시백 기능을 이용하면 데이터베이스를 특정 시점으로 복원할 수 있습니다.

특정 시점으로 데이터를 복구

-- 假设表名为 HOLIDAY

-- 开启行移动
ALTER TABLE HOLIDAY ENABLE ROW MOVEMENT;
-- 恢复数据到某一时刻
FLASHBACK TABLE HOLIDAY TO TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');
-- 关闭行移动
ALTER TABLE HOLIDAY DISABLE ROW MOVEMENT;
행 이동

행 이동이 활성화되지 않은 경우 오류가 보고됩니다 ORA-08189: cannot flashback the table because row movement is not enabled.

행 이동과 관련하여 ChatGPT의 답변은 다음과 같습니다.

Oracle 데이터베이스에서 행 이동(ROW MOVEMENT) 활성화는 테이블 정의를 수정하는 데 사용되는 옵션으로, 높은 수준의 가용성을 유지하면서 행 업데이트, 삭제, 삽입 등의 특정 작업을 테이블에서 수행할 수 있도록 합니다. 탁자. 행 이동을 활성화하면 테이블 행의 물리적 저장 위치 수정을 포함하여 테이블 구조를 더 유연하게 수정할 수 있습니다.

특정 시간의 데이터 쿼리

-- 查询某一时刻的数据
SELECT * FROM HOLIDAY AS OF TIMESTAMP TO_TIMESTAMP('2024-01-15 08:00:00', 'yyyy-mm-dd hh24:mi:ss');

추천

출처blog.csdn.net/weixin_45883310/article/details/136097618