SlideShare a Scribd company logo
Anar Godjaev

FLASHBACK (Practical test)

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.
Total System Global Area 184549376 bytes
Fixed Size

1300928 bytes

Variable Size

157820480 bytes

Database Buffers

25165824 bytes

Redo Buffers

262144 bytes

Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter system set DB_FLASHBACK_RETENTION_TARGET=4320;
System altered.
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=536870912;
System altered.
SQL> alter system set DB_RECOVERY_FILE_DEST='/home/oracle/flash';
System altered.
SQL> alter database flashback on;
Database altered.
Anar Godjaev
SQL> alter database open;
Database altered.
SQL> select flashback_on from v$database;
FLASHBACK_ON
-----------YES
FLASHBACK (DROP TABLE)
CMD > sqlplus hr/hr
SQL> create table test_table(
id number(2),
name varchar2(30)
);
Table created.
SQL> insert into test_table values (1, 'Ben Rockwood');
1 row created.
SQL> insert into test_table values (2, 'Tamarah Rockwood');
1 row created.
SQL> insert into test_table values (3, 'Nova Rockwood');
1 row created.
SQL> insert into test_table values (4, 'Hunter Rockwood');
insert into test_table values (5, 'ddddter Rockwood');
1 row created.
SQL> select * from test_table;
Anar Godjaev
ID NAME
---------- -----------------------------1 Ben Rockwood
2 Tamarah Rockwood
3 Nova Rockwood
4 Hunter Rockwood
SQL> drop table test_table;
Table dropped.
SQL> select * from test_table;
select * from test_table
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select * from recyclebin;
SQL> show recyclebin;
SQL> flashback table test_table to before drop;
Flashback complete.
SQL> select * from test_table;
ID NAME
---------- -----------------------------1 Ben Rockwood
2 Tamarah Rockwood
3 Nova Rockwood
4 Hunter Rockwood
SQL> drop table test_table purge;
Table dropped.
SQL> select * from test_table;
Anar Godjaev

select * from test_table
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> select * from recyclebin;
SQL> show recyclebin;
SQL> alter system set "_recyclebin"=FALSE;
FLASHBACK (SCN)
CMD > sqlplus hr/hr
SQL> CREATE TABLE flashback_table_test (
id NUMBER(10)
);
SQL> ALTER TABLE flashback_table_test ENABLE ROW MOVEMENT;
SQL> SELECT current_scn FROM v$database;
CURRENT_SCN
----------933716
SQL> INSERT INTO flashback_table_test (id) VALUES (1);
SQL> INSERT INTO flashback_table_test (id) VALUES (2);
SQL> COMMIT;
SQL> SELECT current_scn FROM v$database;
CURRENT_SCN
----------934423
Anar Godjaev

SQL> SELECT * FROM flashback_table_test;
ID
----------1
2
SQL> INSERT INTO flashback_table_test (id) VALUES (3);
SQL> INSERT INTO flashback_table_test (id) VALUES (4);
SQL> COMMIT;
SQL> SELECT current_scn FROM v$database;
CURRENT_SCN
----------934474

SQL> SELECT * FROM flashback_table_test;
ID
----------1
2
3
4
SQL> FLASHBACK TABLE flashback_table_test TO SCN 934423;
SQL> SELECT COUNT(*) FROM flashback_table_test;
COUNT(*)
---------2
SQL> FLASHBACK TABLE flashback_table_test TO SCN 934474;
Anar Godjaev
SQL> SELECT COUNT(*) FROM flashback_table_test;
COUNT(*)
---------4
SQL> FLASHBACK TABLE flashback_table_test TO SCN 933716;
SQL> SELECT COUNT(*) FROM flashback_table_test;
COUNT(*)
---------4

FLASHBACK (TIME)
CMD > sqlplus hr/hr
SQL> CREATE TABLE t3
ENABLE ROW MOVEMENT AS
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE 1=2;

SQL> desc t
SQL> SELECT table_name, row_movement
FROM user_tables;
SQL> SELECT current_scn, SYSTIMESTAMP
FROM gv$database;

CURRENT_SCN
----------SYSTIMESTAMP
--------------------------------------------------------------------------935085
Anar Godjaev
10-MAR-12 10.30.40.360096 AM +02:00

SQL> INSERT INTO t3
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'SYS';
SQL> COMMIT;
SQL> SELECT current_scn, SYSTIMESTAMP
FROM gv$database;
CURRENT_SCN
----------SYSTIMESTAMP
--------------------------------------------------------------------------935177
10-MAR-12 10.32.18.675106 AM +02:00

SQL> INSERT INTO t3
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'HR';
SQL> COMMIT;
SQL> SELECT current_scn, SYSTIMESTAMP
FROM gv$database;
CURRENT_SCN
----------SYSTIMESTAMP
--------------------------------------------------------------------------935196
10-MAR-12 10.32.57.849132 AM +02:00
SQL> INSERT INTO t3
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'CTXSYS';
SQL> COMMIT;
Anar Godjaev
SQL> SELECT current_scn, SYSTIMESTAMP
FROM gv$database;
CURRENT_SCN
----------SYSTIMESTAMP
--------------------------------------------------------------------------935239
10-MAR-12 10.33.36.687213 AM +02:00
SQL> SELECT owner, COUNT(*)
FROM t3
GROUP BY owner;
OWNER
COUNT(*)
------------------------------ ---------HR
10
CTXSYS
5
SYS
27

SQL> FLASHBACK TABLE t3 TO TIMESTAMP
TO_TIMESTAMP('10/03/2012 10:40:00','dd/mm/yyyy hh24:mi:ss');
SQL> SELECT owner, COUNT(*)
FROM t3
GROUP BY owner;
SQL> FLASHBACK TABLE t3 TO TIMESTAMP
TO_TIMESTAMP('07/02/2011 19:31:22','dd/mm/yyyy hh24:mi:ss');
SQL> SELECT owner, COUNT(*)
FROM t3
GROUP BY owner;
SQL> FLASHBACK TABLE t3 TO TIMESTAMP
TO_TIMESTAMP('07/02/2011 19:33:55','dd/mm/yyyy hh24:mi:ss');
SQL> SELECT owner, COUNT(*)
FROM t3
GROUP BY owner;
FLASHBACK (POINT)
CMD > sqlplus hr/hr
SQL> CREATE TABLE t2
ENABLE ROW MOVEMENT AS
SELECT owner, table_name, tablespace_name
Anar Godjaev
FROM all_tables
WHERE 1=2;
SQL> desc t2
SQL> SELECT table_name, row_movement
FROM user_tables;
SQL> CREATE RESTORE POINT zero;

SQL> INSERT INTO t2
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'SYS';
SQL> COMMIT;
SQL> CREATE RESTORE POINT one;
SQL> INSERT INTO t2
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'WMSYS';
SQL> COMMIT;
SQL> CREATE RESTORE POINT two;
SQL> INSERT INTO t2
SELECT owner, table_name, tablespace_name
FROM all_tables
WHERE owner = 'CTXSYS';
SQL> COMMIT;
SQL> SELECT owner, COUNT(*)
FROM t2
GROUP BY owner;
Anar Godjaev
SQL> SELECT scn, time, name
FROM gv$restore_point;
SQL> FLASHBACK TABLE t2 TO RESTORE POINT two;
SQL> SELECT owner, COUNT(*)
FROM t2
GROUP BY owner;
SQL> FLASHBACK TABLE t2 TO RESTORE POINT one;
SQL> SELECT owner, COUNT(*)
FROM t2
GROUP BY owner;
SQL> FLASHBACK TABLE t2 TO RESTORE POINT zero;
SQL> SELECT owner, COUNT(*)
FROM t2
GROUP BY owner;
FLASHBACK (DATABASE)
CMD > sqlplus hr/hr
SQL> create table test_table2(
id number(2),
name varchar2(30)
);
Table created.
SQL> insert into test_table values (1, 'Ben Rockwood');
1 row created.
SQL> insert into test_table values (2, 'Tamarah Rockwood');
1 row created.
Anar Godjaev
SQL> insert into test_table values (3, 'Nova Rockwood');
1 row created.
SQL> insert into test_table values (4, 'Hunter Rockwood');
1 row created.
SQL> select * from test_table;
ID NAME
---------- -----------------------------1 Ben Rockwood
2 Tamarah Rockwood
3 Nova Rockwood
4 Hunter Rockwood
SQL> CONN sys/password AS SYSDBA;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> FLASHBACK DATABASE TO TIMESTAMP SYSDATE-(1/24/12); // 5 minutes earlier to
SQL> ALTER DATABASE OPEN RESETLOGS;
SQL> CONN hr/hr
SQL> select * from test_table;
FLASHBACK DATABASE TO TIMESTAMP my_date;
FLASHBACK DATABASE TO BEFORE TIMESTAMP my_date;
FLASHBACK DATABASE TO SCN my_scn;
FLASHBACK DATABASE TO BEFORE SCN my_scn;

More Related Content

PPT
Oracle 10g Performance: chapter 00 sampling
PPTX
Database administration commands
PDF
FIXING BLOCK CORRUPTION (RMAN) on 11G
 
PDF
Basic - Oracle Edition Based Redefinition Presentation
 
PDF
Test Dml With Nologging
 
TXT
Db health check
DOCX
Change DB Name
DOCX
Moving 12c database from NON-ASM to ASM
Oracle 10g Performance: chapter 00 sampling
Database administration commands
FIXING BLOCK CORRUPTION (RMAN) on 11G
 
Basic - Oracle Edition Based Redefinition Presentation
 
Test Dml With Nologging
 
Db health check
Change DB Name
Moving 12c database from NON-ASM to ASM

What's hot (20)

PDF
Oracle goldengate 11g schema replication from standby database
PDF
Oracle applications 11i hot backup cloning with rapid clone
DOC
Oracle applications 11i hot backup cloning with rapid clone
DOCX
Asm disk group migration from
PDF
Install and upgrade Oracle grid infrastructure 12.1.0.2
PDF
How to create a pluggable database by cloning an existing local pdb
PDF
Beginbackup
PPTX
SCALE 15x Minimizing PostgreSQL Major Version Upgrade Downtime
PDF
Store and Process Big Data with Hadoop and Cassandra
PDF
Oracle Database 11g Product Family
 
PDF
oracle cloud with 2 nodes processing
DOCX
Creating a physical standby database 11g on windows
PDF
Step by Step Restore rman to different host
TXT
Pontos para criar_instancia_data guard_11g
PDF
PostgreSQL and PL/Java
PPT
UKOUG, Oracle Transaction Locks
PPTX
Cloning Oracle EBS R12: A Step by Step Procedure
PDF
Pdxpugday2010 pg90
DOCX
Migrate from database file system to asm
PDF
12c db upgrade from 11.2.0.4
Oracle goldengate 11g schema replication from standby database
Oracle applications 11i hot backup cloning with rapid clone
Oracle applications 11i hot backup cloning with rapid clone
Asm disk group migration from
Install and upgrade Oracle grid infrastructure 12.1.0.2
How to create a pluggable database by cloning an existing local pdb
Beginbackup
SCALE 15x Minimizing PostgreSQL Major Version Upgrade Downtime
Store and Process Big Data with Hadoop and Cassandra
Oracle Database 11g Product Family
 
oracle cloud with 2 nodes processing
Creating a physical standby database 11g on windows
Step by Step Restore rman to different host
Pontos para criar_instancia_data guard_11g
PostgreSQL and PL/Java
UKOUG, Oracle Transaction Locks
Cloning Oracle EBS R12: A Step by Step Procedure
Pdxpugday2010 pg90
Migrate from database file system to asm
12c db upgrade from 11.2.0.4
Ad

Viewers also liked (20)

DOCX
Database Security
DOC
11 g RAC -ASM
TXT
Vyg monitor
DOCX
LogMiner
PDF
WebLogic JMX for DevOps
DOC
Backup and Recovery Procedure
DOCX
Backup and Recovery
PDF
How to add storage to esxi 5.5
PDF
How to apply new patch on siebel 8.2.2.4
PDF
Refresh development from productions
PDF
Enable oracle database vault
PDF
Install oracle grid infrastructure on linux 6.6
PDF
Oracle autovue
DOCX
Apache Tomcat Shutdown Startup Script Shell
PDF
Erp installation r12.2
PDF
HTTP Status Codes Cheat Sheet: An Exhaustive List
PDF
J2ee user managment using dwh builder
DOCX
Oracle Managed Files
PDF
Ebs clone r12.2.4
PDF
Oracle Enterprise manager 13c Installation
Database Security
11 g RAC -ASM
Vyg monitor
LogMiner
WebLogic JMX for DevOps
Backup and Recovery Procedure
Backup and Recovery
How to add storage to esxi 5.5
How to apply new patch on siebel 8.2.2.4
Refresh development from productions
Enable oracle database vault
Install oracle grid infrastructure on linux 6.6
Oracle autovue
Apache Tomcat Shutdown Startup Script Shell
Erp installation r12.2
HTTP Status Codes Cheat Sheet: An Exhaustive List
J2ee user managment using dwh builder
Oracle Managed Files
Ebs clone r12.2.4
Oracle Enterprise manager 13c Installation
Ad

Similar to Flashback (Practical Test) (20)

PPTX
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
PPTX
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
DOCX
Enable archivelod mode in oracle rac12cR1 with asm location
DOC
br_test_lossof-datafile_10g.doc
PPTX
Data Migration in Database
PDF
Database decommission process
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DOC
Oracle data guard configuration in 12c
DOC
Dbmsmanual
PDF
How To Control IO Usage using Resource Manager
PDF
Oracle10g New Features I
PDF
Pluggable database tutorial
ODP
My sql Syntax
PPTX
Oracle database 12.2 new features
PPT
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
DOCX
Physical_Standby_Database_R12.2.4
TXT
Oracle ORA Errors
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
Enable archivelod mode in oracle rac12cR1 with asm location
br_test_lossof-datafile_10g.doc
Data Migration in Database
Database decommission process
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
Oracle data guard configuration in 12c
Dbmsmanual
How To Control IO Usage using Resource Manager
Oracle10g New Features I
Pluggable database tutorial
My sql Syntax
Oracle database 12.2 new features
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Physical_Standby_Database_R12.2.4
Oracle ORA Errors

More from Anar Godjaev (20)

DOCX
Oracle GoldenGate
DOCX
How to protect your sensitive data using oracle database vault / Creating and...
DOCX
how to protect your sensitive data using oracle database vault
DOCX
Database Vault / Verinin Güvenliği
DOCX
Oracle Golden Gate
PDF
Oracle 10g Database Server Kurulum
DOCX
DataPump ile Single Parititon Export
DOCX
Redologlar ve Yöneti̇mi̇
DOCX
Contraints
DOCX
Oracle SQL
DOCX
Veri̇tabani ve Kullanici Yöneti̇mi̇
DOCX
Instance ve Media Bozukluklarını Inceleme
DOCX
Conditional Control
DOCX
PL/SQL Blocks
DOCX
Wait Interface
DOCX
Audit Mekani̇zmasi
DOCX
Tuning SGA
DOCX
Parallel Server
DOCX
Table Partitions
DOCX
Memory Management
Oracle GoldenGate
How to protect your sensitive data using oracle database vault / Creating and...
how to protect your sensitive data using oracle database vault
Database Vault / Verinin Güvenliği
Oracle Golden Gate
Oracle 10g Database Server Kurulum
DataPump ile Single Parititon Export
Redologlar ve Yöneti̇mi̇
Contraints
Oracle SQL
Veri̇tabani ve Kullanici Yöneti̇mi̇
Instance ve Media Bozukluklarını Inceleme
Conditional Control
PL/SQL Blocks
Wait Interface
Audit Mekani̇zmasi
Tuning SGA
Parallel Server
Table Partitions
Memory Management

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
Understanding_Digital_Forensics_Presentation.pptx

Flashback (Practical Test)

  • 1. Anar Godjaev FLASHBACK (Practical test) SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 184549376 bytes Fixed Size 1300928 bytes Variable Size 157820480 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> alter system set DB_FLASHBACK_RETENTION_TARGET=4320; System altered. SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=536870912; System altered. SQL> alter system set DB_RECOVERY_FILE_DEST='/home/oracle/flash'; System altered. SQL> alter database flashback on; Database altered.
  • 2. Anar Godjaev SQL> alter database open; Database altered. SQL> select flashback_on from v$database; FLASHBACK_ON -----------YES FLASHBACK (DROP TABLE) CMD > sqlplus hr/hr SQL> create table test_table( id number(2), name varchar2(30) ); Table created. SQL> insert into test_table values (1, 'Ben Rockwood'); 1 row created. SQL> insert into test_table values (2, 'Tamarah Rockwood'); 1 row created. SQL> insert into test_table values (3, 'Nova Rockwood'); 1 row created. SQL> insert into test_table values (4, 'Hunter Rockwood'); insert into test_table values (5, 'ddddter Rockwood'); 1 row created. SQL> select * from test_table;
  • 3. Anar Godjaev ID NAME ---------- -----------------------------1 Ben Rockwood 2 Tamarah Rockwood 3 Nova Rockwood 4 Hunter Rockwood SQL> drop table test_table; Table dropped. SQL> select * from test_table; select * from test_table * ERROR at line 1: ORA-00942: table or view does not exist SQL> select * from recyclebin; SQL> show recyclebin; SQL> flashback table test_table to before drop; Flashback complete. SQL> select * from test_table; ID NAME ---------- -----------------------------1 Ben Rockwood 2 Tamarah Rockwood 3 Nova Rockwood 4 Hunter Rockwood SQL> drop table test_table purge; Table dropped. SQL> select * from test_table;
  • 4. Anar Godjaev select * from test_table * ERROR at line 1: ORA-00942: table or view does not exist SQL> select * from recyclebin; SQL> show recyclebin; SQL> alter system set "_recyclebin"=FALSE; FLASHBACK (SCN) CMD > sqlplus hr/hr SQL> CREATE TABLE flashback_table_test ( id NUMBER(10) ); SQL> ALTER TABLE flashback_table_test ENABLE ROW MOVEMENT; SQL> SELECT current_scn FROM v$database; CURRENT_SCN ----------933716 SQL> INSERT INTO flashback_table_test (id) VALUES (1); SQL> INSERT INTO flashback_table_test (id) VALUES (2); SQL> COMMIT; SQL> SELECT current_scn FROM v$database; CURRENT_SCN ----------934423
  • 5. Anar Godjaev SQL> SELECT * FROM flashback_table_test; ID ----------1 2 SQL> INSERT INTO flashback_table_test (id) VALUES (3); SQL> INSERT INTO flashback_table_test (id) VALUES (4); SQL> COMMIT; SQL> SELECT current_scn FROM v$database; CURRENT_SCN ----------934474 SQL> SELECT * FROM flashback_table_test; ID ----------1 2 3 4 SQL> FLASHBACK TABLE flashback_table_test TO SCN 934423; SQL> SELECT COUNT(*) FROM flashback_table_test; COUNT(*) ---------2 SQL> FLASHBACK TABLE flashback_table_test TO SCN 934474;
  • 6. Anar Godjaev SQL> SELECT COUNT(*) FROM flashback_table_test; COUNT(*) ---------4 SQL> FLASHBACK TABLE flashback_table_test TO SCN 933716; SQL> SELECT COUNT(*) FROM flashback_table_test; COUNT(*) ---------4 FLASHBACK (TIME) CMD > sqlplus hr/hr SQL> CREATE TABLE t3 ENABLE ROW MOVEMENT AS SELECT owner, table_name, tablespace_name FROM all_tables WHERE 1=2; SQL> desc t SQL> SELECT table_name, row_movement FROM user_tables; SQL> SELECT current_scn, SYSTIMESTAMP FROM gv$database; CURRENT_SCN ----------SYSTIMESTAMP --------------------------------------------------------------------------935085
  • 7. Anar Godjaev 10-MAR-12 10.30.40.360096 AM +02:00 SQL> INSERT INTO t3 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'SYS'; SQL> COMMIT; SQL> SELECT current_scn, SYSTIMESTAMP FROM gv$database; CURRENT_SCN ----------SYSTIMESTAMP --------------------------------------------------------------------------935177 10-MAR-12 10.32.18.675106 AM +02:00 SQL> INSERT INTO t3 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'HR'; SQL> COMMIT; SQL> SELECT current_scn, SYSTIMESTAMP FROM gv$database; CURRENT_SCN ----------SYSTIMESTAMP --------------------------------------------------------------------------935196 10-MAR-12 10.32.57.849132 AM +02:00 SQL> INSERT INTO t3 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'CTXSYS'; SQL> COMMIT;
  • 8. Anar Godjaev SQL> SELECT current_scn, SYSTIMESTAMP FROM gv$database; CURRENT_SCN ----------SYSTIMESTAMP --------------------------------------------------------------------------935239 10-MAR-12 10.33.36.687213 AM +02:00 SQL> SELECT owner, COUNT(*) FROM t3 GROUP BY owner; OWNER COUNT(*) ------------------------------ ---------HR 10 CTXSYS 5 SYS 27 SQL> FLASHBACK TABLE t3 TO TIMESTAMP TO_TIMESTAMP('10/03/2012 10:40:00','dd/mm/yyyy hh24:mi:ss'); SQL> SELECT owner, COUNT(*) FROM t3 GROUP BY owner; SQL> FLASHBACK TABLE t3 TO TIMESTAMP TO_TIMESTAMP('07/02/2011 19:31:22','dd/mm/yyyy hh24:mi:ss'); SQL> SELECT owner, COUNT(*) FROM t3 GROUP BY owner; SQL> FLASHBACK TABLE t3 TO TIMESTAMP TO_TIMESTAMP('07/02/2011 19:33:55','dd/mm/yyyy hh24:mi:ss'); SQL> SELECT owner, COUNT(*) FROM t3 GROUP BY owner; FLASHBACK (POINT) CMD > sqlplus hr/hr SQL> CREATE TABLE t2 ENABLE ROW MOVEMENT AS SELECT owner, table_name, tablespace_name
  • 9. Anar Godjaev FROM all_tables WHERE 1=2; SQL> desc t2 SQL> SELECT table_name, row_movement FROM user_tables; SQL> CREATE RESTORE POINT zero; SQL> INSERT INTO t2 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'SYS'; SQL> COMMIT; SQL> CREATE RESTORE POINT one; SQL> INSERT INTO t2 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'WMSYS'; SQL> COMMIT; SQL> CREATE RESTORE POINT two; SQL> INSERT INTO t2 SELECT owner, table_name, tablespace_name FROM all_tables WHERE owner = 'CTXSYS'; SQL> COMMIT; SQL> SELECT owner, COUNT(*) FROM t2 GROUP BY owner;
  • 10. Anar Godjaev SQL> SELECT scn, time, name FROM gv$restore_point; SQL> FLASHBACK TABLE t2 TO RESTORE POINT two; SQL> SELECT owner, COUNT(*) FROM t2 GROUP BY owner; SQL> FLASHBACK TABLE t2 TO RESTORE POINT one; SQL> SELECT owner, COUNT(*) FROM t2 GROUP BY owner; SQL> FLASHBACK TABLE t2 TO RESTORE POINT zero; SQL> SELECT owner, COUNT(*) FROM t2 GROUP BY owner; FLASHBACK (DATABASE) CMD > sqlplus hr/hr SQL> create table test_table2( id number(2), name varchar2(30) ); Table created. SQL> insert into test_table values (1, 'Ben Rockwood'); 1 row created. SQL> insert into test_table values (2, 'Tamarah Rockwood'); 1 row created.
  • 11. Anar Godjaev SQL> insert into test_table values (3, 'Nova Rockwood'); 1 row created. SQL> insert into test_table values (4, 'Hunter Rockwood'); 1 row created. SQL> select * from test_table; ID NAME ---------- -----------------------------1 Ben Rockwood 2 Tamarah Rockwood 3 Nova Rockwood 4 Hunter Rockwood SQL> CONN sys/password AS SYSDBA; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT EXCLUSIVE; SQL> FLASHBACK DATABASE TO TIMESTAMP SYSDATE-(1/24/12); // 5 minutes earlier to SQL> ALTER DATABASE OPEN RESETLOGS; SQL> CONN hr/hr SQL> select * from test_table; FLASHBACK DATABASE TO TIMESTAMP my_date; FLASHBACK DATABASE TO BEFORE TIMESTAMP my_date; FLASHBACK DATABASE TO SCN my_scn; FLASHBACK DATABASE TO BEFORE SCN my_scn;