5. 3 membership tiers
Connect: @oracleace
Facebook.com/OracleACEs
aceprogram_ww@oracle.com
500+ technical experts
helping peers globally
The Oracle ACE Program recognizes and
rewards community members for their technical and community
contributions to the Oracle community
Nominate
yourself or someone you know:
ace.oracle.com/nominate
For more details on Oracle ACE Program:
ace.oracle.com
6. Learn more & connect with the Oracle ACE Program
6
Program Details
Nomination
ACEs in Action Blog
Twitter
Facebook
Linkedin
Email
ace.oracle.com
ace.oracle.com/nominate
blogs.oracle.com/ace
@oracleace
The Oracle ACE Program
bit.ly/OracleACEs
ACEprogram_ww@oracle.com
8. Native Backup no OCI
Automatic Backups to Object Storage
You can choose schedule and backup retention
Restore:
You can choose from:
– Lastest
– Timestamp
– SCN
Manual Backups
Will NOT be deleted after database is terminated
Backup and Restore Types
8
12. Flashback Technology
• Perform queries that return past data
• Perform queries that return metadata that shows a detailed history of changes to the database
• Recover tables or rows to a previous point in time
• Automatically track and archive transactional data changes
• Roll back a transaction and its dependent transactions while the database remains online
12
15. 15
Flashback Query
SELECT AS OF
Requirements:
• FLASHBACK Privilege
Example:
SELECT *
FROM employees
AS OF TIMESTAMP
TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-
DD HH:MI:SS')
WHERE last_name = 'Chung';
16. 16
Flashback Version Query
VERSIONS BETWEEN { SCN | TIMESTAMP } start
AND end
Pseudocolumns:
• VERSIONS_STARTSCN
• VERSIONS_STARTTIME
• VERSIONS_ENDSCN
• VERSIONS_ENDTIME
• VERSIONS_XID
• VERSIONS_OPERATION
Requirements:
• FLASHBACK Privilege
Example:
SELECT versions_startscn, versions_starttime,
versions_endscn, versions_endtime,
versions_xid, versions_operation,
last_name, salary
FROM employees
VERSIONS BETWEEN TIMESTAMP
TO_TIMESTAMP('2008-12-18 14:00:00', 'YYYY-
MM-DD HH24:MI:SS')
AND TO_TIMESTAMP('2008-12-18 17:00:00',
'YYYY-MM-DD HH24:MI:SS')
WHERE first_name = 'John';
17. 17
Flashback Transaction Query
View:
FLASHBACK_TRANSACTION_QUERY
Requirements:
• SUPPLEMENTAL LOG DATA;
• SUPPLEMENTAL LOG DATA (PRIMARY KEY)
• SUPPLEMENTAL LOG DATA (FOREIGN KEY)
• SELECT ANY TRANSACTION Privilege OR
FLASHBACK AND READ OR SELECT
Example:
SELECT xid, operation, start_scn, commit_scn,
logon_user, undo_sql
FROM flashback_transaction_query
WHERE xid = HEXTORAW('000200030000002D');
19. 19
Flashback Transaction
Package:
DBMS_FLASHBACK
Requirements:
• EXECUTE ON DBMS_FLASHBACK Privilege
• ALTER DATABASE ADD SUPPLEMENTAL LOG
DATA (PRIMARY KEY) COLUMNS;
• ALTER DATABASE ADD SUPPLEMENTAL LOG
DATA (FOREIGN KEY) COLUMNS;
Example:
Example(Procedures):
• TRANSACTION_BACKOUT
Views:
• DBA_FLASHBACK_TXN_STATE
• DBA_FLASHBACK_TXN_REPORT
20. 20
Flashback Data Archive
Once the undo information is lost, the view of the past is lost also
Privileges:
• FLASHBACK ARCHIVE ADMINISTER
• CREATE FLASHBACK ARCHIVE
• ALTER FLASHBACK ARCHIVE
• DROP FLASHBACK ARCHIVE
• FLASHBACK ARCHIVE object
Package
• DBMS_FLASHBACK_ARCHIVE
Requirements:
• Name of the first tablespace of the Flashback
Data Archive
• Name of the Flashback Data Archive
• Quota (optional)
• Retention time
• Optimize
Views:
• DBA_FLASHBACK_ARCHIVE
• DBA_FLASHBACK_ARCHIVE_TS
• DBA_FLASHBACK_ARCHIVE_TABLES
21. 21
Flashback Table
Privileges:
• FLASHBACK ANY TABLE OR FLASHBACK
OBJECT
• READ or SELECT, INSERT, DELETE,
and ALTER privileges on the table
Requirements:
• ROW MOVEMENT (rowids)
Example:
FLASHBACK TABLE hr.employees TO
TIMESTAMP TO_TIMESTAMP('2013-10-17 09:30:00',
'YYYY-MM-DD HH:MI:SS');
Can flashback to time, scn and restore point.
Flashback the entire table
22. 22
Flashback Drop
Database parameter: recyclebin.
Do not use UNDO!
The table is only renamed on drop!
Privileges:
• DROP
• READ or SELECT and FLASHBACK
Requirements:
• ALTER SYSTEM SET RECYCLEBIN='on'
SCOPE=SPFILE;
Example:
RESTORE TABLE HR.EMPLOYEES TO BEFORE
DROP;
Views:
• RECYCLEBIN
• USER_RECYCLEBIN
• DBA_RECYCLEBIN
• (SHOW RECYCLEBIN)
Restore a dropped table
23. 23
Flashback Database
Use Flashback logs
Offline operation
Privileges:
• SYSDBA, SYSBACKUP OR SYSDG
View:
• V$FLASHBACK_DATABASE_LOG
Requirements:
• FRA Configured (OMF)
• ARCHIVELOG
• ALTER DATABASE FLASHBACK ON;
Parameter:
• DB_FLASHBACK_RETENTION_TARGET
Flashback the entire database!
24. Flashback Features per Edition
24
SE2 EE EE-ES DBCS SE DBCS EE DBCS EE-HP DBCS EE-EP ExaCS/CC AT
Flashback Query Y Y Y Y Y Y Y Y Y
Flashback Version Query Y Y Y Y Y Y Y Y Y
Flashback Transaction Query N Y Y N Y Y Y Y Y
Flashback Transaction N Y Y N Y Y Y Y N
DBMS_FLASHBACK N Y Y N Y Y Y Y Y
Flashback Data Archive Y Y Y Y Y Y Y Y N
Flashback Table N Y Y N Y Y Y Y Y
Flashback Drop Y Y Y N Y Y Y Y Y
Flashback Database N Y Y N Y Y Y Y N
SE2: Standard Edition 2, EE: Enterprise Edition, EE-ES: Enterprise Edition on Engineered Systems, DBCS: Database Cloud Service, EE-HP: Enterprise Edition - High
Performance, EE-EP - Enterprise Edition - Extreme Performance, ExaCS: Database Exadata Cloud Service, CC: Cloud@Customer, AT: Autonomous
25. 25
Best Pratices
• UNDO RETENTION
• UNDO TABLESPACE SIZE
• ADD SUPPLEMENTAL LOG DATA AT LEAST
• DOT NOT USE TRIGGERS FOR LOG. USE FLASHBACK DATA ARCHIVE!
• CREATE YOUR OWN INDICES ON FLASBACK DATA ARCHIVE BASE TABLES
• ENABLE RECYCLEBIN
• ENABLE FLASHBACK DATABASE
26. 26
FLASHBACK <> DBPITR
• Media recovery
• Time
• Logical <> Physical
• Redo, Undo and Flashback logs <> backupsets and image copies