Upload
mohamed-zubair
View
220
Download
0
Embed Size (px)
Citation preview
8/12/2019 Lesson 11 Fb Queries
1/37
Copyright 2007, Oracle. All rights reserved.
Using Flashback Technology
8/12/2019 Lesson 11 Fb Queries
2/37
Copyright 2007, Oracle. All rights reserved.11 - 2
Objectives
After completing this lesson, you should be able to: Query the recycle bin
Restore dropped tables from the recycle bin
Perform Flashback Query
Use Flashback Version Query
Use Flashback Transaction Query
Use Flashback Transaction
8/12/2019 Lesson 11 Fb Queries
3/37
Copyright 2007, Oracle. All rights reserved.11 - 3
Flashback Technology
ObjectLevel Scenario Examples FlashbackTechnology DependsOn AffectsData
Database Truncate table; Undesired
multitable changes made
Database Flashback
logs
TRUE
Table Drop table Drop Recycle bin TRUE
Update with the wrongWHEREclause
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
Keep historical
transaction data
Data Archive Undo data TRUE
Transaction Investigate and back out
suspect transactions
Transaction Undo data TRUE
8/12/2019 Lesson 11 Fb Queries
4/37
Copyright 2007, Oracle. All rights reserved.11 - 4
Transactions and Undo
Undo old data
in undo tablespace
DML operations
Original data
in
buffer cache
8/12/2019 Lesson 11 Fb Queries
5/37
Copyright 2007, Oracle. All rights reserved.11 - 5
Guaranteeing Undo Retention
A transaction that generates
more undo than what there
is space for will fail.
SELECTstatements
running 15 minutes or less
are always satisfied.
Undo data in
undo
tablespace
Retention guarantee:
15 minutes
8/12/2019 Lesson 11 Fb Queries
6/37
Copyright 2007, Oracle. All rights reserved.11 - 6
Preparing Your Database for Flashback
Creating an undo tablespace Enabling Automatic Undo Management
Specifying versus guaranteeing undo retention
Default database initialization parameters:UNDO_MANAGEMENT='AUTO'
UNDO_TABLESPACE='UNDOTBS1'
UNDO_RETENTION=900
8/12/2019 Lesson 11 Fb Queries
7/37Copyright 2007, Oracle. All rights reserved.11 - 8
Flashback Drop and the Recycle Bin
DROP TABLE employees; FLASHBACK TABLEemployeesTO BEFORE DROP;
Mistake wasmade.
RECYCLEBIN=ON
8/12/2019 Lesson 11 Fb Queries
8/37Copyright 2007, Oracle. All rights reserved.11 - 9
3
21
Recycle Bin
DROP TABLE employees;
BIN$zbjra9wy==$0EMPLOYEES_PK
EMPLOYEES
Recycle
bin
DBA_FREE_SPACEBIN$zbjrBdpw==$0
USER_OBJECTS
BIN$zbjrBdpw==$0 EMPLOYEESBIN$zbjra9wy==$0 EMPLOYEES_PK
4
Objects are:
Renamed
Not moved
8/12/2019 Lesson 11 Fb Queries
9/37Copyright 2007, Oracle. All rights reserved.11 - 11
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, firstout (LIFO)
Rename the original name if that name is currently used.
FLASHBACK TABLE TO BEFORE DROP[RENAME TO ];
8/12/2019 Lesson 11 Fb Queries
10/37Copyright 2007, Oracle. All rights reserved.11 - 12
Recycle Bin: Automatic
Space Reclamation
BIN$zbjrBdpw==$0BIN$zbjra9wy==$0
BIN$zbjra9wy==$0
BIN$zbjrBdpw==$0
1
2
3
Recycle bin
DBA_FREE_SPACE - RECYCLEBIN
Autoextend
8/12/2019 Lesson 11 Fb Queries
11/37Copyright 2007, Oracle. All rights reserved.11 - 13
Recycle Bin: Manual Space Reclamation
PURGE {TABLE |INDEX }
PURGE TABLESPACE [USER ]
PURGE [USER_|DBA_]RECYCLEBIN
8/12/2019 Lesson 11 Fb Queries
12/37
8/12/2019 Lesson 11 Fb Queries
13/37Copyright 2007, Oracle. All rights reserved.11 - 15
Querying the Recycle Bin
SELECT owner, original_name, object_name,type, ts_name, droptime, related, space
FROM dba_recyclebinWHERE can_undrop = 'YES';
SQL> SELECT original_name, object_name, ts_name, droptimeFROM user_recyclebin WHERE can_undrop = 'YES'; 2
ORIGINAL_NAME OBJECT_NAME TS_NAM DROPTIME------------- ----------------------- ------ -------------------EMPLOYEES2 BIN$NE4Rk64w...gbpQ==$0 USERS 2007-07-02:15:45:13
SQL> SHOW RECYCLEBIN
8/12/2019 Lesson 11 Fb Queries
14/37Copyright 2007, Oracle. All rights reserved.11 - 16
Querying Data from
Dropped Tables
SELECT ...FROM "BIN$zbjrBdpw==$0" [AS OF ...]WHERE ...
Recycle
bin
DBA_INDEXES
YES
INDEX_NAMEDROPPED
NO SALES_PK
DBA_TABLES
TABLE_NAMEDROPPED
YES
NO SALES
BIN$zbjrBdpw==$0 EMPLOYEES
BIN$zbjra9wy==$0 EMPLOYEES_PK
8/12/2019 Lesson 11 Fb Queries
15/37Copyright 2007, Oracle. All rights reserved.11 - 17
Using Flashback Technology to Query Data
Flashback Query Query all data at a specified point in time.
Flashback Version Query
See all versions of a row between two times.
See the transactions that changed the row. Flashback Transaction Query
See all changes made
by a transaction.
Tx3
Tx1
Tx2
Time
Flashback
8/12/2019 Lesson 11 Fb Queries
16/37Copyright 2007, Oracle. All rights reserved.11 - 18
Flashback Query
T1 T2
SELECT employee_id, salary FROM employees
AS OF TIMESTAMP
WHERE employee_id = 200
employeesemployees Unwantedupdates
Use to query all data at a specified point in time.
8/12/2019 Lesson 11 Fb Queries
17/37Copyright 2007, Oracle. All rights reserved.11 - 19
Flashback Query: Example
11:00 11:10
UPDATE employeesSET salary =
(SELECT salary FROM employeesAS OF TIMESTAMP TO_TIMESTAMP('2005-05-0411:00:00','yyyy-mm-ddhh24:mi:ss')WHERE employee_id = 200)
WHERE employee_id = 200
employeesemployees
salary = 4,400
employees
salary = 4,400salary = 4,840
8/12/2019 Lesson 11 Fb Queries
18/37Copyright 2007, Oracle. All rights reserved.11 - 20
Flashback Version Query
t1 t2
Tx1 Tx2
SELECT versions_xid, salary FROM employees
VERSIONS BETWEEN TIMESTAMP and
WHERE employee_id = 200;
Tx0
Tx0 Tx1 Tx2
employees employeesemployees
200
8/12/2019 Lesson 11 Fb Queries
19/37Copyright 2007, Oracle. All rights reserved.11 - 21
Using Enterprise Manager to Perform
Flashback Version Query
8/12/2019 Lesson 11 Fb Queries
20/37Copyright 2007, Oracle. All rights reserved.11 - 22
Flashback Version Query:
Considerations
The VERSIONSclause cannot be used to query: External tables
Temporary tables
Fixed tables
Views The VERSIONSclause cannot span DDL commands.
Segment shrink operations are filtered out.
8/12/2019 Lesson 11 Fb Queries
21/37Copyright 2007, Oracle. All rights reserved.11 - 23
Flashback Transaction Query
Undo
SQL
FLASHBACK_TRANSACTION_QUERY
DBA
User
Erroneous
DML
8/12/2019 Lesson 11 Fb Queries
22/37Copyright 2007, Oracle. All rights reserved.11 - 24
Using Enterprise Manager to Perform
Flashback Transaction Query
8/12/2019 Lesson 11 Fb Queries
23/37Copyright 2007, Oracle. All rights reserved.11 - 25
Flashback Transaction Query:
Considerations
DDL commands are seen as dictionary updates. Flashback Transaction Query on a transaction underlying a
DDL command displays the data dictionary changes.
Dropped objects appear as object numbers.
Dropped users appear as user identifiers.
8/12/2019 Lesson 11 Fb Queries
24/37Copyright 2007, Oracle. All rights reserved.11 - 26
Flashback Transaction
Setting up Flashback Transaction prerequisites Stepping through a possible workflow
Using the Flashback Transaction Wizard
Querying transactions with and without dependencies
Choosing back-out options and flashing back transactions Reviewing the results
8/12/2019 Lesson 11 Fb Queries
25/37
Copyright 2007, Oracle. All rights reserved.11 - 27
Prerequisites
8/12/2019 Lesson 11 Fb Queries
26/37
8/12/2019 Lesson 11 Fb Queries
27/37
Copyright 2007, Oracle. All rights reserved.11 - 29
Possible Workflow
1. Viewing data in a table2. Discovering a logical problem
3. Using Flashback Transaction
1. Performing a query
2. Selecting a transaction3. Flashing back a transaction (with no conflicts)
4. Choosing other back-out options (if conflicts exists)
4. Reviewing Flashback Transaction results
8/12/2019 Lesson 11 Fb Queries
28/37
Copyright 2007, Oracle. All rights reserved.11 - 30
Viewing Data
8/12/2019 Lesson 11 Fb Queries
29/37
Copyright 2007, Oracle. All rights reserved.11 - 31
Flashback Transaction Wizard
8/12/2019 Lesson 11 Fb Queries
30/37
8/12/2019 Lesson 11 Fb Queries
31/37
8/12/2019 Lesson 11 Fb Queries
32/37
8/12/2019 Lesson 11 Fb Queries
33/37
8/12/2019 Lesson 11 Fb Queries
34/37
Copyright 2007, Oracle. All rights reserved.11 - 36
Choosing Other Back-out Options
8/12/2019 Lesson 11 Fb Queries
35/37
Copyright 2007, Oracle. All rights reserved.11 - 37
Final Steps Without EM
After choosing your back-out option, the dependency report isgenerated in the DBA_FLASHBACK_TXN_STATEand
DBA_FLASHBACK_TXN_REPORTtables.
Review the dependency report that shows all transactions
which were backed out.
Commit the changes to make them permanent.
Roll back to discard the changes.
8/12/2019 Lesson 11 Fb Queries
36/37
8/12/2019 Lesson 11 Fb Queries
37/37