Oracle Table Flashback
Version 10.2
 
Flashback Dropped Table
Flashback Table From The Recycle Bin Using The Object Name FLASHBACK TABLE <object_name> TO BEFORE DROP
{RENAME TO <new_table_name>};
CREATE TABLE test (
testcol VARCHAR2(20));

ALTER TABLE test
ADD CONSTRAINT pk_test
PRIMARY KEY (testcol)
USING INDEX
PCTFREE 0;

INSERT INTO test VALUES ('ABC');
INSERT INTO test VALUES ('DEF');
COMMIT;

SELECT * FROM test;

DROP TABLE test;

SELECT object_name, original_name
FROM recyclebin;

FLASHBACK TABLE "BIN$4/V75AlOSDqCJ4fbHLAtpQ==$0"
TO BEFORE DROP
;

SELECT * FROM test;

SELECT constraint_name, constraint_type
FROM user_constraints
ORDER BY table_name;
Flashback Table From The Recycle Bin Using The Original Name FLASHBACK TABLE <original_table_name> TO BEFORE DROP
{RENAME TO <new_table_name>};
CREATE TABLE test (
testcol  VARCHAR2(20));

INSERT INTO test VALUES ('ABC');

COMMIT;

SELECT * FROM test;

DROP TABLE test;

CREATE TABLE test (
testcol  VARCHAR2(20));

INSERT INTO test VALUES ('DEF');

COMMIT;

SELECT * FROM test;

DROP TABLE test;

CREATE TABLE test (
testcol  VARCHAR2(20));

INSERT INTO test VALUES ('GHI');

COMMIT;

SELECT * FROM test;

DROP TABLE test;

SELECT object_name, original_name, droptime
FROM recyclebin;

FLASHBACK TABLE test TO BEFORE DROP;

FLASHBACK TABLE test TO BEFORE DROP
RENAME TO test2
;

FLASHBACK TABLE test TO BEFORE DROP
RENAME TO test1
;

SELECT * FROM test;

SELECT * FROM test2;

SELECT * FROM test1;
 
Flashback To SCN

Flashback to identified SCN demo
FLASHBACK TABLE <table_name> TO SCN <scn number>;
CREATE TABLE test (
testcol  VARCHAR2(20));

SELECT current_scn
FROM gv$database;

INSERT INTO test VALUES ('ABC');
COMMIT;

SELECT current_scn
FROM gv$database;

INSERT INTO test VALUES ('DEF');
COMMIT;

SELECT current_scn
FROM gv$database;

INSERT INTO test VALUES ('GHI');
COMMIT;

SELECT current_scn
FROM gv$database;

SELECT * FROM test;

SELECT current_scn
FROM gv$database;

ALTER TABLE test ENABLE ROW MOVEMENT;

SELECT * FROM test;

FLASHBACK TABLE test TO SCN 1833265;
 
Flashback To Timestamp

Flashback to identified timestamp demo
FLASHBACK TABLE <table_name> TO TIMESTAMP <timestamp>;
CREATE TABLE test (
testcol  VARCHAR2(20));

SELECT systimestamp
FROM dual;

INSERT INTO test VALUES ('ABC');
COMMIT;

SELECT systimestamp
FROM dual;

INSERT INTO test VALUES ('DEF');
COMMIT;

SELECT systimestamp
FROM dual;

INSERT INTO test VALUES ('GHI');
COMMIT;

SELECT systimestamp
FROM dual;

SELECT * FROM test;

SELECT systimestamp
FROM dual;

ALTER TABLE test ENABLE ROW MOVEMENT;

SELECT * FROM test;

FLASHBACK TABLE test TO TIMESTAMP
TO_TIMESTAMP('14-JUN-05 10.14.34.269 PM')
;

SELECT * FROM test;
 
Related Topics
Recycle Bin
Table
 
Contact Us Legal Notices and Terms of UsePrivacy Statement