SlideShare a Scribd company logo
1 of 36
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
I KNOW WHAT YOU DID LAST
SUMMER… ( IN MY DATABASE )!
About an Oracle database Journal solution
An Oracle DBA’s “journal story”, in a “devops” (architect?) role,
working agile, in a third-party database environment… 
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
Oracle Platinum Partner
Awarded 19 excellence
awards in 8 years
9 Oracle ACE Directors and 3
ACE Associates
14 offices worldwide
EPROSEED
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
$ WHOAMI
 Marco Gralike
 Principal Consultant
 eProseed SA, NL
 Oracle ACE Director for XMLDB / JSON / DBIM
 marco.gralike@eproseed.com
 Database Beta Test Lead since DB 11.1.0.6
 Database Administrator since DB 6.
 Personal website
 www.xmldb.nl
 www.gralike.com
4
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
WHERE HAVE I BEEN…?
• Daytime:
– Worldwide customers
– eProseed internal environments
• Nighttime:
– If “No Cloud” stuff tonight, then…!
5
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
TRANSPLANT ORGANIZATION
6
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
EVERYONE IS GOING TO DIE, EVENTUALLY…
8
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GOAL FOR THE PROJECT
Rebuilding an old Oracle forms environment (Designer based) into a new
Oracle SOA environment using microservices architecture.
• Limited Licenses (Government org.)
• Easy maintained
• 3 years build (replacing donor, transplant, allocation, matching forms)
• Supporting journaling
– audit on placing, statistics, correct matching
9
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
CONTINUOUS INTEGRATION
10
Developer
Workstation
IDE
Build
(Local)
Code
Review
Crucible
(optional)
SonarQube
Testing
TestLink
or
Zephire
Repository
Management
Nexus
Issue
Tracking
System
JIRA
Version
Control
System
Bitbucket
Continuous
Integration
Bamboo
External
Repositories
Apache
Central
Oracle
Maven
Application
Servers
JEE
Specific
scripts
Documentation
Confluence
CI Agent
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
DATABASE RELATED
1. User creates SQL or PL/SQL code and drops it in GIT repo
2. Bamboo orchestrates merge and delivers new deployment scripts of all, but also DB
code
3. Via database customer PL/SQL procedure, the scripts are executed in correct order
a) VERSION table is maintained per schema at beginning of execution
b) {…my setup is executed}
c) End of customer procedure
4. Bamboo acts on result
11
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
ARCHITECTURE GOALS - JOURNAL
• Replacing self build journal environment
• Keeping track on all transactions
– Being able to travel back in time (across / in context of table relations)
– What:
• DML (update, insert, delete) / DDL (alter)
– Who / Where & How:
• Hardware and software info, application info, session info, etc.
• KISS
• C.I. supported solution
12
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
OLD JOURNAL ENVIRONMENT
• Approximately 620 tables
• 261 of these are “journal” tables ( *_JN )
• These are populated, maintained via triggers on the original table
13
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
• Production Database
– Single instance
– 12cR2
– Retention time 2 years
– Micro Service application backend
• Content store / BI database
– Single instance
– 12cR2
– Retention time indefinite (def. by law?)
– Audit / checking / reporting
14
TECHNICAL - SETUP 12C DATABASE
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
• ODA machine
• Single Instance 12cR2
• Third party maintained
• Development done by
– Customer & eProseed
15
LOGISTICAL - SETUP 12C DATABASE
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK!
• The WHAT
– Oracle 9i Flashback Query functionality
• The WHO/WHERE/HOW
– Oracle 12cR1 new feature functionality
User Context Tracking
Export, Import Table history
Database Hardening / Application Packaging
FDA Optimization (Compression)
16
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK!
• The WHAT
– Oracle 9i Flashback Query functionality
• The WHO/WHERE/HOW
– Oracle 12cR1 new feature functionality
User Context Tracking
Export, Import Table history
Database Hardening / Application Packaging
FDA Optimization (Compression)  additional license (Adv. Compression)
17
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK!
• The WHAT
– Oracle 9i Flashback Query functionality
• The WHO/WHERE/HOW
– Oracle 12cR1 new feature functionality
User Context Tracking
Export, Import Table history (Oracle 12c manual note)
Database Hardening / Application Packaging
18
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK!
• The WHAT
– Oracle 9i Flashback Query functionality
• The WHO/WHERE/HOW
– Oracle 12cR1 new feature functionality
User Context Tracking
Database Hardening / Application Packaging
Not really easy implementing via Continuous Integration supporting
KISS?
Lacking decent documentation
Not really needed, more a nice to have for the future
Instable / strange results?
19
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK!
User Context Tracking
 Bare essentials what we needed anyway
 “Missing” views (dba_* | user_* | cdb_*)
 …like “which tablespace with which flashback archive with which flashback
application name…”
 What to do with multiple flashback archive methods regarding retention times (and
respective flashback different flashback tablespaces)
Grants for SYS base tables and PL/SQL…
20
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
DEMO’S ON THE WEB ALWAYS SUCCEED
WITH THE TEST USER AND DBA ROLE…
21
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
PRIVS – SO FAR…
-- Flashback management / journaling related GRANT SELECT ON sys.dba_sys_privs TO CORE_ADMIN;GRANT SELECT ON
sys.dba_role_privs TO CORE_ADMIN;GRANT SELECT ON sys.dba_objects TO CORE_ADMIN;GRANT SELECT ON
sys.dba_users TO CORE_ADMIN;GRANT SELECT ON sys.dba_ts_quotas TO CORE_ADMIN;GRANT SELECT ON
sys.dba_flashback_archive_ts TO CORE_ADMIN;GRANT SELECT ON sys.sys_fba_app TO CORE_ADMIN;GRANT SELECT
ON sys.sys_fba_app_tables TO CORE_ADMIN;GRANT SELECT ON sys_fba_fa TO CORE_ADMIN;GRANT SELECT ON
sys_fba_barrierscn TO CORE_ADMIN;GRANT SELECT ON sys_fba_cols TO CORE_ADMIN;GRANT SELECT ON
sys_fba_context TO CORE_ADMIN;GRANT SELECT ON sys_fba_context_aud TO CORE_ADMIN;GRANT SELECT ON
sys_fba_context_list TO CORE_ADMIN;GRANT SELECT ON sys_fba_dl TO CORE_ADMIN;GRANT SELECT ON
sys_fba_partitions TO CORE_ADMIN;GRANT SELECT ON sys_fba_period TO CORE_ADMIN;GRANT SELECT ON
sys_fba_trackedtables TO CORE_ADMIN;GRANT SELECT ON sys_fba_tsfa TO CORE_ADMIN;GRANT SELECT ON
sys_fba_users TO CORE_ADMIN;GRANT SELECT ON sys_mfba_nchange TO CORE_ADMIN;GRANT SELECT ON
sys_mfba_nrow TO CORE_ADMIN;GRANT SELECT ON sys_mfba_ntcrv TO CORE_ADMIN;GRANT SELECT ON
sys_mfba_stage_rid TO CORE_ADMIN;GRANT SELECT ON sys_mfba_tracked_txn TO CORE_ADMIN;GRANT SELECT ON
fba_config_tables TO CORE_ADMIN; -- Needed for user/process FBA auditing w/PLSQL GRANT EXECUTE ON
dbms_session to CORE_ADMIN;GRANT EXECUTE ON dbms_session to RECIPIENT;GRANT EXECUTE ON dbms_session to
ALLOCATION;GRANT EXECUTE ON dbms_session to BACKBONE;GRANT EXECUTE ON dbms_session to DWH;
22
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
ROLES…
-- Flashback management / journaling related
GRANT FLASHBACK ARCHIVE ON FLASHBACK_DEFAULT TO CORE_ADMIN;
GRANT FLASHBACK ARCHIVE ADMINISTER TO CORE_ADMIN;
GRANT EXECUTE ON DBMS_FLASHBACK_ARCHIVE TO CORE_ADMIN;
GRANT CREATE ANY CONTEXT TO CORE_ADMIN;
23
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
WHAT WILL HAPPEN…?
• USER HAS THE PRIVILEGES TO PUT HIS
OWN TABLE IN FLASHBACK ARCHIVE MODE
• USER HAS NO QUOTA ON THE FLASHBACK
ARCHIVE TABLESPACE
SQL> alter table country flashback archive;
24
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
WHAT WILL HAPPEN…?
• USER HAS THE PRIVILEGES TO PUT HIS
OWN TABLE IN FLASHBACK ARCHIVE MODE
• USER HAS NO QUOTA ON THE FLASHBACK
ARCHIVE TABLESPACE
SQL> alter table country flashback archive;
Table BACKBONE.COUNTRY altered.
25
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
WHAT WILL HAPPEN…?
• USER HAS THE PRIVILEGES TO PUT HIS
OWN TABLE IN FLASHBACK ARCHIVE MODE
• USER HAS NO QUOTA ON THE FLASHBACK
ARCHIVE TABLESPACE
SQL> alter table country flashback archive;
Table BACKBONE.COUNTRY altered.
UNDO TABLESPACE WILL RUN OUT OF SPACE
DATABASE WILL BE STALLED FOR ALL
26
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
27
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
28
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
BUILDING YOUR OWN
• ONE central package
– That’s why I needed so many sys related privileges
– Build-in instrumentation (thanks to “logger”)
– Avoiding the mentioned issues
– Still a bit hardcoding in it
– Makes use of its own “meta data config table”
– Hoping for Oracle solutions, “version conditioning compilation” setup
• Executed by an ADMIN user (nobody else)
– Enabling all or nothing for every schema part of the application
– Can be used in the Continuous Integration setup
– Makes use of the VERSION table of the customer
• [TABLE_NAME]_LOG views created (scripted) with Flashback Archive Query build-in
29
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
SPECIAL THANKS TO…
• Stefan Oehrli, Trivadis AG
– Great query to find people with UNLIMITED TABLESPACE system privilege or QUOTA on TABLESPACE
• Martin Giffy D'Souza et. All
– Maintaining a great PL/SQL logger debugging, instrumentation, timing and logging framework in
PL/SQL.
– YouTube video
• Tim Hall
30
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
HTTPS://GITHUB.COM/ORAOPENSOURCE/LOGGER
31
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
32
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
33
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
FEATURE ENHANCEMENTS TO ORACLE
• Do something about the quota tablespace issue
• Do something about the missing views
• Do something about “The audit issue”
 “The audit issue”
A user always can disable his enabled flashback table (because its his/her
own table)… If done so, “lags” will be introduced in history timeline.
• BUGS: Have to report CDB.PDB issue (when cause found)
• ToDo: Create dynamically new Flackback Archive views
34
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
FINAL THOUGHTS
• Simple KISS end solution
• Hopefully the 12.1 new features will be improved
• There went more work into building it, than I hoped for…
• You shouldn’t use it for AUDIT purposes.
35
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential
REFERENCES
• Tim Hall
– https://oracle-base.com/articles/12c/flashback-data-archive-fda-enhancements-12cr1
• DBI Services
– https://blog.dbi-services.com/oracle-database-12c-flashback-data-archive-fda-new-features/
• Oracle Documentation
– https://docs.oracle.com/database/121/ADFNS/adfns_flashback.htm#ADFNS1008
36
Oracle Database Journal Solution

More Related Content

Similar to Oracle Database Journal Solution

Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...
Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...
Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...avanttic Consultoría Tecnológica
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsAndrew Morgan
 
Oh2 opportunity for_smart_db
Oh2 opportunity for_smart_dbOh2 opportunity for_smart_db
Oh2 opportunity for_smart_dbToon Koppelaars
 
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!Miguel Araújo
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service PortalKellyn Pot'Vin-Gorman
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ssAnil Nair
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...Dave Stokes
 
Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube
 Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube
Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nubeavanttic Consultoría Tecnológica
 
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014Joelith
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
 

Similar to Oracle Database Journal Solution (20)

Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...
Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...
Meetup Oracle Database: 3 Analizar, Aconsejar, Automatizar… las nuevas funcio...
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
Session 203 iouc summit database
Session 203 iouc summit databaseSession 203 iouc summit database
Session 203 iouc summit database
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
 
Oh2 opportunity for_smart_db
Oh2 opportunity for_smart_dbOh2 opportunity for_smart_db
Oh2 opportunity for_smart_db
 
Apouc 2014-enterprise-manager-12c
Apouc 2014-enterprise-manager-12cApouc 2014-enterprise-manager-12c
Apouc 2014-enterprise-manager-12c
 
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service Portal
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 
Rohit_Panot
Rohit_PanotRohit_Panot
Rohit_Panot
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
MySQL Quick Dive
MySQL Quick DiveMySQL Quick Dive
MySQL Quick Dive
 
ODTUG Webinar AWR Warehouse
ODTUG Webinar AWR WarehouseODTUG Webinar AWR Warehouse
ODTUG Webinar AWR Warehouse
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ss
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
 
Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube
 Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube
Meetup Oracle Database MAD_BCN: 1.1 Servicios de Oracle Database en la nube
 
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 

More from Marco Gralike

eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudMarco Gralike
 
Oracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseOracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseMarco Gralike
 
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIUKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIMarco Gralike
 
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...Marco Gralike
 
UKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseUKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseMarco Gralike
 
UKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
UKOUG Tech14 - Using Database In-Memory Column Store with Complex DatatypesUKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
UKOUG Tech14 - Using Database In-Memory Column Store with Complex DatatypesMarco Gralike
 
Ordina Oracle Open World
Ordina Oracle Open WorldOrdina Oracle Open World
Ordina Oracle Open WorldMarco Gralike
 
Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Marco Gralike
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xMarco Gralike
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3Marco Gralike
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataMarco Gralike
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
 
Flexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenFlexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenMarco Gralike
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataMarco Gralike
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesMarco Gralike
 
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverMarco Gralike
 
BGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesBGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesMarco Gralike
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performMarco Gralike
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLMarco Gralike
 
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File ServerUKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File ServerMarco Gralike
 

More from Marco Gralike (20)

eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
 
Oracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseOracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory Database
 
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIUKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
 
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
 
UKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseUKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the Database
 
UKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
UKOUG Tech14 - Using Database In-Memory Column Store with Complex DatatypesUKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
UKOUG Tech14 - Using Database In-Memory Column Store with Complex Datatypes
 
Ordina Oracle Open World
Ordina Oracle Open WorldOrdina Oracle Open World
Ordina Oracle Open World
 
Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
Flexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenFlexibiliteit & Snel Schakelen
Flexibiliteit & Snel Schakelen
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured Data
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
 
BGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesBGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index Strategies
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will perform
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XML
 
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File ServerUKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
UKOUG 2011 - Drag, Drop and other Stuff. Using your Database as a File Server
 

Recently uploaded

Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...marjmae69
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !risocarla2016
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.KathleenAnnCordero2
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGYpruthirajnayak525
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationNathan Young
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...漢銘 謝
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comsaastr
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 

Recently uploaded (20)

Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 

Oracle Database Journal Solution

  • 1.
  • 2. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential I KNOW WHAT YOU DID LAST SUMMER… ( IN MY DATABASE )! About an Oracle database Journal solution An Oracle DBA’s “journal story”, in a “devops” (architect?) role, working agile, in a third-party database environment… 
  • 3. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential Oracle Platinum Partner Awarded 19 excellence awards in 8 years 9 Oracle ACE Directors and 3 ACE Associates 14 offices worldwide EPROSEED
  • 4. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential $ WHOAMI  Marco Gralike  Principal Consultant  eProseed SA, NL  Oracle ACE Director for XMLDB / JSON / DBIM  marco.gralike@eproseed.com  Database Beta Test Lead since DB 11.1.0.6  Database Administrator since DB 6.  Personal website  www.xmldb.nl  www.gralike.com 4
  • 5. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential WHERE HAVE I BEEN…? • Daytime: – Worldwide customers – eProseed internal environments • Nighttime: – If “No Cloud” stuff tonight, then…! 5
  • 6. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential TRANSPLANT ORGANIZATION 6
  • 7. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential EVERYONE IS GOING TO DIE, EVENTUALLY… 8
  • 8. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GOAL FOR THE PROJECT Rebuilding an old Oracle forms environment (Designer based) into a new Oracle SOA environment using microservices architecture. • Limited Licenses (Government org.) • Easy maintained • 3 years build (replacing donor, transplant, allocation, matching forms) • Supporting journaling – audit on placing, statistics, correct matching 9
  • 9. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential CONTINUOUS INTEGRATION 10 Developer Workstation IDE Build (Local) Code Review Crucible (optional) SonarQube Testing TestLink or Zephire Repository Management Nexus Issue Tracking System JIRA Version Control System Bitbucket Continuous Integration Bamboo External Repositories Apache Central Oracle Maven Application Servers JEE Specific scripts Documentation Confluence CI Agent
  • 10. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential DATABASE RELATED 1. User creates SQL or PL/SQL code and drops it in GIT repo 2. Bamboo orchestrates merge and delivers new deployment scripts of all, but also DB code 3. Via database customer PL/SQL procedure, the scripts are executed in correct order a) VERSION table is maintained per schema at beginning of execution b) {…my setup is executed} c) End of customer procedure 4. Bamboo acts on result 11
  • 11. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential ARCHITECTURE GOALS - JOURNAL • Replacing self build journal environment • Keeping track on all transactions – Being able to travel back in time (across / in context of table relations) – What: • DML (update, insert, delete) / DDL (alter) – Who / Where & How: • Hardware and software info, application info, session info, etc. • KISS • C.I. supported solution 12
  • 12. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential OLD JOURNAL ENVIRONMENT • Approximately 620 tables • 261 of these are “journal” tables ( *_JN ) • These are populated, maintained via triggers on the original table 13
  • 13. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential • Production Database – Single instance – 12cR2 – Retention time 2 years – Micro Service application backend • Content store / BI database – Single instance – 12cR2 – Retention time indefinite (def. by law?) – Audit / checking / reporting 14 TECHNICAL - SETUP 12C DATABASE
  • 14. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential • ODA machine • Single Instance 12cR2 • Third party maintained • Development done by – Customer & eProseed 15 LOGISTICAL - SETUP 12C DATABASE
  • 15. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK! • The WHAT – Oracle 9i Flashback Query functionality • The WHO/WHERE/HOW – Oracle 12cR1 new feature functionality User Context Tracking Export, Import Table history Database Hardening / Application Packaging FDA Optimization (Compression) 16
  • 16. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK! • The WHAT – Oracle 9i Flashback Query functionality • The WHO/WHERE/HOW – Oracle 12cR1 new feature functionality User Context Tracking Export, Import Table history Database Hardening / Application Packaging FDA Optimization (Compression)  additional license (Adv. Compression) 17
  • 17. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK! • The WHAT – Oracle 9i Flashback Query functionality • The WHO/WHERE/HOW – Oracle 12cR1 new feature functionality User Context Tracking Export, Import Table history (Oracle 12c manual note) Database Hardening / Application Packaging 18
  • 18. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK! • The WHAT – Oracle 9i Flashback Query functionality • The WHO/WHERE/HOW – Oracle 12cR1 new feature functionality User Context Tracking Database Hardening / Application Packaging Not really easy implementing via Continuous Integration supporting KISS? Lacking decent documentation Not really needed, more a nice to have for the future Instable / strange results? 19
  • 19. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential GREAT – NEW FEATURES ORACLE 12.1 FLASHBACK! User Context Tracking  Bare essentials what we needed anyway  “Missing” views (dba_* | user_* | cdb_*)  …like “which tablespace with which flashback archive with which flashback application name…”  What to do with multiple flashback archive methods regarding retention times (and respective flashback different flashback tablespaces) Grants for SYS base tables and PL/SQL… 20
  • 20. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential DEMO’S ON THE WEB ALWAYS SUCCEED WITH THE TEST USER AND DBA ROLE… 21
  • 21. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential PRIVS – SO FAR… -- Flashback management / journaling related GRANT SELECT ON sys.dba_sys_privs TO CORE_ADMIN;GRANT SELECT ON sys.dba_role_privs TO CORE_ADMIN;GRANT SELECT ON sys.dba_objects TO CORE_ADMIN;GRANT SELECT ON sys.dba_users TO CORE_ADMIN;GRANT SELECT ON sys.dba_ts_quotas TO CORE_ADMIN;GRANT SELECT ON sys.dba_flashback_archive_ts TO CORE_ADMIN;GRANT SELECT ON sys.sys_fba_app TO CORE_ADMIN;GRANT SELECT ON sys.sys_fba_app_tables TO CORE_ADMIN;GRANT SELECT ON sys_fba_fa TO CORE_ADMIN;GRANT SELECT ON sys_fba_barrierscn TO CORE_ADMIN;GRANT SELECT ON sys_fba_cols TO CORE_ADMIN;GRANT SELECT ON sys_fba_context TO CORE_ADMIN;GRANT SELECT ON sys_fba_context_aud TO CORE_ADMIN;GRANT SELECT ON sys_fba_context_list TO CORE_ADMIN;GRANT SELECT ON sys_fba_dl TO CORE_ADMIN;GRANT SELECT ON sys_fba_partitions TO CORE_ADMIN;GRANT SELECT ON sys_fba_period TO CORE_ADMIN;GRANT SELECT ON sys_fba_trackedtables TO CORE_ADMIN;GRANT SELECT ON sys_fba_tsfa TO CORE_ADMIN;GRANT SELECT ON sys_fba_users TO CORE_ADMIN;GRANT SELECT ON sys_mfba_nchange TO CORE_ADMIN;GRANT SELECT ON sys_mfba_nrow TO CORE_ADMIN;GRANT SELECT ON sys_mfba_ntcrv TO CORE_ADMIN;GRANT SELECT ON sys_mfba_stage_rid TO CORE_ADMIN;GRANT SELECT ON sys_mfba_tracked_txn TO CORE_ADMIN;GRANT SELECT ON fba_config_tables TO CORE_ADMIN; -- Needed for user/process FBA auditing w/PLSQL GRANT EXECUTE ON dbms_session to CORE_ADMIN;GRANT EXECUTE ON dbms_session to RECIPIENT;GRANT EXECUTE ON dbms_session to ALLOCATION;GRANT EXECUTE ON dbms_session to BACKBONE;GRANT EXECUTE ON dbms_session to DWH; 22
  • 22. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential ROLES… -- Flashback management / journaling related GRANT FLASHBACK ARCHIVE ON FLASHBACK_DEFAULT TO CORE_ADMIN; GRANT FLASHBACK ARCHIVE ADMINISTER TO CORE_ADMIN; GRANT EXECUTE ON DBMS_FLASHBACK_ARCHIVE TO CORE_ADMIN; GRANT CREATE ANY CONTEXT TO CORE_ADMIN; 23
  • 23. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential WHAT WILL HAPPEN…? • USER HAS THE PRIVILEGES TO PUT HIS OWN TABLE IN FLASHBACK ARCHIVE MODE • USER HAS NO QUOTA ON THE FLASHBACK ARCHIVE TABLESPACE SQL> alter table country flashback archive; 24
  • 24. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential WHAT WILL HAPPEN…? • USER HAS THE PRIVILEGES TO PUT HIS OWN TABLE IN FLASHBACK ARCHIVE MODE • USER HAS NO QUOTA ON THE FLASHBACK ARCHIVE TABLESPACE SQL> alter table country flashback archive; Table BACKBONE.COUNTRY altered. 25
  • 25. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential WHAT WILL HAPPEN…? • USER HAS THE PRIVILEGES TO PUT HIS OWN TABLE IN FLASHBACK ARCHIVE MODE • USER HAS NO QUOTA ON THE FLASHBACK ARCHIVE TABLESPACE SQL> alter table country flashback archive; Table BACKBONE.COUNTRY altered. UNDO TABLESPACE WILL RUN OUT OF SPACE DATABASE WILL BE STALLED FOR ALL 26
  • 26. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential 27
  • 27. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential 28
  • 28. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential BUILDING YOUR OWN • ONE central package – That’s why I needed so many sys related privileges – Build-in instrumentation (thanks to “logger”) – Avoiding the mentioned issues – Still a bit hardcoding in it – Makes use of its own “meta data config table” – Hoping for Oracle solutions, “version conditioning compilation” setup • Executed by an ADMIN user (nobody else) – Enabling all or nothing for every schema part of the application – Can be used in the Continuous Integration setup – Makes use of the VERSION table of the customer • [TABLE_NAME]_LOG views created (scripted) with Flashback Archive Query build-in 29
  • 29. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential SPECIAL THANKS TO… • Stefan Oehrli, Trivadis AG – Great query to find people with UNLIMITED TABLESPACE system privilege or QUOTA on TABLESPACE • Martin Giffy D'Souza et. All – Maintaining a great PL/SQL logger debugging, instrumentation, timing and logging framework in PL/SQL. – YouTube video • Tim Hall 30
  • 30. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential HTTPS://GITHUB.COM/ORAOPENSOURCE/LOGGER 31
  • 31. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential 32
  • 32. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential 33
  • 33. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential FEATURE ENHANCEMENTS TO ORACLE • Do something about the quota tablespace issue • Do something about the missing views • Do something about “The audit issue”  “The audit issue” A user always can disable his enabled flashback table (because its his/her own table)… If done so, “lags” will be introduced in history timeline. • BUGS: Have to report CDB.PDB issue (when cause found) • ToDo: Create dynamically new Flackback Archive views 34
  • 34. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential FINAL THOUGHTS • Simple KISS end solution • Hopefully the 12.1 new features will be improved • There went more work into building it, than I hoped for… • You shouldn’t use it for AUDIT purposes. 35
  • 35. Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Confidential REFERENCES • Tim Hall – https://oracle-base.com/articles/12c/flashback-data-archive-fda-enhancements-12cr1 • DBI Services – https://blog.dbi-services.com/oracle-database-12c-flashback-data-archive-fda-new-features/ • Oracle Documentation – https://docs.oracle.com/database/121/ADFNS/adfns_flashback.htm#ADFNS1008 36