Presentation is loading. Please wait.

Presentation is loading. Please wait.

11 Copyright © 2007, Oracle. All rights reserved. Using Flashback Technology.

Similar presentations


Presentation on theme: "11 Copyright © 2007, Oracle. All rights reserved. Using Flashback Technology."— Presentation transcript:

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


Download ppt "11 Copyright © 2007, Oracle. All rights reserved. Using Flashback Technology."

Similar presentations


Ads by Google