[SQL] 커밋 된 트랜잭션을 롤백
SQL커밋 된 트랜잭션을 롤백
오라클 11g에서 커밋 된 트랜잭션을 롤백 할 수있는 방법이 있나요
제가 DB에 테이블에서 삭제를 제작하고 최선을 다하고 있습니다, 지금은 커밋 된 변경 사항을 롤백합니다. 그것을 할 수있는 방법이 있습니까?
해결법
-
==============================
1.이미 커밋 된 내용을 롤백 할 수 없습니다. 당신이 할 수있는 일이 특정 상황에서, 가장 빠른 옵션 중 하나로서,에서와 다시 삽입하면 행을 삭제 한 테이블에 대한 플래시백 쿼리를 실행하는 것입니다. 다음은 간단한 예이다 :
이미 커밋 된 내용을 롤백 할 수 없습니다. 당신이 할 수있는 일이 특정 상황에서, 가장 빠른 옵션 중 하나로서,에서와 다시 삽입하면 행을 삭제 한 테이블에 대한 플래시백 쿼리를 실행하는 것입니다. 다음은 간단한 예이다 :
참고 :이 작업의 성공은 UNDO_RETENTION 매개 변수의 값 (기본 9백초)에 따라 달라집니다 - 시간의 기간 (자동으로 줄일 수있다) 동안 정보를 실행 취소 테이블 스페이스에 유지됩니다 취소.
/* our test table */ create table test_tb( col number ); /* populate test table with some sample data */ insert into test_tb(col) select level from dual connect by level <= 2; select * from test_tb; COL ---------- 1 2 /* delete everything from the test table */ delete from test_tb; select * from test_tb; no rows selected
삽입 행이 다시 삭제 :
/* flashback query to see contents of the test table as of specific point in time in the past */ select * /* specify past time */ from test_tb as of timestamp timestamp '2013-11-08 10:54:00' COL ---------- 1 2 /* insert deleted rows */ insert into test_tb select * /* specify past time */ from test_tb as of timestamp timestamp '2013-11-08 10:54:00' minus select * from test_tb select * from test_tb; COL ---------- 1 2
from https://stackoverflow.com/questions/19853150/rollback-a-committed-transaction by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 오라클 데이터베이스의 테이블의 컬럼의 모든 메타 데이터를 볼 수 있습니다? (0) | 2020.06.30 |
---|---|
[SQL] SQL과 타의 추종을 불허하는 기록을 찾기 (0) | 2020.06.30 |
[SQL] 한 번에 여러 SQL 문을 실행 MyBatis로, 그 수 있습니까? (0) | 2020.06.30 |
[SQL] 마 DDL 문은 항상 당신에게 커밋 암시를 제공하거나 암시 롤백을받을 수 있나요? (0) | 2020.06.30 |
[SQL] 그것은 모니터링하고 액세스 MDB에 의해 만들어진 실제 쿼리를 기록 할 수 있습니까? (0) | 2020.06.30 |