Deploying ODI 11g in the Enterprise
Mark Rittman, Technical Director, Rittman Mead
BIWA Summit 2013, San Francisco, January 2013

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
About the Speaker

• Mark Rittman, Co-Founder of Rittman Mead
• Oracle ACE Director, specialising in Oracle BI&DW
• 14 Years Experience with Oracle Technology
• Regular columnist for Oracle Magazine
• Author of two Oracle Press Oracle BI books
• Oracle Business Intelligence Developers Guide
• Oracle Exalytics Revealed
• Writer for Rittman Mead Blog :
  http://www.rittmanmead.com/blog
• Email : mark.rittman@rittmanmead.com
• Twitter : @markrittman


 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
About Rittman Mead

• Oracle BI and DW platinum partner
• World leading specialist partner for technical excellence, solutions delivery and innovation in Oracle BI
• Approximately 50 consultants worldwide
• All expert in Oracle BI and DW
• Offices in US (Atlanta), Europe, Australia and India
• Skills in broad range of supporting Oracle tools:
  ‣   OBIEE
  ‣   OBIA
  ‣   ODIEE
  ‣   Essbase, Oracle OLAP
  ‣   GoldenGate
  ‣   Exadata
  ‣   Endeca



 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Data Integrator 11g

• Oracle’s strategic data integration tool, originally came via the Sunopsis acquisition (2006)
• Java architecture, part of the wider Oracle Data Integration Suite, and Oracle Fusion Middleware
• Heterogenous database and source/target support
• Long-term successor to OWB,
  most common ETL tool on new projects now
• Commonly used alongside OBIEE, Essbase
 and Oracle RDBMS for BI/DW projects




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Data Integrator 11g Key Features

• Same philosophy as OWB and Oracle RDBMS – DB as the ETL engine
• Declarative design - separates logic from implementation
    ‣ Business rules define what goes where,
      and using which transformation rules
    ‣ Technical implementation defines
      how data is moved
•   Built for SOA environments
    ‣ Support for Web Services, EII etc
•   Supports batch, event-based and real-time integration
•   Extensible through “Knowledge Modules”
    ‣ Change Data Capture
    ‣ Slowly Changing Dimensions
    ‣ Bulk load
•   Java client application with server elements (“agents”)

    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Part of the Wider Oracle Data Integration Suite

• Oracle Data Integrator for large-scale data integration across heterogenous sources and targets
• Oracle GoldenGate for heterogeneous data replication and changed data capture
• Oracle Enterprise Data Quality for data profiling and cleansing
• Oracle Data Services Integrator
 for SOA message-based
 data federation




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Part of Oracle Fusion Middleware 11g

• Oracle complete set of middleware servers and technologies
• Based around Java, SOA, Oracle WebLogic Server and non-Java technologies
• Foundation for Oracle’s applications and platforms such as Oracle Fusion Applications




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Deploying ODI within an Enterprise

• As ODI becomes more mainstream, and data integration more mission-critical, ODI needed to evolve
• Data warehousing and BI projects don’t just access (Oracle) relational sources and targets any more
• Data quality requires more thought than just ad-hoc corrections and filtering
• ODI needs to participate in modern software development techniques such as “continuous integration”
• It’s no longer acceptable for ODI jobs to fail, and be unavailable all day or weekend
• The stakes are raised - can ODI deliver?




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Loading More than a Data Warehouse, Accessing More than Oracle RDBMS

• Most of us know ODI through its ability to load Oracle data warehouses
• Data typically sourced from Oracle databases, files, maybe the odd non-Oracle RBDMS source
• Enterprises now work with many and varied data sources and applications, such as
  ‣ Multidimensional servers such as Oracle Essbase, and associated EPM apps
  ‣ XML sources, and JMS queues
  ‣ SOA environments, using messaging
    and service buses, typically in real-time
  ‣ More recently - big data sources such as
    Hadoop clusters, NoSQL databases




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Working with Essbase data, and Hyperion Planning

• ODI11g is the strategic, long-term DI tool for Essbase
  and associated EPM applications
• IKMs and LKMs for loading, and extracting from,
  Essbase databases and EPM metadata stores
• Data models for Essbase databases represented as tables,
  columns, the same as with other data sourcres
• Data loads via rules files, Essbase / Planning / HFM APIs
• However ... not really Essbase native, learning curve for admins
• Good sources of ODI + Essbase/EPM Suite information:
  ‣ http://john-goodwin.blogspot.co.uk
  ‣ Cameron Lackpour OOW2012 Presentation
    “Slay the Bad Data in Essbase with ODI”
    http://tinyurl.com/lackpour-odi
  ‣ Rittman Mead Blog

 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Support for SOA Environments, and Messaging

• ODI has technology adapters and features for many SOA, queue and messaging-type technologies
  ‣ JMS Queue, JMS Topic (plain message or XML), SOAP messages via Web Services etc
• Main role for ODI in SOA enviroments is bulk-data movement, invoked by web service calls
  ‣ Regular inter-service messaging for low volume, switching to ODI for high-volume
• Web services provided by runtime agents
    ‣ Start, monitor, stop and restart scenarios
    ‣ Start, monitor, stop and restart load pans
•   Public introspection web service
    ‣ List contexts
    ‣ List scenarios
    ‣ Requires deployment in Java EE container
•   Call from BPEL or any other standard process




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Example: ODI 11g for Bulk Data Handling in an Orders Process




           1.Large file arrives, detected by BPEL file                          5.   ODI transforms payload
           2.Execution starts (BPEL / ESB) - and a step for                     6.   ODI sends payload wherever instructed
             transforming a large document payload occurs                       7.   ODI notifies BPEL / ESB that job has completed
           3.Pass XML payload, by reference, to ODI                             8.   Core BPEL / ESB processing completes
           4.ODI loads payload
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Data Services Integrator - A Data Federation Alternative to ODI in SOA

• ODI is essentially a batch-orientated DI tool, though batches can be micro-batches (and event-driven)
• ODI moves and transforms data, loading it into a central, integrated location
• In some cases though, you may wish to take a different approach
    ‣ Data federation vs. integration - read and transform data in-place
    ‣ Data read and integrated on-demand, as a service
•   Approach could be preferable for many reasons
    ‣ Security rules don’t allow data to be replicated
    ‣ Development is dynamic, sources frequently
      added or changed
    ‣ Data volumes don’t warrant a full ETL solution
    ‣ Data format is inherently nested and
      does not easily map onto relational model




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
ODI, ODSI, Golden Gate and OEDQ in a SOA Environment




T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Big Data, Hadoop and Unstructured Data Sources

• “Big data” is the hot topic in BI, DW and Analytics circles
• The ability to harness vast datasets, at a highly-granular level, by harnessing massively-parallel computing
• Crunching loosely-structured and modelled datasets using simple algorithms: Map (project) + Reduce (agg)
• Largely based around open-source projects, non-relational technologies
    ‣ Apache Hadoop
    ‣ MapReduce
    ‣ Hadoop Distributed File System
    ‣ Apache Hive, Sqoop, HBase etc
•   Emerging commercial vendors
    ‣ Cloudera

•
    ‣ Hortonworks etc
    Can be used standalone, or linked to an
    enterprise DW/BI architecture
                                                                                    +
    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
ODI as Part of Oracle’s Big Data Strategy

• ODI is the data integration tool for extracting data from Hadoop/MapReduce, and loading
  into Oracle Big Data Appliance, Oracle Exadata and Oracle Exalytics
• Oracle Application Adaptor for Hadoop provides required data adapters
    ‣ Load data into Hadoop from local filesystem,
      or HDFS (Hadoop clustered FS)
    ‣ Read data from Hadoop/MapReduce using
      Apache Hive (JDBC) and HiveQL, load
      into Oracle RDBMS using
      Oracle Loader for Hadoop
•   Supported by Oracle’s Engineered Systems
    ‣ Exadata
    ‣ Exalytics
    ‣ Big Data Appliance (w/Cloudera Hadoop Distrib)




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
How ODI Accesses Hadoop and MapReduce

• ODI accesses data in Hadoop clusters through Apache Hive
    ‣ Metadata and query layer over MapReduce
    ‣ Provides SQL-like language (HiveQL) and a
      metadata store (data dictionary)
    ‣ Provides a means to define “tables”, into which file                          Hadoop Cluster
      data is loaded, and then queried via MapReduce
    ‣ Accessed via Hive JDBC driver                                                 MapReduce
      (separate Hadoop install required
      on ODI server, for client libs)                                               Hive Server
•   Additional access through
    Oracle Direct Connector for HDFS                                                   HiveQL
    and Oracle Loader for Hadoop
                                                                                                          Oracle RDBMS
                                                                                    ODI 11g          Direct-path loads using
                                                                                                     Oracle Loader for Hadoop,
                                                                                                     transformation logic in
                                                                                                     MapReduce

    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Running a MapReduce / Hive Job in ODI

• Data is extracted and loaded using regular interfaces
• LKMs and IKMs generate HiveQL queries
• Functionally identical to RDBMS access/loading




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Loader for Hadoop

• Oracle technology for accessing Hadoop data, and loading it into an Oracle database
• Pushes data transformation, “heavy lifting” to the Hadoop cluster, using MapReduce
• Direct-path loads into Oracle Database, partitioned and non-partitioned
• Online and offline loads
• Key technology for fast load of
 Hadoop results into Oracle DB




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Profiling Data, and Managing Data Quality Issues

• ODI has built-in capabilities for defining data rules, data firewalls
  ‣ Static controls, Flow controls, constraints etc
• But what if you don’t know what issues your data actually has?
• What if you need to profile, deduplicate, merge or otherwise manage your data?
• This is almost a topic in itself...




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Enterprise Data Quality

• Data profiling, auditing and cleansing based on the industry-leading Datanomic platform
• Integration with Oracle Data Integrator for a complex data management solution




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle EDQ Features Relevant to ODI 11g

• Ability to profile data from many sources
  (file, RDBMS, JDNI, XML, MS Office)
• Create data quality cases, track and assign to owner
• Cleanse, transform, parse and match incoming data
  via a palette of operators (processors)
• Batch or real-time operation
• All-Java architecture, thin-client and
  runs in WebLogic Server
• Replaces previous Trillium-based OEM solution
 (but extra-cost option, as was Trillium solution)




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
ODI 11g Integration with Oracle EDQ

• Limited integration at present, but Datanomic only just acquired
• Can run in same WLS domain, environment
• EDQ result schema can be on same DB as ODI staging area
• EDQ processes can be executed from ODI package or load plan
 using EDQ Open Tool




                                                                                 Connection details to EDQ
                                                                                 Server, and details of job




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Participation in Large-Scale Enterprise Projects, and “DevOps”

• As ODI and data integration becomes more integral to enterprises, expectations rise
• ODI project elements, and executable code, needs to
  go into source control
• Build systems need to be able to include ODI functionality
  in their releases
• Development Operations (“DevOps”) systems need
  to be able to spin-up ODI environments automatically
• Ideas such as “continuous integration” and “smoke testing”
  can also apply to ODI projects
• ODI topologies need to be flexible enough to
 deal with DEV/PROD network & responsibility separations




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Typical ODI Repository Topology : DEV, TEST and PROD

• Typical enterprise customers deploy all non-PROD environments
  on their own network, isolated from the main production systems
• This stops you having a single master repository for
  all ODI work repositories
• Good practice is to have all non-DEV environments use
    execution work repositories
    ‣ Only allows load plans and scenarios to be imported
    ‣ Can only run existing code, not alter or change code
•   Challenge is how you deploy code without DEV assistance
    ‣ Requires command-line tools
    ‣ Requires scripting
    ‣ Requires an API?




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Accessing ODI 11g Admin Features from the Command-Line

• ODI’s admin functions are available through ODI Tools
    ‣ Run from the command-line, from an ODI procedure, or other methods
    ‣ Scriptable using the startcmd.bat|sh utility
    ‣ Run from the agent home directory, connects to
      master and work repositories
•   The key to automating the deployment and administration
    of ODI projects and environments



                                                        cd c:oracleproduct11.1.1Oracle_ODI_2oraclediagentbin

                                                        startcmd.bat OdiImportObject -FILE_NAME=c:Test_Build_Files
                                                        SCEN_LOAD_PROD_DIM_Version_001.xml -WORK_REP_NAME=PROD_EXECREP 
                                                        -IMPORT_MODE=INSERT_UPDATE



    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Continuous Integration and “Smoke Testing” using ODI

• For complex, multi-developer projects, continuous integration is a good practice
• Continously taking shipped code and testing it in a “smoke test” environment                       Security

                                                                                                    Topology

  ‣ Identifies changes that “break the build” early                                                 Versioning

  ‣ Use a suite of regression tests that run the code                                             DEV/TEST

    with optimal coverage, end-to-end ETL runs                                                  Master Repository


  ‣ Gives you confidence that a release shipped into test
    will actually compile, deploy and pass functional tests                          Models


  ‣ Enables more agile development, through having a robust
                                                                                    Projects                     Execution         Execution
                                                                                    Execution

    build and regression testing process that welcomes change
                                                                                      DEV                 CI / SMOKE TEST           TEST
                                                                                  Development                  Execution          Execution
                                                                                 Work Repository           Work Repository      Work Repository



                                                                                                           Regression Test #1

                                                                                                           Regression Test #2

                                                                                                           Regression Test #n




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using Jenkins and OdiImportObject Tool for Continuous Integration

• Jenkins is an open-source build automation and continuous integration tool
• Supports a range of build tools including Ant, Maven, Subversion, Git etc
• Use to detect new ODI export files in a given directory, and then
    automatically deploy them to the CI / Smoke-Test environment
    ‣ Or monitor a source-control system for new check-ins
•   Deploy ODI code through ODI Tools (OdiImportScen, OdiImportObject)                                                   Security

                                                                                                                        Topology

                                                                                     Jenkins CI Server                  Versioning
                                                                                     with scheduler
                                                                                                                         PROD
                                                                                                                    Master Repository




                                                                                    startcmd.bat OdiImportObject 
                                                                                                                                        Execution
                                                                                    -FILE_NAME = %1.xml ...


                                                                                                                                         PROD
                                                                                                                                       Execution
                                                                                                                                     Work Repository

    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Steps to Set up a Continuous Integration Environment using Jenkins

• Download Jenkins from http://jenkins-ci.org
• Set up a new build job, optionally integrate with SVN etc
• Run ODI tools through “Execute a Batch File” function
  ‣ Or take it further using Maven, Ant etc
• Run the build process manually, to a schedule, or
  on check-in of new code to the source control system
• Report on stability of build, see last failure, reason for fail




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
The ODI SDK

• For other automation tasks, the ODI SDK can be used to perform all functions available in ODI Studio
• Java-based API analogous to OMB+ within Warehouse Builder
• Script the creation of repositories & interfaces, updating of models,
  registering of data sources and topologies etc
• Used either within Java applications (compiled),
 or interpreted using Groovy (editor now shipped with ODI)

                                 import oracle.odi.domain.project.OdiProject;
                                  import oracle.odi.domain.project.OdiProject;
                                 import oracle.odi.core.persistence.transaction.support.
                                  import oracle.odi.core.persistence.transaction.support.
                                   DefaultTransactionDefinition;
                                    DefaultTransactionDefinition;

                                 txnDef = new DefaultTransactionDefinition();
                                  txnDef = new DefaultTransactionDefinition();
                                 tm = odiInstance.getTransactionManager()
                                  tm = odiInstance.getTransactionManager()
                                 txnStatus = tm.getTransaction(txnDef)
                                  txnStatus = tm.getTransaction(txnDef)

                                 project = new OdiProject("Project For Demo", "PROJECT_DEMO")
                                  project = new OdiProject("Project For Demo", "PROJECT_DEMO")
                                 odiInstance.getTransactionalEntityManager().persist(project)
                                  odiInstance.getTransactionalEntityManager().persist(project)
                                 tm.commit(txnStatus)
                                  tm.commit(txnStatus)


 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Making ODI ETL Processes Resilient and Highly-Available

• ODI routines when deployed in the enterprise, need to be resilient, fail gracefully, be restartable
• They are often considered “mission critical”
• You need to code defensively, and anticipate #fail
                                                                                                 .. or this.


                                            Make your ETL
                                            routines like this...




                                                                      Not like this...



 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Why do ODI ETL and Data Integration Jobs Fail?

• ODI ETL processes typically fail for one of two main reasons
    ‣ Reason #1 : An error in your code, unexpected data, run out of disk space etc - the process fails
    ‣ Reason #2 : An agent crashes, ODI repositories goes down etc - the infrastructure fails
•   Most modern databases (Oracle 11g+ etc) have capabilities to recover from DB process issues
•   Can we make use of these within ODI packages, KMs etc?




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Enabling ETL Resumption : Resumable Space Allocation and ODI

• Oracle Database 9i+ has provided “resumable space allocation”
  ‣ When enabled, suspends INSERT operations when out of disk space, rather than fail load
  ‣ Datafiles can then be extended, or new ones added
  ‣ Can be incorporated into ODI KM to enable more load operations to complete




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Resumable Space Allocation in Action

• Insert process becomes suspended, ODI Operator shows step as still running
• Suspended operation can be detected using DBA_RESUMABLE, USER_RESUMABLE
• Once more disk space added, step will resume, operation can complete




                                                         select name from dba_resumable;

                                                        NAME                                                 
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
 T : +44 (0) 8446 697 995 E :   enquiries@rittmanmead.com W: www.rittmanmead.com
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
Making ETL and Data Integration Processes Restartable

• Recoverability is another enterprise ETL requirement - graceful failure and ability to restart process
• Can be as simple as re-running the job, but some failures may be catastrophic - how to you “unwind”?
• Oracle RDBMS has several “flashback” technologies that can help
     ‣ Flashback database, to a given SCN or restore point
     ‣ Flashback table, etc
•   Example : An ETL process performs an UPDATE, then
    and INSERT - if the INSERT fails, the UPDATE
    stays present. Can we use FLASHBACK TABLE
    to restore the table back to original state,
    so the process can be restarted safely?




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using Load Plans to Aid Restartability

• Alternative to packages for sequencing interfaces and other steps
• Helps organize an optimal execution schedule for a batch
• Advanced sequencing capabilities
     ‣ Parallel or Serial, Conditional branching
     ‣ Exception handling
•   Complements Scenarios and Packages, does not replace them
•   Exception handling feature could be very useful in
    restart / graceful failure scenarios
     ‣ Run ODI procedure, package, to correct errors
     ‣ Run commands to roll-back/flashback the
       database or tables
     ‣ Let’s use one for our example...




    T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Defining a Load Plan Exception to Handle Catastrophic ETL Failures : I

• Flashback table requires an SCN (System Change Number) to “flashback-to”
• Record the current SCN before performing thre integration in a project variable
  ‣ Requires SELECT privilege on V$_DATABASE




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Defining a Load Plan Exception to Handle Catastrophic ETL Failures : II

• Load plan will define an exception, to be raised if the final INSERT operation fails
• Exception will call an ODI Procedure that runs the FLASHBACK TABLE command, using the saved SCN




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Defining a Load Plan Exception to Handle Catastrophic ETL Failures : III

• Now, when the INSERT step fails due to an error, the UPDATE
 is rolled-back as well through the FLASHBACK TABLE feature
  ‣ Table restored to state at original recorded SCN




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Agent and ODI Infrastructure Failure

• Enterprises typically deploy ODI using standalone agents, in a parent/child load-balancing configuration
• Repository database has regular backups, or ideally uses DataGuard / log-shipping
• Scheduled jobs assigned to the parent, master runtime agent
• Jobs then delegated to the child agents,
  that then do the work based on load factor, availability
• But what if the parent agent goes down?
 What about the schedule?




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using OPMN To Manage, and Restart, Standalone Agents

• OPMN (Oracle Process Manager and Notification Server) can be installed to manage standalone agents
  ‣ Not part of the base install or license, but you probably have it somewhere
• Standalone agents then run, stopped, restarted and monitored using OPMN server
• Ensures that failed agents are restarted, including
 the parent agent for load balancing




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Deploying Agents within WebLogic Server - New with ODI 11g

• Runtime agents can now be deployed in WebLogic Server managed servers (requires WebLogic Server license)
• Benefit from WebLogic clustering, Enterprise Manager (+ODI Console), more resilient JVM
• Better for high-availability -
 protects the scheduler
 ‣ how?




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
How JEE Agents, WebLogic and Coherence Protect Against Agent Failure

• Hardware load balancer provides the load-balancing
• Agents are all equal - one elects to be the scheduler on
  cluster start, another takes over if that one crashes
• Oracle Coherence cache grid holds details of the schedule,
  available to all nodes in the cluster
• WebLogic Server clustering restarts failed managed servers,
  and Java processes (JEE runtime agents)
• However ... more complex setup, extra license cost, and
 may not be necessary if external scheduler used instead
 ‣ Still benefits from running agents in “production” JVM though
 ‣ And you get Enterprise Manager, ODI Console etc




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Further Reading - “ODI11g in the Enterprise” series on Rittman Mead Blog

• Five-part series on the Rittman Mead Blog: “ODI 11g in the Enterprise”
  ‣   “Part 1: Beyond Data Warehouse Table Loading”
  ‣   “Part 2 : Data Integration using Essbase, Messaging, and Big Data Sources and Targets”
  ‣   “Part 3: Data Quality and Data Profiling using Oracle EDQ”
  ‣   “Part 4: Build Automation and Devops using the ODI SDK, Groovy and ODI Tools”
  ‣   “Part 5: ETL Resilience and High-Availability”

•http://www.rittmanmead.com/2012/12/
 odi11g-in-the-enterprise-part-1-beyond-data-
 warehouse-table-loading/




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Thank You for Attending!

• Thank you for attending this presentation, and more information can be found at http://www.rittmanmead.com
• Contact us at info@rittmanmead.com or mark.rittman@rittmanmead.com
• Look out for our book, “Oracle Business Intelligence Developers Guide” out now!
• Follow-us on Twitter (@rittmanmead) or Facebook (facebook.com/rittmanmead)




 T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Deploying OBIEE 11g in the Enterprise
Mark Rittman, Technical Director, Rittman Mead
UKOUG Conference & Exhibition, Birmingham December 2012

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

More Related Content

PDF
Oracle Data Integrator 12c - Getting Started
PPTX
How to Handle DEV&TEST&PROD for Oracle Data Integrator
PDF
Odi ireland rittman
PPTX
Oracle Data integrator 11g (ODI) - Online Training Course
PDF
Oracle data integrator 12c - getting started
PDF
Manage your ODI Development Cycle – ODTUG Webinar
PDF
Offload, Transform, and Present - the New World of Data Integration
PPTX
Oracle data integrator (odi) online training
Oracle Data Integrator 12c - Getting Started
How to Handle DEV&TEST&PROD for Oracle Data Integrator
Odi ireland rittman
Oracle Data integrator 11g (ODI) - Online Training Course
Oracle data integrator 12c - getting started
Manage your ODI Development Cycle – ODTUG Webinar
Offload, Transform, and Present - the New World of Data Integration
Oracle data integrator (odi) online training

What's hot (20)

PDF
Great Scott! Dealing with New Datatypes
PPT
oracle data integrator training | oracle data integrator training videos | or...
PDF
Moving OBIEE to Oracle Analytics Cloud
PDF
Informatica to ODI Migration – What, Why and How | Informatica to Oracle Dat...
PPTX
Oracle Data Integrator
PPTX
OAC - From Cloud Entry to Data Engineering to Data Science
PPT
ODI (Oracle Data Integrator)
PDF
Troubleshooting Plan Changes with Query Store in SQL Server 2016
PPTX
How to Migrate from Oracle to EDB Postgres
PPTX
Oracle business analytics best practices
PPTX
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
PDF
Talend Introduction by TSI
PDF
Oracle Autonomous Data Warehouse Cloud and Data Visualization
PDF
Oracle Warehouse Builder to Oracle Data Integrator 12c Migration Utility
PDF
Driving Business Value Through Agile Data Assets
PDF
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
PPTX
From BI Developer to Data Engineer with Oracle Analytics Cloud, Data Lake
PPTX
AMIS Oracle OpenWorld & CodeOne Review - Introduction & Overview (5 november ...
PDF
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
PDF
Oracle Solaris Secure Cloud Infrastructure
Great Scott! Dealing with New Datatypes
oracle data integrator training | oracle data integrator training videos | or...
Moving OBIEE to Oracle Analytics Cloud
Informatica to ODI Migration – What, Why and How | Informatica to Oracle Dat...
Oracle Data Integrator
OAC - From Cloud Entry to Data Engineering to Data Science
ODI (Oracle Data Integrator)
Troubleshooting Plan Changes with Query Store in SQL Server 2016
How to Migrate from Oracle to EDB Postgres
Oracle business analytics best practices
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
Talend Introduction by TSI
Oracle Autonomous Data Warehouse Cloud and Data Visualization
Oracle Warehouse Builder to Oracle Data Integrator 12c Migration Utility
Driving Business Value Through Agile Data Assets
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
From BI Developer to Data Engineer with Oracle Analytics Cloud, Data Lake
AMIS Oracle OpenWorld & CodeOne Review - Introduction & Overview (5 november ...
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
Oracle Solaris Secure Cloud Infrastructure
Ad

Viewers also liked (20)

PDF
Odi best-practice-data-warehouse-168255
PPTX
Best Practices with ODI : Flexibility
PDF
Oracle data integrator project
PPTX
Oracle Data Integration Presentation
DOCX
Odi interview questions
PPTX
Unpacking The New Oracle BI Apps (Now With ODI!)
PDF
Introduction to ETL and Data Integration
PPTX
Veri Ambarı Nedir, Nasıl Oluşturulur?
PDF
ODI Overview 2013-03-05
PDF
Obia Online Training
DOCX
PradeepVD_OracleCloudHCMTaleo_6.5 yrs_Exp
PDF
owb-11gr2-new-features-summary-129693
DOCX
PDF
DM Presentation USA
PPTX
PDF
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
DOCX
Obia with odi
PDF
6. real time integration with odi 11g & golden gate 11g & dq 11g 20101103 -...
PDF
Redesigning Hyperion Planning - Is going from Block Storage (BSO) to Aggregat...
PPTX
Informatica
Odi best-practice-data-warehouse-168255
Best Practices with ODI : Flexibility
Oracle data integrator project
Oracle Data Integration Presentation
Odi interview questions
Unpacking The New Oracle BI Apps (Now With ODI!)
Introduction to ETL and Data Integration
Veri Ambarı Nedir, Nasıl Oluşturulur?
ODI Overview 2013-03-05
Obia Online Training
PradeepVD_OracleCloudHCMTaleo_6.5 yrs_Exp
owb-11gr2-new-features-summary-129693
DM Presentation USA
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
Obia with odi
6. real time integration with odi 11g & golden gate 11g & dq 11g 20101103 -...
Redesigning Hyperion Planning - Is going from Block Storage (BSO) to Aggregat...
Informatica
Ad

Similar to ODI 11g in the Enterprise - BIWA 2013 (20)

PDF
ODI11g, Hadoop and "Big Data" Sources
PDF
ODI12c as your Big Data Integration Hub
PPTX
UKOUG Tech 15 - Migration from Oracle Warehouse Builder to Oracle Data Integr...
PDF
Deep-Dive into Big Data ETL with ODI12c and Oracle Big Data Connectors
PDF
OGH 2015 - Hadoop (Oracle BDA) and Oracle Technologies on BI Projects
PDF
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
PDF
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
PPT
Ougn2013 high speed, in-memory big data analysis with oracle exalytics
PDF
BIWA2015 - Bringing Oracle Big Data SQL to OBIEE and ODI
PDF
UKOUG BIRT SIG 2014 – ODI for OWB Developers
PDF
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
PDF
Oracle Data Integrator 11g Integration and Administration
PDF
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
PDF
Oracle Data Integrator 11g Cookbook Christophe Dupupet Denis Gray Peter C Boy...
PPTX
Transform Your Data Integration Platform From Informatica To ODI
PDF
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
PDF
What is Big Data Discovery, and how it complements traditional business anal...
PPT
IBANK - Oracle developers-guide
DOCX
Oracle data integrator training from hyderabad
PDF
Part 4 - Hadoop Data Output and Reporting using OBIEE11g
ODI11g, Hadoop and "Big Data" Sources
ODI12c as your Big Data Integration Hub
UKOUG Tech 15 - Migration from Oracle Warehouse Builder to Oracle Data Integr...
Deep-Dive into Big Data ETL with ODI12c and Oracle Big Data Connectors
OGH 2015 - Hadoop (Oracle BDA) and Oracle Technologies on BI Projects
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
Ougn2013 high speed, in-memory big data analysis with oracle exalytics
BIWA2015 - Bringing Oracle Big Data SQL to OBIEE and ODI
UKOUG BIRT SIG 2014 – ODI for OWB Developers
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
Oracle Data Integrator 11g Integration and Administration
Deploying Full Oracle BI Platforms to Oracle Cloud - OOW2015
Oracle Data Integrator 11g Cookbook Christophe Dupupet Denis Gray Peter C Boy...
Transform Your Data Integration Platform From Informatica To ODI
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
What is Big Data Discovery, and how it complements traditional business anal...
IBANK - Oracle developers-guide
Oracle data integrator training from hyderabad
Part 4 - Hadoop Data Output and Reporting using OBIEE11g

More from Mark Rittman (20)

PDF
The Future of Analytics, Data Integration and BI on Big Data Platforms
PDF
Using Oracle Big Data Discovey as a Data Scientist's Toolkit
PDF
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
PDF
SQL-on-Hadoop for Analytics + BI: What Are My Options, What's the Future?
PDF
Social Network Analysis using Oracle Big Data Spatial & Graph (incl. why I di...
PDF
Using Oracle Big Data SQL 3.0 to add Hadoop & NoSQL to your Oracle Data Wareh...
PDF
IlOUG Tech Days 2016 - Big Data for Oracle Developers - Towards Spark, Real-T...
PDF
IlOUG Tech Days 2016 - Unlock the Value in your Data Reservoir using Oracle B...
PDF
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
PDF
OTN EMEA TOUR 2016 - OBIEE12c New Features for End-Users, Developers and Sys...
PDF
Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop :
PDF
Gluent New World #02 - SQL-on-Hadoop : A bit of History, Current State-of-the...
PDF
Oracle BI Hybrid BI : Mode 1 + Mode 2, Cloud + On-Premise Business Analytics
PPTX
Unlock the value in your big data reservoir using oracle big data discovery a...
PDF
Riga dev day 2016 adding a data reservoir and oracle bdd to extend your ora...
PDF
Big Data for Oracle Devs - Towards Spark, Real-Time and Predictive Analytics
PDF
OBIEE12c and Embedded Essbase 12c - An Initial Look at Query Acceleration Use...
PDF
Oracle Big Data Spatial & Graph 
Social Media Analysis - Case Study
PDF
Deploying Full BI Platforms to Oracle Cloud
PDF
Adding a Data Reservoir to your Oracle Data Warehouse for Customer 360-Degree...
The Future of Analytics, Data Integration and BI on Big Data Platforms
Using Oracle Big Data Discovey as a Data Scientist's Toolkit
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
SQL-on-Hadoop for Analytics + BI: What Are My Options, What's the Future?
Social Network Analysis using Oracle Big Data Spatial & Graph (incl. why I di...
Using Oracle Big Data SQL 3.0 to add Hadoop & NoSQL to your Oracle Data Wareh...
IlOUG Tech Days 2016 - Big Data for Oracle Developers - Towards Spark, Real-T...
IlOUG Tech Days 2016 - Unlock the Value in your Data Reservoir using Oracle B...
OTN EMEA Tour 2016 : Deploying Full BI Platforms to Oracle Cloud
OTN EMEA TOUR 2016 - OBIEE12c New Features for End-Users, Developers and Sys...
Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop :
Gluent New World #02 - SQL-on-Hadoop : A bit of History, Current State-of-the...
Oracle BI Hybrid BI : Mode 1 + Mode 2, Cloud + On-Premise Business Analytics
Unlock the value in your big data reservoir using oracle big data discovery a...
Riga dev day 2016 adding a data reservoir and oracle bdd to extend your ora...
Big Data for Oracle Devs - Towards Spark, Real-Time and Predictive Analytics
OBIEE12c and Embedded Essbase 12c - An Initial Look at Query Acceleration Use...
Oracle Big Data Spatial & Graph 
Social Media Analysis - Case Study
Deploying Full BI Platforms to Oracle Cloud
Adding a Data Reservoir to your Oracle Data Warehouse for Customer 360-Degree...

Recently uploaded (20)

PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Configure Apache Mutual Authentication
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
Geologic Time for studying geology for geologist
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PPTX
The various Industrial Revolutions .pptx
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
Modernising the Digital Integration Hub
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Architecture types and enterprise applications.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
2018-HIPAA-Renewal-Training for executives
Zenith AI: Advanced Artificial Intelligence
Configure Apache Mutual Authentication
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Build Your First AI Agent with UiPath.pptx
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
A review of recent deep learning applications in wood surface defect identifi...
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Getting started with AI Agents and Multi-Agent Systems
Geologic Time for studying geology for geologist
A proposed approach for plagiarism detection in Myanmar Unicode text
Convolutional neural network based encoder-decoder for efficient real-time ob...
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
The various Industrial Revolutions .pptx
CloudStack 4.21: First Look Webinar slides
Flame analysis and combustion estimation using large language and vision assi...
Modernising the Digital Integration Hub
OpenACC and Open Hackathons Monthly Highlights July 2025
Architecture types and enterprise applications.pdf

ODI 11g in the Enterprise - BIWA 2013

  • 1. Deploying ODI 11g in the Enterprise Mark Rittman, Technical Director, Rittman Mead BIWA Summit 2013, San Francisco, January 2013 T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 2. About the Speaker • Mark Rittman, Co-Founder of Rittman Mead • Oracle ACE Director, specialising in Oracle BI&DW • 14 Years Experience with Oracle Technology • Regular columnist for Oracle Magazine • Author of two Oracle Press Oracle BI books • Oracle Business Intelligence Developers Guide • Oracle Exalytics Revealed • Writer for Rittman Mead Blog : http://www.rittmanmead.com/blog • Email : [email protected] • Twitter : @markrittman T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 3. About Rittman Mead • Oracle BI and DW platinum partner • World leading specialist partner for technical excellence, solutions delivery and innovation in Oracle BI • Approximately 50 consultants worldwide • All expert in Oracle BI and DW • Offices in US (Atlanta), Europe, Australia and India • Skills in broad range of supporting Oracle tools: ‣ OBIEE ‣ OBIA ‣ ODIEE ‣ Essbase, Oracle OLAP ‣ GoldenGate ‣ Exadata ‣ Endeca T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 4. Oracle Data Integrator 11g • Oracle’s strategic data integration tool, originally came via the Sunopsis acquisition (2006) • Java architecture, part of the wider Oracle Data Integration Suite, and Oracle Fusion Middleware • Heterogenous database and source/target support • Long-term successor to OWB, most common ETL tool on new projects now • Commonly used alongside OBIEE, Essbase and Oracle RDBMS for BI/DW projects T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 5. Oracle Data Integrator 11g Key Features • Same philosophy as OWB and Oracle RDBMS – DB as the ETL engine • Declarative design - separates logic from implementation ‣ Business rules define what goes where, and using which transformation rules ‣ Technical implementation defines how data is moved • Built for SOA environments ‣ Support for Web Services, EII etc • Supports batch, event-based and real-time integration • Extensible through “Knowledge Modules” ‣ Change Data Capture ‣ Slowly Changing Dimensions ‣ Bulk load • Java client application with server elements (“agents”) T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 6. Part of the Wider Oracle Data Integration Suite • Oracle Data Integrator for large-scale data integration across heterogenous sources and targets • Oracle GoldenGate for heterogeneous data replication and changed data capture • Oracle Enterprise Data Quality for data profiling and cleansing • Oracle Data Services Integrator for SOA message-based data federation T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 7. Part of Oracle Fusion Middleware 11g • Oracle complete set of middleware servers and technologies • Based around Java, SOA, Oracle WebLogic Server and non-Java technologies • Foundation for Oracle’s applications and platforms such as Oracle Fusion Applications T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 8. Deploying ODI within an Enterprise • As ODI becomes more mainstream, and data integration more mission-critical, ODI needed to evolve • Data warehousing and BI projects don’t just access (Oracle) relational sources and targets any more • Data quality requires more thought than just ad-hoc corrections and filtering • ODI needs to participate in modern software development techniques such as “continuous integration” • It’s no longer acceptable for ODI jobs to fail, and be unavailable all day or weekend • The stakes are raised - can ODI deliver? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 9. Loading More than a Data Warehouse, Accessing More than Oracle RDBMS • Most of us know ODI through its ability to load Oracle data warehouses • Data typically sourced from Oracle databases, files, maybe the odd non-Oracle RBDMS source • Enterprises now work with many and varied data sources and applications, such as ‣ Multidimensional servers such as Oracle Essbase, and associated EPM apps ‣ XML sources, and JMS queues ‣ SOA environments, using messaging and service buses, typically in real-time ‣ More recently - big data sources such as Hadoop clusters, NoSQL databases T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 10. Working with Essbase data, and Hyperion Planning • ODI11g is the strategic, long-term DI tool for Essbase and associated EPM applications • IKMs and LKMs for loading, and extracting from, Essbase databases and EPM metadata stores • Data models for Essbase databases represented as tables, columns, the same as with other data sourcres • Data loads via rules files, Essbase / Planning / HFM APIs • However ... not really Essbase native, learning curve for admins • Good sources of ODI + Essbase/EPM Suite information: ‣ http://john-goodwin.blogspot.co.uk ‣ Cameron Lackpour OOW2012 Presentation “Slay the Bad Data in Essbase with ODI” http://tinyurl.com/lackpour-odi ‣ Rittman Mead Blog T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 11. Support for SOA Environments, and Messaging • ODI has technology adapters and features for many SOA, queue and messaging-type technologies ‣ JMS Queue, JMS Topic (plain message or XML), SOAP messages via Web Services etc • Main role for ODI in SOA enviroments is bulk-data movement, invoked by web service calls ‣ Regular inter-service messaging for low volume, switching to ODI for high-volume • Web services provided by runtime agents ‣ Start, monitor, stop and restart scenarios ‣ Start, monitor, stop and restart load pans • Public introspection web service ‣ List contexts ‣ List scenarios ‣ Requires deployment in Java EE container • Call from BPEL or any other standard process T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 12. Example: ODI 11g for Bulk Data Handling in an Orders Process 1.Large file arrives, detected by BPEL file 5. ODI transforms payload 2.Execution starts (BPEL / ESB) - and a step for 6. ODI sends payload wherever instructed transforming a large document payload occurs 7. ODI notifies BPEL / ESB that job has completed 3.Pass XML payload, by reference, to ODI 8. Core BPEL / ESB processing completes 4.ODI loads payload T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 13. Oracle Data Services Integrator - A Data Federation Alternative to ODI in SOA • ODI is essentially a batch-orientated DI tool, though batches can be micro-batches (and event-driven) • ODI moves and transforms data, loading it into a central, integrated location • In some cases though, you may wish to take a different approach ‣ Data federation vs. integration - read and transform data in-place ‣ Data read and integrated on-demand, as a service • Approach could be preferable for many reasons ‣ Security rules don’t allow data to be replicated ‣ Development is dynamic, sources frequently added or changed ‣ Data volumes don’t warrant a full ETL solution ‣ Data format is inherently nested and does not easily map onto relational model T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 14. ODI, ODSI, Golden Gate and OEDQ in a SOA Environment T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 15. Big Data, Hadoop and Unstructured Data Sources • “Big data” is the hot topic in BI, DW and Analytics circles • The ability to harness vast datasets, at a highly-granular level, by harnessing massively-parallel computing • Crunching loosely-structured and modelled datasets using simple algorithms: Map (project) + Reduce (agg) • Largely based around open-source projects, non-relational technologies ‣ Apache Hadoop ‣ MapReduce ‣ Hadoop Distributed File System ‣ Apache Hive, Sqoop, HBase etc • Emerging commercial vendors ‣ Cloudera • ‣ Hortonworks etc Can be used standalone, or linked to an enterprise DW/BI architecture + T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 16. ODI as Part of Oracle’s Big Data Strategy • ODI is the data integration tool for extracting data from Hadoop/MapReduce, and loading into Oracle Big Data Appliance, Oracle Exadata and Oracle Exalytics • Oracle Application Adaptor for Hadoop provides required data adapters ‣ Load data into Hadoop from local filesystem, or HDFS (Hadoop clustered FS) ‣ Read data from Hadoop/MapReduce using Apache Hive (JDBC) and HiveQL, load into Oracle RDBMS using Oracle Loader for Hadoop • Supported by Oracle’s Engineered Systems ‣ Exadata ‣ Exalytics ‣ Big Data Appliance (w/Cloudera Hadoop Distrib) T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 17. How ODI Accesses Hadoop and MapReduce • ODI accesses data in Hadoop clusters through Apache Hive ‣ Metadata and query layer over MapReduce ‣ Provides SQL-like language (HiveQL) and a metadata store (data dictionary) ‣ Provides a means to define “tables”, into which file Hadoop Cluster data is loaded, and then queried via MapReduce ‣ Accessed via Hive JDBC driver MapReduce (separate Hadoop install required on ODI server, for client libs) Hive Server • Additional access through Oracle Direct Connector for HDFS HiveQL and Oracle Loader for Hadoop Oracle RDBMS ODI 11g Direct-path loads using Oracle Loader for Hadoop, transformation logic in MapReduce T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 18. Running a MapReduce / Hive Job in ODI • Data is extracted and loaded using regular interfaces • LKMs and IKMs generate HiveQL queries • Functionally identical to RDBMS access/loading T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 19. Oracle Loader for Hadoop • Oracle technology for accessing Hadoop data, and loading it into an Oracle database • Pushes data transformation, “heavy lifting” to the Hadoop cluster, using MapReduce • Direct-path loads into Oracle Database, partitioned and non-partitioned • Online and offline loads • Key technology for fast load of Hadoop results into Oracle DB T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 20. Profiling Data, and Managing Data Quality Issues • ODI has built-in capabilities for defining data rules, data firewalls ‣ Static controls, Flow controls, constraints etc • But what if you don’t know what issues your data actually has? • What if you need to profile, deduplicate, merge or otherwise manage your data? • This is almost a topic in itself... T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 21. Oracle Enterprise Data Quality • Data profiling, auditing and cleansing based on the industry-leading Datanomic platform • Integration with Oracle Data Integrator for a complex data management solution T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 22. Oracle EDQ Features Relevant to ODI 11g • Ability to profile data from many sources (file, RDBMS, JDNI, XML, MS Office) • Create data quality cases, track and assign to owner • Cleanse, transform, parse and match incoming data via a palette of operators (processors) • Batch or real-time operation • All-Java architecture, thin-client and runs in WebLogic Server • Replaces previous Trillium-based OEM solution (but extra-cost option, as was Trillium solution) T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 23. ODI 11g Integration with Oracle EDQ • Limited integration at present, but Datanomic only just acquired • Can run in same WLS domain, environment • EDQ result schema can be on same DB as ODI staging area • EDQ processes can be executed from ODI package or load plan using EDQ Open Tool Connection details to EDQ Server, and details of job T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 24. Participation in Large-Scale Enterprise Projects, and “DevOps” • As ODI and data integration becomes more integral to enterprises, expectations rise • ODI project elements, and executable code, needs to go into source control • Build systems need to be able to include ODI functionality in their releases • Development Operations (“DevOps”) systems need to be able to spin-up ODI environments automatically • Ideas such as “continuous integration” and “smoke testing” can also apply to ODI projects • ODI topologies need to be flexible enough to deal with DEV/PROD network & responsibility separations T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 25. Typical ODI Repository Topology : DEV, TEST and PROD • Typical enterprise customers deploy all non-PROD environments on their own network, isolated from the main production systems • This stops you having a single master repository for all ODI work repositories • Good practice is to have all non-DEV environments use execution work repositories ‣ Only allows load plans and scenarios to be imported ‣ Can only run existing code, not alter or change code • Challenge is how you deploy code without DEV assistance ‣ Requires command-line tools ‣ Requires scripting ‣ Requires an API? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 26. Accessing ODI 11g Admin Features from the Command-Line • ODI’s admin functions are available through ODI Tools ‣ Run from the command-line, from an ODI procedure, or other methods ‣ Scriptable using the startcmd.bat|sh utility ‣ Run from the agent home directory, connects to master and work repositories • The key to automating the deployment and administration of ODI projects and environments cd c:oracleproduct11.1.1Oracle_ODI_2oraclediagentbin startcmd.bat OdiImportObject -FILE_NAME=c:Test_Build_Files SCEN_LOAD_PROD_DIM_Version_001.xml -WORK_REP_NAME=PROD_EXECREP  -IMPORT_MODE=INSERT_UPDATE T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 27. Continuous Integration and “Smoke Testing” using ODI • For complex, multi-developer projects, continuous integration is a good practice • Continously taking shipped code and testing it in a “smoke test” environment Security Topology ‣ Identifies changes that “break the build” early Versioning ‣ Use a suite of regression tests that run the code DEV/TEST with optimal coverage, end-to-end ETL runs Master Repository ‣ Gives you confidence that a release shipped into test will actually compile, deploy and pass functional tests Models ‣ Enables more agile development, through having a robust Projects Execution Execution Execution build and regression testing process that welcomes change DEV CI / SMOKE TEST TEST Development Execution Execution Work Repository Work Repository Work Repository Regression Test #1 Regression Test #2 Regression Test #n T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 28. Using Jenkins and OdiImportObject Tool for Continuous Integration • Jenkins is an open-source build automation and continuous integration tool • Supports a range of build tools including Ant, Maven, Subversion, Git etc • Use to detect new ODI export files in a given directory, and then automatically deploy them to the CI / Smoke-Test environment ‣ Or monitor a source-control system for new check-ins • Deploy ODI code through ODI Tools (OdiImportScen, OdiImportObject) Security Topology Jenkins CI Server Versioning with scheduler PROD Master Repository startcmd.bat OdiImportObject  Execution -FILE_NAME = %1.xml ... PROD Execution Work Repository T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 29. Steps to Set up a Continuous Integration Environment using Jenkins • Download Jenkins from http://jenkins-ci.org • Set up a new build job, optionally integrate with SVN etc • Run ODI tools through “Execute a Batch File” function ‣ Or take it further using Maven, Ant etc • Run the build process manually, to a schedule, or on check-in of new code to the source control system • Report on stability of build, see last failure, reason for fail T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 30. The ODI SDK • For other automation tasks, the ODI SDK can be used to perform all functions available in ODI Studio • Java-based API analogous to OMB+ within Warehouse Builder • Script the creation of repositories & interfaces, updating of models, registering of data sources and topologies etc • Used either within Java applications (compiled), or interpreted using Groovy (editor now shipped with ODI) import oracle.odi.domain.project.OdiProject; import oracle.odi.domain.project.OdiProject; import oracle.odi.core.persistence.transaction.support. import oracle.odi.core.persistence.transaction.support.   DefaultTransactionDefinition;   DefaultTransactionDefinition; txnDef = new DefaultTransactionDefinition(); txnDef = new DefaultTransactionDefinition(); tm = odiInstance.getTransactionManager() tm = odiInstance.getTransactionManager() txnStatus = tm.getTransaction(txnDef) txnStatus = tm.getTransaction(txnDef) project = new OdiProject("Project For Demo", "PROJECT_DEMO") project = new OdiProject("Project For Demo", "PROJECT_DEMO") odiInstance.getTransactionalEntityManager().persist(project) odiInstance.getTransactionalEntityManager().persist(project) tm.commit(txnStatus) tm.commit(txnStatus) T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 31. Making ODI ETL Processes Resilient and Highly-Available • ODI routines when deployed in the enterprise, need to be resilient, fail gracefully, be restartable • They are often considered “mission critical” • You need to code defensively, and anticipate #fail .. or this. Make your ETL routines like this... Not like this... T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 32. Why do ODI ETL and Data Integration Jobs Fail? • ODI ETL processes typically fail for one of two main reasons ‣ Reason #1 : An error in your code, unexpected data, run out of disk space etc - the process fails ‣ Reason #2 : An agent crashes, ODI repositories goes down etc - the infrastructure fails • Most modern databases (Oracle 11g+ etc) have capabilities to recover from DB process issues • Can we make use of these within ODI packages, KMs etc? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 33. Enabling ETL Resumption : Resumable Space Allocation and ODI • Oracle Database 9i+ has provided “resumable space allocation” ‣ When enabled, suspends INSERT operations when out of disk space, rather than fail load ‣ Datafiles can then be extended, or new ones added ‣ Can be incorporated into ODI KM to enable more load operations to complete T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 34. Resumable Space Allocation in Action • Insert process becomes suspended, ODI Operator shows step as still running • Suspended operation can be detected using DBA_RESUMABLE, USER_RESUMABLE • Once more disk space added, step will resume, operation can complete select name from dba_resumable; NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com                                                                                                                                                                                                                        
  • 35. Making ETL and Data Integration Processes Restartable • Recoverability is another enterprise ETL requirement - graceful failure and ability to restart process • Can be as simple as re-running the job, but some failures may be catastrophic - how to you “unwind”? • Oracle RDBMS has several “flashback” technologies that can help ‣ Flashback database, to a given SCN or restore point ‣ Flashback table, etc • Example : An ETL process performs an UPDATE, then and INSERT - if the INSERT fails, the UPDATE stays present. Can we use FLASHBACK TABLE to restore the table back to original state, so the process can be restarted safely? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 36. Using Load Plans to Aid Restartability • Alternative to packages for sequencing interfaces and other steps • Helps organize an optimal execution schedule for a batch • Advanced sequencing capabilities ‣ Parallel or Serial, Conditional branching ‣ Exception handling • Complements Scenarios and Packages, does not replace them • Exception handling feature could be very useful in restart / graceful failure scenarios ‣ Run ODI procedure, package, to correct errors ‣ Run commands to roll-back/flashback the database or tables ‣ Let’s use one for our example... T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 37. Defining a Load Plan Exception to Handle Catastrophic ETL Failures : I • Flashback table requires an SCN (System Change Number) to “flashback-to” • Record the current SCN before performing thre integration in a project variable ‣ Requires SELECT privilege on V$_DATABASE T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 38. Defining a Load Plan Exception to Handle Catastrophic ETL Failures : II • Load plan will define an exception, to be raised if the final INSERT operation fails • Exception will call an ODI Procedure that runs the FLASHBACK TABLE command, using the saved SCN T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 39. Defining a Load Plan Exception to Handle Catastrophic ETL Failures : III • Now, when the INSERT step fails due to an error, the UPDATE is rolled-back as well through the FLASHBACK TABLE feature ‣ Table restored to state at original recorded SCN T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 40. Agent and ODI Infrastructure Failure • Enterprises typically deploy ODI using standalone agents, in a parent/child load-balancing configuration • Repository database has regular backups, or ideally uses DataGuard / log-shipping • Scheduled jobs assigned to the parent, master runtime agent • Jobs then delegated to the child agents, that then do the work based on load factor, availability • But what if the parent agent goes down? What about the schedule? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 41. Using OPMN To Manage, and Restart, Standalone Agents • OPMN (Oracle Process Manager and Notification Server) can be installed to manage standalone agents ‣ Not part of the base install or license, but you probably have it somewhere • Standalone agents then run, stopped, restarted and monitored using OPMN server • Ensures that failed agents are restarted, including the parent agent for load balancing T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 42. Deploying Agents within WebLogic Server - New with ODI 11g • Runtime agents can now be deployed in WebLogic Server managed servers (requires WebLogic Server license) • Benefit from WebLogic clustering, Enterprise Manager (+ODI Console), more resilient JVM • Better for high-availability - protects the scheduler ‣ how? T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 43. How JEE Agents, WebLogic and Coherence Protect Against Agent Failure • Hardware load balancer provides the load-balancing • Agents are all equal - one elects to be the scheduler on cluster start, another takes over if that one crashes • Oracle Coherence cache grid holds details of the schedule, available to all nodes in the cluster • WebLogic Server clustering restarts failed managed servers, and Java processes (JEE runtime agents) • However ... more complex setup, extra license cost, and may not be necessary if external scheduler used instead ‣ Still benefits from running agents in “production” JVM though ‣ And you get Enterprise Manager, ODI Console etc T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 44. Further Reading - “ODI11g in the Enterprise” series on Rittman Mead Blog • Five-part series on the Rittman Mead Blog: “ODI 11g in the Enterprise” ‣ “Part 1: Beyond Data Warehouse Table Loading” ‣ “Part 2 : Data Integration using Essbase, Messaging, and Big Data Sources and Targets” ‣ “Part 3: Data Quality and Data Profiling using Oracle EDQ” ‣ “Part 4: Build Automation and Devops using the ODI SDK, Groovy and ODI Tools” ‣ “Part 5: ETL Resilience and High-Availability” •http://www.rittmanmead.com/2012/12/ odi11g-in-the-enterprise-part-1-beyond-data- warehouse-table-loading/ T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 45. Thank You for Attending! • Thank you for attending this presentation, and more information can be found at http://www.rittmanmead.com • Contact us at [email protected] or [email protected] • Look out for our book, “Oracle Business Intelligence Developers Guide” out now! • Follow-us on Twitter (@rittmanmead) or Facebook (facebook.com/rittmanmead) T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com
  • 46. Deploying OBIEE 11g in the Enterprise Mark Rittman, Technical Director, Rittman Mead UKOUG Conference & Exhibition, Birmingham December 2012 T : +44 (0) 8446 697 995 E : [email protected] W: www.rittmanmead.com