Flashback
Copyright © 2006, Oracle. All rights reserved.
Objectives
Recycle bin
Flashback DB
Config. FB DB
Monitor FB DB
Guar. Res. Pt.
After completing this lesson, you should be able to:
• Query the recycle bin
• Configure Flashback Database
• Perform Flashback Database to a point in time
• Monitor flashback log statistics
• Enable and disable the Flashback Database
feature
• Use the Enterprise Manager Recovery Wizard to
perform Flashback Database
• Use guaranteed restore points with Flashback
Database
6-2
Copyright © 2006, Oracle. All rights reserved.
Flashback Technology: Review
Object
Level
Uses
Affects
Data
Database
Truncate table;
Undesired multitable
changes made
Database
Flashback
logs
TRUE
Table
Drop table
Drop
Recycle bin
TRUE
Update with the wrong
WHERE clause
Table
Undo data
TRUE
Compare current data
with data from the past
Query
Undo data
FALSE
Compare versions of a
row
Version
Undo data
FALSE
Investigate several
historical states of data
Transaction
Undo data
FALSE
Tx
6-3
Scenario Examples
Flashback
Technology
Copyright © 2006, Oracle. All rights reserved.
Flashback Drop and the Recycle Bin
RECYCLEBIN=ON
DROP TABLE employees;
FLASHBACK TABLE
employees
TO BEFORE DROP;
Mistake was
made.
6-4
Copyright © 2006, Oracle. All rights reserved.
Recycle Bin
BIN$zbjrBdpw==$0
BIN$zbjra9wy==$0
USER_OBJECTS
EMPLOYEES
EMPLOYEES_PK
Recycle
bin
4
DBA_FREE_SPACE
BIN$zbjrBdpw==$0
EMPLOYEES
3
EMPLOYEES_PK
1
6-5
BIN$zbjra9wy==$0
Objects are:
– Renamed
– Not moved
2
DROP TABLE employees;
Copyright © 2006, Oracle. All rights reserved.
Restoring Tables from the Recycle Bin
•
•
Restore dropped tables and dependent objects.
If multiple recycle bin entries have the same
original name:
– Use unique, system-generated names to restore a
particular version
– When using original names, the restored table is
last in, first out (LIFO)
•
Rename the original name if that name is currently
used.
FLASHBACK TABLE <table_name>
TO BEFORE DROP [RENAME TO <new_name>];
6-7
Copyright © 2006, Oracle. All rights reserved.
Recycle Bin: Automatic
Space Reclamation
Recycle bin
2
BIN$zbjrBdpw==$0
BIN$zbjra9wy==$0
BIN$zbjrBdpw==$0
BIN$zbjra9wy==$0
DBA_FREE_SPACE - RECYCLEBIN
1
Autoextend 3
6-8
Copyright © 2006, Oracle. All rights reserved.
Recycle Bin: Manual Space Reclamation
PURGE {TABLE <table_name>|INDEX <index_name>}
PURGE TABLESPACE <ts_name> [USER <user_name>]
PURGE [USER_|DBA_]RECYCLEBIN
6-10
Copyright © 2006, Oracle. All rights reserved.
Bypassing the Recycle Bin
DROP TABLE <table_name> [PURGE] ;
DROP TABLESPACE <ts_name>
[INCLUDING CONTENTS] ;
DROP USER <user_name> [CASCADE] ;
6-11
Copyright © 2006, Oracle. All rights reserved.
Querying the Recycle Bin
SELECT owner, original_name, object_name,
type, ts_name, droptime, related, space
FROM dba_recyclebin
WHERE can_undrop = 'YES';
SELECT original_name, object_name,
type, ts_name, droptime, related, space
FROM user_recyclebin
WHERE can_undrop = 'YES';
SQL> SHOW RECYCLEBIN
6-12
Copyright © 2006, Oracle. All rights reserved.
Querying Data from
Dropped Tables
USER_TABLES
DROPPED
TABLE_NAME
NO
SALES
YES
BIN$zbjrBdpw==$0
EMPLOYEES
YES
BIN$zbjra9wy==$0
EMPLOYEES_PK
NO
SALES_PK
DROPPED
INDEX_NAME
USER_INDEXES
SELECT ...
FROM "BIN$zbjrBdpw==$0" [AS OF ...]
WHERE ...
6-13
Copyright © 2006, Oracle. All rights reserved.
Recycle
bin
Flashback Database: Review
Recycle bin
> Flashback DB
Config. FB DB
Monitor FB DB
Guar. Res. Pt.
The Flashback Database operation:
• Works like a rewind button for the database
• Can be used in cases of logical data corruptions
made by users
Users
generate
errors.
6-14
The
database is
corrupted.
You “press the
rewind button.”
Copyright © 2006, Oracle. All rights reserved.
The
database is
“rewound.”
Flashback Database Architecture
SGA
Not every
change!
Flashback
buffer
Buffer cache
Redo log
buffer
LGWR
Every
change
Log block
before
images
periodically.
Flashback
logs
Redo
logs
RVWR
1
Back out changes
to database using
before images.
Do forward
media recovery.
…
6-15
2
…
Copyright © 2006, Oracle. All rights reserved.
Configuring Flashback
Database
1. Configure the
flash recovery area.
2. Set the retention
target.
Recycle bin
Flashback DB
> Config. FB DB
Monitor FB DB
Guar. Res. Pt.
3. Enable Flashback
Database.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> ALTER SYSTEM SET
2 DB_FLASHBACK_RETENTION_TARGET=2880 SCOPE=BOTH;
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;
6-16
Copyright © 2006, Oracle. All rights reserved.
Configuring Flashback Database Using EM
Make sure that the database is in ARCHIVELOG mode.
6-17
Copyright © 2006, Oracle. All rights reserved.
Configuring Flashback Database Using EM
Enable flashback logging and specify the flash
recovery area.
6-18
Copyright © 2006, Oracle. All rights reserved.
Flashback Database: Examples
RMAN> FLASHBACK DATABASE TO TIME =
2> "TO_DATE('2004-05-27 16:00:00',
3> 'YYYY-MM-DD HH24:MI:SS')";
RMAN> FLASHBACK DATABASE TO SCN=23565;
RMAN> FLASHBACK DATABASE
2> TO SEQUENCE=223 THREAD=1;
SQL> FLASHBACK DATABASE
2 TO TIMESTAMP(SYSDATE-1/24);
SQL> FLASHBACK DATABASE TO SCN 53943;
SQL> FLASHBACK DATABASE TO RESTORE POINT b4_load;
6-19
Copyright © 2006, Oracle. All rights reserved.
Performing Flashback Database Using EM
Select object and
operation type.
6-20
Copyright © 2006, Oracle. All rights reserved.
Performing Flashback Database Using EM
Launching the Recovery Wizard:
6-21
Copyright © 2006, Oracle. All rights reserved.
Performing Flashback Database Using EM
6-22
Copyright © 2006, Oracle. All rights reserved.
Excluding Tablespaces from
Flashback Database
ALTER TABLESPACE <ts_name> FLASHBACK {ON|OFF}
SQL> SELECT name, flashback_on
2 FROM
v$tablespace;
•
•
6-23
Take the tablespace offline before you perform the
Flashback Database recovery.
Drop the tablespace or recover the offline files
with traditional point-in-time recovery.
Copyright © 2006, Oracle. All rights reserved.
Flashback Database Considerations
•
When the Flashback Database operation
completes, open the database:
– In read-only mode to verify that the correct target
time or SCN was used
– With a RESETLOGS operation to allow for DML
•
•
The opposite of “flash back” is “recover.”
You cannot use Flashback Database in the
following situations:
– The control file has been restored or re-created.
– A tablespace has been dropped.
– A data file has been shrunk.
•
6-24
Use the TO BEFORE RESETLOGS to flash back to
before the last RESETLOGS operation.
Copyright © 2006, Oracle. All rights reserved.
Monitoring Flashback
Database
Recycle bin
Flashback DB
Config. FB DB
> Monitor FB DB
Guar. Res. Pt.
To monitor the ability to meet your retention target:
• View the flash recovery area disk quota:
SQL> SELECT estimated_flashback_size,
2
flashback_size
3 FROM
V$FLASHBACK_DATABASE_LOG;
•
Determine the current flashback window:
SQL> SELECT oldest_flashback_scn,
2 oldest_flashback_time
3 FROM
V$FLASHBACK_DATABASE_LOG;
•
Monitor logging in the Flashback Database logs:
SQL> SELECT *
2 FROM
V$FLASHBACK_DATABASE_STAT;
6-26
Copyright © 2006, Oracle. All rights reserved.
Monitoring Flashback Database with EM
6-28
Copyright © 2006, Oracle. All rights reserved.
Guaranteed Restore Points
Recycle bin
Flashback DB
Config. FB DB
Monitor FB DB
> Guar. Res. Pt.
A guaranteed restore point ensures that you can
perform a FLASHBACK DATABASE command to that SCN
at any time.
SQL> CREATE RESTORE POINT before_load
2 GUARANTEE FLASHBACK DATABASE;
6-29
Copyright © 2006, Oracle. All rights reserved.
Summary
In this lesson, you should have learned how to:
• Query the recycle bin
• Configure Flashback Database
• Perform Flashback Database to a point in time
using Enterprise Manager or RMAN
• Monitor flashback log statistics
• Enable and disable the Flashback Database
feature
• Use guaranteed restore points with Flashback
Database
6-30
Copyright © 2006, Oracle. All rights reserved.
Practice Overview: Performing
Flashback Database
This practice covers the following topics:
• Performing Flashback Database to undo unwanted
transactions
• Monitoring the Flashback Database retention
• Determine the size of the flashback logs
6-31
Copyright © 2006, Oracle. All rights reserved.