SlideShare a Scribd company logo
1 of 50
Lucas Jellema
Singapore Oracle Sessions III - 14th July 2015
On Flashback and Temporal Validity –
analyzing the time dimension
in the Oracle 12c database
2
Time
3
The Pension Fund
4
The Pension Fund
• Administration for 2 milion participants
• Record their complete employment history
– employer, job role, salary and benefits
• Used to calculate invoices for monthly premium as well as the benefits
that have been accrued
• MN has to be able to
– Report on the situation per end of each quarter
– Account for any invoice that has been sent (and the way it was calculated)
– Provide an audit trail of all mutations in the employment history including the nature
and timestamp of the mutation and the identity of the perpetrator
– Retain history for specified periods of time
5
The Pension Fund
Current approach
• Journal tables
• Audit columns to record identity of person responsible for change
• DML Triggers on all relevant tables to record history
• Long reporting batches at the end of the quarter
• Complex queries to reconstruct a certain moment in time that caused a
certain invoice
• Logic to exclude data that is no longer relevant/allowed
• [lack of] scheduled batches to remove data once beyond retention
Glimpses of the past
Session 1 Session 2
Glimpses of the past
Session 1 Session 2
Glimpses of the past – same
session
Glimpses from the past
How a session can see its own past
Session 1
Formalized Glimpses of the past
Flashback Query
Compare current with previous
Powered by UNDO
UNDO
FLASHBACK facilities
• Flashback Database
• Flashback Standby Database
• Flashback Table
• Flashback Table to Before Undrop
(Recycle Bin)
• Flashback Query
• Flashback Versions Query
• Flashback Transaction
DBA
Developer
11g Flashback Data Archive
1 Month
10 Years
UNDO5 Days
Configuring Total Recall for
Table EMP
• Set up Flashback Data Archive
• Enable Total Recall for EMP
• Some requirements:
– Tablespace under Automatic Segment Space Management to create the Flashback
Data Archive in
– Automatic UNDO management must be enabled
– The FLASHBACK ARCHIVE ADMINISTER privilege
CREATE FLASHBACK ARCHIVE LONGTERM_ARCHIVE
TABLESPACE HISTORY
RETENTION 15 YEAR
ALTER TABLE EMP
FLASHBACK ARCHIVE LONGTERM_ARCHIVE;
Sessions Travel back in time
• Using Flashback Query and Flashback Versions Query, the past can be
inspected
– Queries are adapted
– Every table referenced in a query needs to be explicitly ‘flashbacked’
• Non intrusive time travelling for an entire session is available too –
through dbms_flashback
– Only travelling to the past
– The past is read-only
– Travel to Timestamp or SCN
• For example to set from after-logon trigger or as option in a client
application to set the “time scope”
– For example to create reports for the end of the year – no need to stop new data
coming in!
Move entire session to point in time
Flashback Row History aka
flashback versions query
• See all flashback data for each row, including:
– SCN range the row was “valid for”
– Time range (approx) the row was valid for
– The transaction id (XID) that modified the row
– The operation (I/U/D) that was performed on the row
– special constants: minvalue and maxvalue
select ename, sal,
versions_operation,
versions_starttime,
versions_endtime,
versions_startscn,
versions_endscn,
versions_xid
from emp versions between timestamp &A and &B
order by versions_startscn nulls first
from emp versions between timestamp minvalue and maxvalue
Trac-king’s Salary History
Provide insight in trends and recent
changes using flashback versions
10 Years
MOST_RECENT_SALARY_CHANGES
“Flashback Transaction”
• Select the UNDO_SQL for a certain transaction
select xid
, start_scn
, commit_scn
, operation
, undo_sql
, table_name
from
flashback_transaction_query
where xid = '0004000400000003D';
Transaction Back Out
• To undo the effects of one or more transactions, we can invoke
DBMS_FLASHBACK.TRANSACTION_BACKOUT
– with a list of Transaction IDs
– and options for dealing with dependent transactions (later transactions partially on
the same records)
• NonConflict_Only: only backout those parts of selected transaction that do not conflict with later transactions
• Nocascade: raise error if there is dependent transaction
• NoCascade_Force: only backout selected transaction
• Cascade: back out of dependent transaction too
– Backout does not commit: it performs compensating DML, constraints are enforced,
holds locks and reports
– Back out reports are available in views
*_FLASHBACK_TXN_STATE and *_FLASHBACK_TXN_REPORT
…_JOURNAL…
Date_modified
User_modified
Date_modified
User_modified
+ columns for
… columns
…_JOURNAL…
Date_modified
User_modified
Date_modified
User_modified
+ columns for
… columns
History is frequently kept in Audit
columns and journaling tables
EMP_JOURNALEMP
Date_modified
User_modified
Date_modified
User_modified
+ columns for
… columns
…_JOURNAL…
Date_modified
User_modified
Date_modified
User_modified
+ columns for
… columns
Flashback data archive could mean
The end of journaling
• Get rid of all journaling tables & triggers
• Productivity Gain
• Ease of use of archived data
– AS OF queries
– DBMS_FLASHBACK – transparent
• Performance Benefits
– Maintain flashback data archive is much more efficient than maintaining journaling
tables with triggers
10 YearsEMP
… columns
Date_modified
… columns
Overhead of populating Flashback
Data archive compared to triggers
Total Recall vs Triggers
6.0%
8.9%
2.5%
4.5%
54.0%53.2%
56.9%
52.8%
0
10
20
30
40
50
60
70
100k/1k 100k/10k 1M/1k 1M/10k
# of Rows / Commit Interval
%IncreaseinResponseTime
Total Recall Triggers
Whodunnit?
• Flashback Data Archive does not record WHO made the change – only
the changes that were made!
• Database Auditing does record the username and the client identifier for
each completed transaction
– AUDIT INSERT,UPDATE,DELETE ON EMP
– Join Flashback Versions Query with user_audit_trail on audit.transactionid =
version.xid
10 YearsEMP
… columns xid Date_modified
… columns
USER_AUDIT
_TRAIL
Client Identifier
Flashback Weak Spots
• Whodunnit?
• Also:
– when is the start of history?
– What went on before? What to do with existing archives?
• By the way: Flashback Data Archive requires EE & Advanced
Compression database option
29
License change in 12c
• Flashback Data Archive in all database editions
30
• Flashback Data Archive also available in 11.2.0.4 – all editions
Total Recall 12c
• Flashback Data Archive Improvements:
– Complete schema evolution support All table definition, partitioning,
and space management DDLs are supported on FDA-enabled
tables.
– The metadata information for tracking transactions including the
user context is now tracked. The addition of user-context tracking
makes it easier to determine which user made which changes to a
table.
• This could mean that journaling tables are now officially deprecated
• Also given that the current contents of journaling tables can even be migrated to
Flashback Data Archive
32
Ensure transaction context is
recorded (and set)
exec dbms_flashback_archive.set_context_level(level=> 'ALL');
exec dbms_session.set_identifier('The Creepy User from Finance ');
update oow.emp
set sal = sal * 1.4
where ename = 'ALLEN'
/
commit;
exec dbms_session.set_identifier('Scary Janitor from the Annex');
update oow.emp
set sal = sal * 0.7
where ename = 'MILLER'
/
commit;
33
Audit the generated history
SELECT versions_xid
, versions_starttime
, empno, ename, sal new_sal
, s.client_identifier
FROM oow.emp VERSIONS BETWEEN TIMESTAMP minvalue
AND maxvalue
, sys.sys_fba_context_aud s
where versions_xid = s.xid
34
Alternative: retrieve context with
dbms_flashback_archive.get_sys_context
SELECT versions_xid
, versions_starttime
, empno, ename, sal new_sal
, dbms_flashback_archive.get_sys_context
(versions_xid,'USERENV','CLIENT_IDENTIFIER') who
FROM emp VERSIONS BETWEEN TIMESTAMP minvalue
AND maxvalue
Total Recall (2)
• Import and export of history
– Support for import and export using Data Pump for FDA-enabled
tables. Data Pump can now be used to export and import an FDA-
enabled base table along with its schema-evolution metadata and
historical row versions.
• User generated history
– Support for importing user-generated history has been added.
Customers who have been maintaining history using other
mechanisms, such as triggers, can now import that history into Total
Recall.
36
Generate History –
All actions by SYS
create table oow.emp as select * from scott.emp
grant execute on dbms_flashback_archive to oow;
grant execute on dbms_flashback to oow;
CREATE FLASHBACK ARCHIVE DEFAULT one_year TABLESPACE users
QUOTA 100M RETENTION 1 YEAR;
grant flashback archive on one_year to oow;
exec dbms_flashback_archive.create_temp_history_table('OOW', 'EMP');
-- This statement once in a database instance
--This will extend mappings to the past so that import of old
history can be done. Goes back to 01-JAN-88.
EXEC DBMS_FLASHBACK_ARCHIVE.extend_mappings();
---
-- after some history has been created:
EXEC DBMS_FLASHBACK_ARCHIVE.IMPORT_HISTORY('oow','EMP');
37
Generate History –
Actions by Application
• Insert records describing each stage of history that has existed
– Including start and end time of historic state
insert into temp_history
(RID , STARTSCN , ENDSCN , XID, OPERATION
,EMPNO, ename, job, hiredate, sal, deptno )
values (NULL, timestamp_to_scn(to_date('01-04-2001', 'DD-MM-YYYY')),
timestamp_to_scn(to_date('01-07-2003', 'DD-MM-YYYY')), NULL, 'I'
,1567,'SELLERS','CLERK',to_date('01-04-2001','DD-MM-YYYY'),2200, 10);
insert into temp_history
(RID , STARTSCN , ENDSCN , XID, OPERATION
,EMPNO, ename, job, hiredate, sal, deptno)
values (NULL, timestamp_to_scn(to_date('01-07-2003', 'DD-MM-YYYY')),
timestamp_to_scn(to_date('01-10-2006', 'DD-MM-YYYY')), NULL, 'U'
,1567,'SELLERS','CLERK',to_date('01-04-2001','DD-MM-YYYY'),2200, 20);
…
38
Query the generated history
select ename
, job
from emp as of timestamp (sysdate - INTERVAL '10' YEAR)
minus
select ename
, job
from emp
select ename
, job
from emp as of timestamp (systimestamp - INTERVAL '3' YEAR)
minus
select ename
, job
from emp
39
The Pension Fund
Future approach
• Flashback Data Archives
– Per retention period
• Associate relevant tables to FDA
• Configure tracking of meta-data
– To ensure transaction context is retained
• Report batches can be run at any
moment against any moment
– Using dbms_flashback.enable_at_time
• Queries can easily be performed to
reproduce a moment in the past
• FDA management takes care of
deprecated data
• Journal tables
• Audit columns
• DML Journaling Triggers
• Batches at the end of the
quarter
• Complex queries to reconstruct
• Logic to exclude deprecated
data
• batches to purge data
40
Looking into the future…
OUR_PRODUCTS
NAME PRICE
select name, price
from our_products
41
Looking further into the
future…
OUR_PRODUCTS
NAME PRICE
select name, price
from our_products
begin
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME (
level => 'ASOF'
, query_time => TO_TIMESTAMP('01-10-2018', 'DD-MM-YYYY')
);
end;
42
Current situation …
OUR_PRODUCTS
NAME PRICE
select name, price
from our_products
begin
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME (
level => 'CURRENT'
);
end;
43
All data in the table
(the default setting)
OUR_PRODUCTS
NAME PRICE
select name, price
from our_products
begin
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME (
level => 'ALL'
);
end;
44
All data in the table
(the default setting)
OUR_PRODUCTS
NAME PRICE
select name, price, start_date, end_date
from our_products
order
by start_date
START_DATE END_DATE
begin
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME (
level => 'ALL'
);
end;
45
Part of SQL 2011 standard:
Temporal Database
Make the database aware of the time
based business validity of records
• Add timestamp columns indicating start and end of valid time for a record
• Specify a PERIOD for the table
• Note:
– A table can have multiple sets of columns, describing multiple types of validness
create table our_products
( name varchar2(100)
, price number(7,2)
, start_date timestamp
, end_date timestamp
, PERIOD FOR offer_time (start_date, end_date)
);
Valid time aware
flashback queries
• Select all product prices on offer at a certain moment in time
• Perform all queries for records that are valid at a certain point in time –
past or future
• Return all records currently (session time) valid
• Return all records (default)
SELECT *
FROM OUR_PRODUCTS AS OF PERIOD FOR offer_time
TO_TIMESTAMP('01-10-2014','DD-MM-YYYY')
EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time
( 'ASOF'
, TO_TIMESTAMP('01-05-2016','DD-MM-YYYY')
);
EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time('CURRENT');
EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time('ALL');
48
The future of temporal validity
Beyond 12.1.0.2 many Temporal Validity enhancements are expected:
• Gap and overlap checks
• Valid time aware DML
• Temporal Primary and Unique Key constraints that allow multiple non-
overlapping entries
• Temporal referential constraints that take into account the valid-time
during which the rows exist.
– Child needs to have a valid Master at any time during its own validity
• Temporal Aggregation - group or order by valid-time
• Normalization - coalescing rows which are in adjacent or overlapping time
periods
• Temporal joins – joins between tables with valid-time semantics based on
‘simultaneous validity’
• For Information Lifecycle Management (ILM), the Valid Time information is
used to assess records to move
49
Summary
• Time and History are supported in Oracle Database 12c along two
dimensions:
– Transaction time – what been the committed state of the database at any point
– Business (valid) time – what was, is or will be the relevant data at any point
• Flashback is concerned with transaction time. As of 12c:
– Available in all editions (no license restrictions)
– Includes transaction (session) context at time of commit (whodunnit)
– Supports user defined history (as well as import and export)
– Flashback Query, Flashback Versions Query, Enable database session at timestamp
 Flashback is ready for inclusion in database design and application development
• Valid Time Modeling (Temporal Database) is concerned with business
validity of data – begin date and end date
– Based on SQL 2011
– Low impact use: alter table add (period for …)
– Easy querying across time – past, present and future
– Next steps are expected in enriching temporal database support (12.2?)
Time is of the essence - The Fourth Dimension in Oracle Database 12c (on Flashback and Temporal Database)

More Related Content

What's hot

Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recoveryYogiji Creations
 
Sql server logshipping
Sql server logshippingSql server logshipping
Sql server logshippingZeba Ansari
 
Dmv's & Performance Monitor in SQL Server
Dmv's & Performance Monitor in SQL ServerDmv's & Performance Monitor in SQL Server
Dmv's & Performance Monitor in SQL ServerZeba Ansari
 
Backup and Recovery Procedure
Backup and Recovery ProcedureBackup and Recovery Procedure
Backup and Recovery ProcedureAnar Godjaev
 
Lessons learned from Isbank - A Story of a DB2 for z/OS Initiative
Lessons learned from Isbank - A Story of a DB2 for z/OS InitiativeLessons learned from Isbank - A Story of a DB2 for z/OS Initiative
Lessons learned from Isbank - A Story of a DB2 for z/OS InitiativeCuneyt Goksu
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502kaziul Islam Bulbul
 
SQL Server Database Migration
SQL Server Database MigrationSQL Server Database Migration
SQL Server Database MigrationZeba Ansari
 
SAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPASAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPAAliter Consulting
 
SAP ASE Migration Lessons Learned
SAP ASE Migration Lessons LearnedSAP ASE Migration Lessons Learned
SAP ASE Migration Lessons LearnedAliter Consulting
 
Db2 V12 incompatibilities_&_improvements_over_V11
Db2 V12 incompatibilities_&_improvements_over_V11Db2 V12 incompatibilities_&_improvements_over_V11
Db2 V12 incompatibilities_&_improvements_over_V11Abhishek Verma
 

What's hot (20)

Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
Xpp c user_rec
Xpp c user_recXpp c user_rec
Xpp c user_rec
 
Sql server logshipping
Sql server logshippingSql server logshipping
Sql server logshipping
 
Les 01 core
Les 01 coreLes 01 core
Les 01 core
 
Dmv's & Performance Monitor in SQL Server
Dmv's & Performance Monitor in SQL ServerDmv's & Performance Monitor in SQL Server
Dmv's & Performance Monitor in SQL Server
 
Chapter19
Chapter19Chapter19
Chapter19
 
Backup and Recovery Procedure
Backup and Recovery ProcedureBackup and Recovery Procedure
Backup and Recovery Procedure
 
Lessons learned from Isbank - A Story of a DB2 for z/OS Initiative
Lessons learned from Isbank - A Story of a DB2 for z/OS InitiativeLessons learned from Isbank - A Story of a DB2 for z/OS Initiative
Lessons learned from Isbank - A Story of a DB2 for z/OS Initiative
 
Les 09 diag
Les 09 diagLes 09 diag
Les 09 diag
 
ORACLE ARCHITECTURE
ORACLE ARCHITECTUREORACLE ARCHITECTURE
ORACLE ARCHITECTURE
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
SQL Server Database Migration
SQL Server Database MigrationSQL Server Database Migration
SQL Server Database Migration
 
SAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPASAP LVM Integration with SAP BPA
SAP LVM Integration with SAP BPA
 
Les 04 config_bu
Les 04 config_buLes 04 config_bu
Les 04 config_bu
 
SAP Post Copy Automation
SAP Post Copy AutomationSAP Post Copy Automation
SAP Post Copy Automation
 
Les 00 intro
Les 00 introLes 00 intro
Les 00 intro
 
Greske na sapu
Greske na sapuGreske na sapu
Greske na sapu
 
Less01 Dba1
Less01 Dba1Less01 Dba1
Less01 Dba1
 
SAP ASE Migration Lessons Learned
SAP ASE Migration Lessons LearnedSAP ASE Migration Lessons Learned
SAP ASE Migration Lessons Learned
 
Db2 V12 incompatibilities_&_improvements_over_V11
Db2 V12 incompatibilities_&_improvements_over_V11Db2 V12 incompatibilities_&_improvements_over_V11
Db2 V12 incompatibilities_&_improvements_over_V11
 

Similar to Time is of the essence - The Fourth Dimension in Oracle Database 12c (on Flashback and Temporal Database)

Flashback - The Time Machine..
Flashback - The Time Machine..Flashback - The Time Machine..
Flashback - The Time Machine..Navneet Upneja
 
Oracle flashback
Oracle flashbackOracle flashback
Oracle flashbackCambodia
 
Time Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOSTime Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOSLaura Hood
 
2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation2009 Collaborate IOUG Presentation
2009 Collaborate IOUG PresentationBiju Thomas
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfElboulmaniMohamed
 
Less17 flashback tb3
Less17 flashback tb3Less17 flashback tb3
Less17 flashback tb3Imran Ali
 
How should I monitor my idaa
How should I monitor my idaaHow should I monitor my idaa
How should I monitor my idaaCuneyt Goksu
 
B35 all you wanna know about rman by francisco alvarez
B35 all you wanna know about rman by francisco alvarezB35 all you wanna know about rman by francisco alvarez
B35 all you wanna know about rman by francisco alvarezInsight Technology, Inc.
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfElboulmaniMohamed
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsVigilant Technologies
 
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAATemporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAACuneyt Goksu
 
Teradata Tutorial for Beginners
Teradata Tutorial for BeginnersTeradata Tutorial for Beginners
Teradata Tutorial for Beginnersrajkamaltibacademy
 
Sql architecture
Sql architectureSql architecture
Sql architecturerchakra
 
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and Locking
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and LockingGeek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and Locking
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and LockingIDERA Software
 
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaaPerfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaaCuneyt Goksu
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseParesh Patel
 
Oracle10g New Features I
Oracle10g New Features IOracle10g New Features I
Oracle10g New Features IDenish Patel
 
Webinar - MariaDB Temporal Tables: a demonstration
Webinar - MariaDB Temporal Tables: a demonstrationWebinar - MariaDB Temporal Tables: a demonstration
Webinar - MariaDB Temporal Tables: a demonstrationFederico Razzoli
 
Backing Up and Recovery
Backing Up and RecoveryBacking Up and Recovery
Backing Up and RecoveryMaham Huda
 

Similar to Time is of the essence - The Fourth Dimension in Oracle Database 12c (on Flashback and Temporal Database) (20)

Flashback - The Time Machine..
Flashback - The Time Machine..Flashback - The Time Machine..
Flashback - The Time Machine..
 
Oracle flashback
Oracle flashbackOracle flashback
Oracle flashback
 
Overview of Oracle database12c for developers
Overview of Oracle database12c for developersOverview of Oracle database12c for developers
Overview of Oracle database12c for developers
 
Time Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOSTime Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOS
 
2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
Less17 flashback tb3
Less17 flashback tb3Less17 flashback tb3
Less17 flashback tb3
 
How should I monitor my idaa
How should I monitor my idaaHow should I monitor my idaa
How should I monitor my idaa
 
B35 all you wanna know about rman by francisco alvarez
B35 all you wanna know about rman by francisco alvarezB35 all you wanna know about rman by francisco alvarez
B35 all you wanna know about rman by francisco alvarez
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdf
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
 
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAATemporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
Temporal Tables, Transparent Archiving in DB2 for z/OS and IDAA
 
Teradata Tutorial for Beginners
Teradata Tutorial for BeginnersTeradata Tutorial for Beginners
Teradata Tutorial for Beginners
 
Sql architecture
Sql architectureSql architecture
Sql architecture
 
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and Locking
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and LockingGeek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and Locking
Geek Sync | How to Detect, Analyze, and Minimize SQL Server Blocking and Locking
 
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaaPerfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
 
Oracle10g New Features I
Oracle10g New Features IOracle10g New Features I
Oracle10g New Features I
 
Webinar - MariaDB Temporal Tables: a demonstration
Webinar - MariaDB Temporal Tables: a demonstrationWebinar - MariaDB Temporal Tables: a demonstration
Webinar - MariaDB Temporal Tables: a demonstration
 
Backing Up and Recovery
Backing Up and RecoveryBacking Up and Recovery
Backing Up and Recovery
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Time is of the essence - The Fourth Dimension in Oracle Database 12c (on Flashback and Temporal Database)

  • 1. Lucas Jellema Singapore Oracle Sessions III - 14th July 2015 On Flashback and Temporal Validity – analyzing the time dimension in the Oracle 12c database
  • 4. 4 The Pension Fund • Administration for 2 milion participants • Record their complete employment history – employer, job role, salary and benefits • Used to calculate invoices for monthly premium as well as the benefits that have been accrued • MN has to be able to – Report on the situation per end of each quarter – Account for any invoice that has been sent (and the way it was calculated) – Provide an audit trail of all mutations in the employment history including the nature and timestamp of the mutation and the identity of the perpetrator – Retain history for specified periods of time
  • 5. 5 The Pension Fund Current approach • Journal tables • Audit columns to record identity of person responsible for change • DML Triggers on all relevant tables to record history • Long reporting batches at the end of the quarter • Complex queries to reconstruct a certain moment in time that caused a certain invoice • Logic to exclude data that is no longer relevant/allowed • [lack of] scheduled batches to remove data once beyond retention
  • 6. Glimpses of the past Session 1 Session 2
  • 7. Glimpses of the past Session 1 Session 2
  • 8. Glimpses of the past – same session
  • 9. Glimpses from the past How a session can see its own past Session 1
  • 10. Formalized Glimpses of the past Flashback Query
  • 13. FLASHBACK facilities • Flashback Database • Flashback Standby Database • Flashback Table • Flashback Table to Before Undrop (Recycle Bin) • Flashback Query • Flashback Versions Query • Flashback Transaction DBA Developer
  • 14. 11g Flashback Data Archive 1 Month 10 Years UNDO5 Days
  • 15. Configuring Total Recall for Table EMP • Set up Flashback Data Archive • Enable Total Recall for EMP • Some requirements: – Tablespace under Automatic Segment Space Management to create the Flashback Data Archive in – Automatic UNDO management must be enabled – The FLASHBACK ARCHIVE ADMINISTER privilege CREATE FLASHBACK ARCHIVE LONGTERM_ARCHIVE TABLESPACE HISTORY RETENTION 15 YEAR ALTER TABLE EMP FLASHBACK ARCHIVE LONGTERM_ARCHIVE;
  • 16. Sessions Travel back in time • Using Flashback Query and Flashback Versions Query, the past can be inspected – Queries are adapted – Every table referenced in a query needs to be explicitly ‘flashbacked’ • Non intrusive time travelling for an entire session is available too – through dbms_flashback – Only travelling to the past – The past is read-only – Travel to Timestamp or SCN • For example to set from after-logon trigger or as option in a client application to set the “time scope” – For example to create reports for the end of the year – no need to stop new data coming in!
  • 17. Move entire session to point in time
  • 18. Flashback Row History aka flashback versions query • See all flashback data for each row, including: – SCN range the row was “valid for” – Time range (approx) the row was valid for – The transaction id (XID) that modified the row – The operation (I/U/D) that was performed on the row – special constants: minvalue and maxvalue select ename, sal, versions_operation, versions_starttime, versions_endtime, versions_startscn, versions_endscn, versions_xid from emp versions between timestamp &A and &B order by versions_startscn nulls first from emp versions between timestamp minvalue and maxvalue
  • 20. Provide insight in trends and recent changes using flashback versions 10 Years
  • 22. “Flashback Transaction” • Select the UNDO_SQL for a certain transaction select xid , start_scn , commit_scn , operation , undo_sql , table_name from flashback_transaction_query where xid = '0004000400000003D';
  • 23. Transaction Back Out • To undo the effects of one or more transactions, we can invoke DBMS_FLASHBACK.TRANSACTION_BACKOUT – with a list of Transaction IDs – and options for dealing with dependent transactions (later transactions partially on the same records) • NonConflict_Only: only backout those parts of selected transaction that do not conflict with later transactions • Nocascade: raise error if there is dependent transaction • NoCascade_Force: only backout selected transaction • Cascade: back out of dependent transaction too – Backout does not commit: it performs compensating DML, constraints are enforced, holds locks and reports – Back out reports are available in views *_FLASHBACK_TXN_STATE and *_FLASHBACK_TXN_REPORT
  • 24. …_JOURNAL… Date_modified User_modified Date_modified User_modified + columns for … columns …_JOURNAL… Date_modified User_modified Date_modified User_modified + columns for … columns History is frequently kept in Audit columns and journaling tables EMP_JOURNALEMP Date_modified User_modified Date_modified User_modified + columns for … columns …_JOURNAL… Date_modified User_modified Date_modified User_modified + columns for … columns
  • 25. Flashback data archive could mean The end of journaling • Get rid of all journaling tables & triggers • Productivity Gain • Ease of use of archived data – AS OF queries – DBMS_FLASHBACK – transparent • Performance Benefits – Maintain flashback data archive is much more efficient than maintaining journaling tables with triggers 10 YearsEMP … columns Date_modified … columns
  • 26. Overhead of populating Flashback Data archive compared to triggers Total Recall vs Triggers 6.0% 8.9% 2.5% 4.5% 54.0%53.2% 56.9% 52.8% 0 10 20 30 40 50 60 70 100k/1k 100k/10k 1M/1k 1M/10k # of Rows / Commit Interval %IncreaseinResponseTime Total Recall Triggers
  • 27. Whodunnit? • Flashback Data Archive does not record WHO made the change – only the changes that were made! • Database Auditing does record the username and the client identifier for each completed transaction – AUDIT INSERT,UPDATE,DELETE ON EMP – Join Flashback Versions Query with user_audit_trail on audit.transactionid = version.xid 10 YearsEMP … columns xid Date_modified … columns USER_AUDIT _TRAIL Client Identifier
  • 28. Flashback Weak Spots • Whodunnit? • Also: – when is the start of history? – What went on before? What to do with existing archives? • By the way: Flashback Data Archive requires EE & Advanced Compression database option
  • 29. 29 License change in 12c • Flashback Data Archive in all database editions
  • 30. 30 • Flashback Data Archive also available in 11.2.0.4 – all editions
  • 31. Total Recall 12c • Flashback Data Archive Improvements: – Complete schema evolution support All table definition, partitioning, and space management DDLs are supported on FDA-enabled tables. – The metadata information for tracking transactions including the user context is now tracked. The addition of user-context tracking makes it easier to determine which user made which changes to a table. • This could mean that journaling tables are now officially deprecated • Also given that the current contents of journaling tables can even be migrated to Flashback Data Archive
  • 32. 32 Ensure transaction context is recorded (and set) exec dbms_flashback_archive.set_context_level(level=> 'ALL'); exec dbms_session.set_identifier('The Creepy User from Finance '); update oow.emp set sal = sal * 1.4 where ename = 'ALLEN' / commit; exec dbms_session.set_identifier('Scary Janitor from the Annex'); update oow.emp set sal = sal * 0.7 where ename = 'MILLER' / commit;
  • 33. 33 Audit the generated history SELECT versions_xid , versions_starttime , empno, ename, sal new_sal , s.client_identifier FROM oow.emp VERSIONS BETWEEN TIMESTAMP minvalue AND maxvalue , sys.sys_fba_context_aud s where versions_xid = s.xid
  • 34. 34 Alternative: retrieve context with dbms_flashback_archive.get_sys_context SELECT versions_xid , versions_starttime , empno, ename, sal new_sal , dbms_flashback_archive.get_sys_context (versions_xid,'USERENV','CLIENT_IDENTIFIER') who FROM emp VERSIONS BETWEEN TIMESTAMP minvalue AND maxvalue
  • 35. Total Recall (2) • Import and export of history – Support for import and export using Data Pump for FDA-enabled tables. Data Pump can now be used to export and import an FDA- enabled base table along with its schema-evolution metadata and historical row versions. • User generated history – Support for importing user-generated history has been added. Customers who have been maintaining history using other mechanisms, such as triggers, can now import that history into Total Recall.
  • 36. 36 Generate History – All actions by SYS create table oow.emp as select * from scott.emp grant execute on dbms_flashback_archive to oow; grant execute on dbms_flashback to oow; CREATE FLASHBACK ARCHIVE DEFAULT one_year TABLESPACE users QUOTA 100M RETENTION 1 YEAR; grant flashback archive on one_year to oow; exec dbms_flashback_archive.create_temp_history_table('OOW', 'EMP'); -- This statement once in a database instance --This will extend mappings to the past so that import of old history can be done. Goes back to 01-JAN-88. EXEC DBMS_FLASHBACK_ARCHIVE.extend_mappings(); --- -- after some history has been created: EXEC DBMS_FLASHBACK_ARCHIVE.IMPORT_HISTORY('oow','EMP');
  • 37. 37 Generate History – Actions by Application • Insert records describing each stage of history that has existed – Including start and end time of historic state insert into temp_history (RID , STARTSCN , ENDSCN , XID, OPERATION ,EMPNO, ename, job, hiredate, sal, deptno ) values (NULL, timestamp_to_scn(to_date('01-04-2001', 'DD-MM-YYYY')), timestamp_to_scn(to_date('01-07-2003', 'DD-MM-YYYY')), NULL, 'I' ,1567,'SELLERS','CLERK',to_date('01-04-2001','DD-MM-YYYY'),2200, 10); insert into temp_history (RID , STARTSCN , ENDSCN , XID, OPERATION ,EMPNO, ename, job, hiredate, sal, deptno) values (NULL, timestamp_to_scn(to_date('01-07-2003', 'DD-MM-YYYY')), timestamp_to_scn(to_date('01-10-2006', 'DD-MM-YYYY')), NULL, 'U' ,1567,'SELLERS','CLERK',to_date('01-04-2001','DD-MM-YYYY'),2200, 20); …
  • 38. 38 Query the generated history select ename , job from emp as of timestamp (sysdate - INTERVAL '10' YEAR) minus select ename , job from emp select ename , job from emp as of timestamp (systimestamp - INTERVAL '3' YEAR) minus select ename , job from emp
  • 39. 39 The Pension Fund Future approach • Flashback Data Archives – Per retention period • Associate relevant tables to FDA • Configure tracking of meta-data – To ensure transaction context is retained • Report batches can be run at any moment against any moment – Using dbms_flashback.enable_at_time • Queries can easily be performed to reproduce a moment in the past • FDA management takes care of deprecated data • Journal tables • Audit columns • DML Journaling Triggers • Batches at the end of the quarter • Complex queries to reconstruct • Logic to exclude deprecated data • batches to purge data
  • 40. 40 Looking into the future… OUR_PRODUCTS NAME PRICE select name, price from our_products
  • 41. 41 Looking further into the future… OUR_PRODUCTS NAME PRICE select name, price from our_products begin DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME ( level => 'ASOF' , query_time => TO_TIMESTAMP('01-10-2018', 'DD-MM-YYYY') ); end;
  • 42. 42 Current situation … OUR_PRODUCTS NAME PRICE select name, price from our_products begin DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME ( level => 'CURRENT' ); end;
  • 43. 43 All data in the table (the default setting) OUR_PRODUCTS NAME PRICE select name, price from our_products begin DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME ( level => 'ALL' ); end;
  • 44. 44 All data in the table (the default setting) OUR_PRODUCTS NAME PRICE select name, price, start_date, end_date from our_products order by start_date START_DATE END_DATE begin DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME ( level => 'ALL' ); end;
  • 45. 45 Part of SQL 2011 standard: Temporal Database
  • 46. Make the database aware of the time based business validity of records • Add timestamp columns indicating start and end of valid time for a record • Specify a PERIOD for the table • Note: – A table can have multiple sets of columns, describing multiple types of validness create table our_products ( name varchar2(100) , price number(7,2) , start_date timestamp , end_date timestamp , PERIOD FOR offer_time (start_date, end_date) );
  • 47. Valid time aware flashback queries • Select all product prices on offer at a certain moment in time • Perform all queries for records that are valid at a certain point in time – past or future • Return all records currently (session time) valid • Return all records (default) SELECT * FROM OUR_PRODUCTS AS OF PERIOD FOR offer_time TO_TIMESTAMP('01-10-2014','DD-MM-YYYY') EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time ( 'ASOF' , TO_TIMESTAMP('01-05-2016','DD-MM-YYYY') ); EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time('CURRENT'); EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_valid_time('ALL');
  • 48. 48 The future of temporal validity Beyond 12.1.0.2 many Temporal Validity enhancements are expected: • Gap and overlap checks • Valid time aware DML • Temporal Primary and Unique Key constraints that allow multiple non- overlapping entries • Temporal referential constraints that take into account the valid-time during which the rows exist. – Child needs to have a valid Master at any time during its own validity • Temporal Aggregation - group or order by valid-time • Normalization - coalescing rows which are in adjacent or overlapping time periods • Temporal joins – joins between tables with valid-time semantics based on ‘simultaneous validity’ • For Information Lifecycle Management (ILM), the Valid Time information is used to assess records to move
  • 49. 49 Summary • Time and History are supported in Oracle Database 12c along two dimensions: – Transaction time – what been the committed state of the database at any point – Business (valid) time – what was, is or will be the relevant data at any point • Flashback is concerned with transaction time. As of 12c: – Available in all editions (no license restrictions) – Includes transaction (session) context at time of commit (whodunnit) – Supports user defined history (as well as import and export) – Flashback Query, Flashback Versions Query, Enable database session at timestamp  Flashback is ready for inclusion in database design and application development • Valid Time Modeling (Temporal Database) is concerned with business validity of data – begin date and end date – Based on SQL 2011 – Low impact use: alter table add (period for …) – Easy querying across time – past, present and future – Next steps are expected in enriching temporal database support (12.2?)