Download presentation
Presentation is loading. Please wait.
Published byGervase Bradley Modified over 8 years ago
1
11 Copyright © 2007, Oracle. All rights reserved. Using Flashback Technology
2
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
3
Copyright © 2007, Oracle. All rights reserved. 11 - 3 Flashback Technology Object Level Scenario ExamplesFlashback Technology Depends On Affects Data DatabaseTruncate table; Undesired multitable changes made DatabaseFlashback logs TRUE TableDrop tableDropRecycle binTRUE Update with the wrong WHERE clause TableUndo dataTRUE Compare current data with data from the past QueryUndo dataFALSE Compare versions of a row VersionUndo dataFALSE Keep historical transaction data Data ArchiveUndo dataTRUE TransactionInvestigate and back out suspect transactions TransactionUndo dataTRUE
4
Copyright © 2007, Oracle. All rights reserved. 11 - 4 Transactions and Undo Undo “old” data in undo tablespace DML operations Original data in buffer cache
5
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. SELECT statements running 15 minutes or less are always satisfied. Undo data in undo tablespace Retention guarantee: 15 minutes
6
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
7
Copyright © 2007, Oracle. All rights reserved. 11 - 7 Preparing Your Database for Flashback Full Notes Page
8
Copyright © 2007, Oracle. All rights reserved. 11 - 8 Flashback Drop and the Recycle Bin DROP TABLE employees; FLASHBACK TABLE employees TO BEFORE DROP; Mistake was made. RECYCLEBIN=ON
9
Copyright © 2007, Oracle. All rights reserved. 11 - 9 3 2 1 Recycle Bin DROP TABLE employees; BIN$zbjra9wy==$0EMPLOYEES_PK EMPLOYEES Recycle bin DBA_FREE_SPACE BIN$zbjrBdpw==$0 USER_OBJECTS BIN$zbjrBdpw==$0 EMPLOYEES BIN$zbjra9wy==$0 EMPLOYEES_PK 4 Objects are: – Renamed – Not moved
10
Copyright © 2007, Oracle. All rights reserved. 11 - 10 Recycle Bin Full Notes Page
11
Copyright © 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, first out (LIFO) Rename the original name if that name is currently used. FLASHBACK TABLE TO BEFORE DROP [RENAME TO ];
12
Copyright © 2007, Oracle. All rights reserved. 11 - 12 Recycle Bin: Automatic Space Reclamation BIN$zbjrBdpw==$0 BIN$zbjra9wy==$0 BIN$zbjra9wy==$0 BIN$zbjrBdpw==$0 1 2 3 Recycle bin DBA_FREE_SPACE - RECYCLEBIN Autoextend
13
Copyright © 2007, Oracle. All rights reserved. 11 - 13 Recycle Bin: Manual Space Reclamation PURGE {TABLE |INDEX } PURGE TABLESPACE [USER ] PURGE [USER_|DBA_]RECYCLEBIN
14
Copyright © 2007, Oracle. All rights reserved. 11 - 14 Bypassing the Recycle Bin DROP TABLESPACE [INCLUDING CONTENTS] ; DROP USER [CASCADE] ; DROP TABLE [PURGE] ;
15
Copyright © 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_recyclebin WHERE can_undrop = 'YES'; SQL> SELECT original_name, object_name, ts_name, droptime FROM 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
16
Copyright © 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 NOSALES_PK DBA_TABLES TABLE_NAMEDROPPED YES NOSALES BIN$zbjrBdpw==$0 EMPLOYEES BIN$zbjra9wy==$0 EMPLOYEES_PK
17
Copyright © 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
18
Copyright © 2007, Oracle. All rights reserved. 11 - 18 Flashback Query T1 T2 SELECT employee_id, salary FROM employees AS OF TIMESTAMP WHERE employee_id = 200 employees Unwanted updates Use to query all data at a specified point in time.
19
Copyright © 2007, Oracle. All rights reserved. 11 - 19 Flashback Query: Example 11:0011:10 UPDATE employees SET salary = (SELECT salary FROM employees AS OF TIMESTAMP TO_TIMESTAMP ('2005-05-04 11:00:00', 'yyyy-mm-dd hh24:mi:ss') WHERE employee_id = 200) WHERE employee_id = 200 employees salary = 4,400 employees salary = 4,400 salary = 4,840
20
Copyright © 2007, Oracle. All rights reserved. 11 - 20 Flashback Version Query t1 t2 Tx1Tx1Tx2Tx2 SELECT versions_xid, salary FROM employees VERSIONS BETWEEN TIMESTAMP and WHERE employee_id = 200; Tx0Tx0 Tx0Tx0Tx1Tx1Tx2Tx2 employees 200
21
Copyright © 2007, Oracle. All rights reserved. 11 - 21 Using Enterprise Manager to Perform Flashback Version Query
22
Copyright © 2007, Oracle. All rights reserved. 11 - 22 Flashback Version Query: Considerations The VERSIONS clause cannot be used to query: –External tables –Temporary tables –Fixed tables –Views The VERSIONS clause cannot span DDL commands. Segment shrink operations are filtered out.
23
Copyright © 2007, Oracle. All rights reserved. 11 - 23 Flashback Transaction Query Undo SQL FLASHBACK_TRANSACTION_QUERY DBA User Erroneous DML
24
Copyright © 2007, Oracle. All rights reserved. 11 - 24 Using Enterprise Manager to Perform Flashback Transaction Query
25
Copyright © 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.
26
Copyright © 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
27
Copyright © 2007, Oracle. All rights reserved. 11 - 27 Prerequisites
28
Copyright © 2007, Oracle. All rights reserved. 11 - 28 Flashing Back a Transaction You can flash back a transaction with Enterprise Manager or from the command line. EM uses the Flashback Transaction Wizard, which calls the DBMS_FLASHBACK.TRANSACTION_BACKOUT procedure with the NOCASCADE option. If the PL/SQL call finishes successfully, it means that the transaction does not have any dependencies and a single transaction is backed out successfully.
29
Copyright © 2007, Oracle. All rights reserved. 11 - 29 Possible Workflow 1.Viewing data in a table 2.Discovering a logical problem 3.Using Flashback Transaction 1.Performing a query 2.Selecting a transaction 3.Flashing back a transaction (with no conflicts) 4.Choosing other back-out options (if conflicts exists) 4.Reviewing Flashback Transaction results
30
Copyright © 2007, Oracle. All rights reserved. 11 - 30 Viewing Data
31
Copyright © 2007, Oracle. All rights reserved. 11 - 31 Flashback Transaction Wizard
32
Copyright © 2007, Oracle. All rights reserved. 11 - 32 Flashback Transaction Wizard
33
Copyright © 2007, Oracle. All rights reserved. 11 - 33 Flashback Transaction Wizard 2 1
34
Copyright © 2007, Oracle. All rights reserved. 11 - 34 Flashback Transaction Wizard
35
Copyright © 2007, Oracle. All rights reserved. 11 - 35 Choosing Other Back-out Options
36
Copyright © 2007, Oracle. All rights reserved. 11 - 36 Choosing Other Back-out Options
37
Copyright © 2007, Oracle. All rights reserved. 11 - 37 Final Steps Without EM After choosing your back-out option, the dependency report is generated in the DBA_FLASHBACK_TXN_STATE and DBA_FLASHBACK_TXN_REPORT tables. 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.
38
Copyright © 2007, Oracle. All rights reserved. 11 - 38 Summary In this lesson, you should have learned how 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
39
Copyright © 2007, Oracle. All rights reserved. 11 - 39 Practice 11 Overview: Performing Flashback Database This practice covers the following topics: Recycle bin activities Flashback Query Flashback Transaction
40
Copyright © 2007, Oracle. All rights reserved. 11 - 40
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.