Flashback PPT

advertisement
Feb 25, 2010
Oracle Flashback Technologies
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 what’s available

I won’t go over everything, 1 hour, not 5 days..

Maybe light a spark so you’ll 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 DBA’s avoiding using Flashback
options?

Complicated to setup – I think..

Too confusing.. I don’t have time to figure it out

It slows down my system.. I think

It’s new, so probably not so reliable
10
Why DBA’s should get to know it…

It’s 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
Download