Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 15

Oracle Flashback Technologies

Feb 25, 2010


COUG Presentation Feb 2010

Ray Smith
raymond.smith@cgi.com
1
Agenda:

What are my objectives today?


Introduce you to some flashback technologies
Raise your awareness of whats available
I wont go over everything, 1 hour, not 5 days..
Maybe light a spark so youll go play too.

Fly through the slides as quickly as possible.


Go break my system and fix it lots of times

2
Flashback technologies

Flashback Query
Flashback Table
Flashback Drop
Flashback Versions Query
Flashback Transaction Query
Flashback Database
Flashback Data Archive

3
Flashback technologies

Flashback Query
SQL> exec dbms_flashback package.. 9i R1.
Scary code:
DECLARE
CURSOR emp_cur IS
SELECT * FROM EMPLOYEE;
v_rec emp_cur%rowtype;
BEGIN
DBMS_FLASHBACK.ENABLE_AT_TIME ('25-FEB-10 08:10:58');
open emp_cur;
DBMS_FLASHBACK.DISABLE;
LOOP
fetch emp_cur into v_rec;
EXIT WHEN emp_cur%NOTFOUND;
INSERT INTO EMPLOYEE_TEMP VALUES
(v_rec.emp_id, v_rec.name, v_rec.age );
END LOOP;
close emp_cur;
COMMIT;
END;

SQL> SELECT .. FROM.. AS OF. WHERE

4
Flashback technologies

Flashback Table
SQL> flashback table to timestamp
SQL> flashback table to SCN
Flashback Drop
Use of Recyclebin
flashback table to before drop;

5
Flashback technologies

Flashback Versions Query


Ability to capture changes to data over a given time.
VERSIONS_STARTTIME (start timestamp of version);
VERSIONS_STARTSCN (start SCN of version);
VERSIONS_ENDTIME (end timestamp of version);
VERSIONS_ENDSCN (end SCN of version);
VERSIONS_XID (transaction ID of version); and
VERSIONS_OPERATION (DML operation of version).

6
Flashback technologies

Flashback Transaction Query


Who run that? What was it? What is the UNDO code?
Use of FLASHBACK_TRANSACTION_QUERY
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> select * from FLASHBACK_TRANSACTION_QUERY
where xid= HEXTORAW('0003001A0000010D');

7
Flashback technologies

Flashback Database through RESETLOGS (10.2)


Create a flash recovery area
Restart database ( mount exclusive )
SQL> ALTER DATASE FLASHBACK ON;
SQL> ALTER SYSTEM SET db_flashback_retention_target =
<number_of_minutes>;
SQL> ALTER DATABASE OPEN;
Restore Points
create restore point PREQA_TESTING;
create restore point PREQA_TESTING guarantee flashback
database;
drop restore point PREQA_TESTING;

8
Flashback technologies

Flashback Data Archive


SQL> create FLASHBACK ARCHIVE default <flasharea>
tablespace <flash_tablespace> quota 200M retention 1
MONTH;
SQL> alter table <table> flashback archive <flasharea>;

9
Why are DBAs avoiding using Flashback
options?

Complicated to setup I think..


Too confusing.. I dont have time to figure it out
It slows down my system.. I think
Its new, so probably not so reliable

10
Why DBAs should get to know it

Its actually quite good.


It can seriously save your bacon.
Fast recoveries

11
How do you configure Flashback?

It Depends..
Flashback Query no setup required Just undo
Flashback Table no setup required Just undo
Flashback Drop Recyclebin on by default.
Flashback Versions - no setup required Just undo
Flashback Database Requires a flash recovery area / feature
to be switched on.
Flashback Transaction may require supplimental data
Flashback Data Archives needs flashback tablespace

12
How to Flashback Database?

FLASHBACK DATABASE TO [BEFORE] SCN


<system_change_number>
FLASHBACK DATABASE TO [BEFORE]
TIMESTAMP <system_timestamp_value>
FLASHBACK DATABASE
TO [BEFORE] RESTORE POINT
<restore_point_name>

13
Live Demo

14
Summary

Start playing with flashback.


Potential issues
ERROR at line 1:
ORA-08185: Flashback not supported for user SYS

15

You might also like