Setting Up an Integration Project Troubleshooting

27 Oracle TimesTen In-Memory Database 27-1 27 Oracle TimesTen In-Memory Database This chapter describes how to work with Oracle TimesTen In-Memory Database in Oracle Data Integrator. This chapter includes the following sections: ■ Section 27.1, Introduction ■ Section 27.2, Installation and Configuration ■ Section 27.3, Setting up the Topology ■ Section 27.4, Setting Up an Integration Project ■ Section 27.5, Creating and Reverse-Engineering a TimesTen Model ■ Section 27.6, Setting up Data Quality ■ Section 27.7, Designing an Interface

27.1 Introduction

The Oracle TimesTen In-Memory Database TimesTen provides real-time data management. It provides application-tier database and transaction management built on a memory-optimized architecture accessed through industry-standard interfaces. Optional data replication and Oracle caching extend the product to enable multi-node and multi-tier configurations that exploit the full performance potential of todays networked, memory-rich computing platforms. Oracle TimesTen In-Memory Database is a memory-optimized relational database. Deployed in the application tier, TimesTen operates on databases that fit entirely in physical memory using standard SQL interfaces. High availability for the in-memory database is provided through real-time transactional replication. TimesTen supports a variety of programming interfaces, including JDBC Java Database Connectivity and PLSQL Oracle procedural language extension for SQL.

27.1.1 Concepts

The TimesTen concepts map the Oracle Data Integrator concepts as follows: An Oracle TimesTen In-Memory Database instance corresponds to a data server in Oracle Data Integrator. Within this database instance, the databaseowner pair maps to an Oracle Data Integrator physical schema. A set of related objects within one database corresponds to a data model, and each table, view or synonym will appear as an ODI datastore, with its attributes, columns and constraints. Oracle Data Integrator uses Java Database Connectivity JDBC to connect to an Oracle TimesTen In-Memory Database ODBC DSN. 27-2 Product TitleBookTitle as a Variable

27.1.2 Knowledge Modules

Oracle Data Integrator provides the Knowledge Modules KM listed in Table 27–1 for handling TimesTen data. These KMs use TimesTen specific features. It is also possible to use the generic SQL KMs with the TimesTen database. See Chapter 4, Generic SQL for more information.

27.2 Installation and Configuration

Make sure you have read the information in this section before you start using the TimesTen Knowledge Modules: ■ System Requirements and Certifications ■ Technology Specific Requirements ■ Connectivity Requirements

27.2.1 System Requirements and Certifications

Before performing any installation you should read the system requirements and certification documentation to ensure that your environment meets the minimum installation requirements for the products you are installing. The list of supported platforms and versions is available on Oracle Technical Network OTN: http:www.oracle.comtechnologyproductsoracle-data-integratorindex.htm l

27.2.2 Technology Specific Requirements

Some of the Knowledge Modules for TimesTen use the ttBulkCp utility. The following requirements and restrictions apply for these Knowledge Modules: ■ The host of the ODI Agent running the job must have the TimesTen Client utilities installed TTBULKCP ■ Data transformations should be executed on the staging area or target ■ The correct ODBC entry must be created on the agent machine: – Client DSN: A Client DSN specifies a remote database and uses the TimesTen Client. A Client DSN refers to a TimesTen database indirectly by specifying a hostname, DSN pair, where the hostname represents the server machine on which TimesTen Server is running and the DSN refers to a Server DSN that specifies the TimesTen database on the server host. Table 27–1 TimesTen Knowledge Modules Knowledge Module Description IKM TimesTen Incremental Update MERGE Integrates data from staging area into a TimesTen target table using TimesTen JDBC driver in incremental update mode. For example, inexistent rows are inserted; already existing rows are updated. LKM SQL to TimesTen Loads data from an ANSI SQL-92 source to a TimesTen staging table using the TimesTen JDBC driver. LKM File to TimesTen ttBulkCp Loads data from a file to a TimesTen staging table using ttBulkCp utility. Oracle TimesTen In-Memory Database 27-3 – Server DSN: A Server DSN is always defined as a system DSN and is defined on the server system for each database on that server that will be accessed by clientapplications. The format and attributes of a server DSN are very similar to those of a Data Manager DSN.

27.2.3 Connectivity Requirements

This section lists the requirements for connecting to a TimesTen database. To be able to access Microsoft Excel data, you need to: ■ Install the TimesTen ODBC Driver ■ Declare a TimesTen ODBC Data Source ■ JDBC Driver ■ ODI Agent Install the TimesTen ODBC Driver Microsoft Excel workbooks can only be accessed through ODBC connectivity. The ODBC Driver for TimesTen must be installed on your system. Declare a TimesTen ODBC Data Source An ODBC data source must be defined for each Microsoft Excel workbook .xls file that will be accessed from ODI. ODBC datasources are created with the Microsoft ODBC Data Source Administrator. Refer to your Microsoft Windows operating system documentation for more information on datasource creation. JDBC Driver Oracle Data Integrator uses the TimesTen JDBC driver to connect to a TimesTen database. This driver must be installed in your Oracle Data Integrator drivers directory. ODI Agent The ODI Agent running the job must have the TimesTen JDBC Driver and ODBC driver installed and configured.

27.3 Setting up the Topology

Setting up the Topology consists of: 1. Creating a TimesTen Data Server 2. Creating a TimesTen Physical Schema

27.3.1 Creating a TimesTen Data Server

A TimesTen data server corresponds to a TimesTen database.

27.3.1.1 Creation of the Data Server

Create a data server for the TimesTen technology using the standard procedure, as described in Creating a Data Server of the Oracle Fusion Middleware Developers Guide for Oracle Data Integrator. This section details only the fields required or specific for defining a TimesTen data server: 1. In the Definition tab: 27-4 Product TitleBookTitle as a Variable ■ Name : Name of the data server that will appear in Oracle Data Integrator ■ Server : Physical name of the data server ■ UserPassword : TimesTen user with its password 2. In the JDBC tab: ■ JDBC Driver : org.TimesTen.Driver ■ JDBC URL : jdbc:timesten:direct:dsn=DSNname where DSNname is the name of an ODBC datasource configured on the machine running the agent

27.3.2 Creating a TimesTen Physical Schema

Create a TimesTen physical schema using the standard procedure, as described in Creating a Physical Schema of the Oracle Fusion Middleware Developers Guide for Oracle Data Integrator. Create for this physical schema a logical schema using the standard procedure, as described in Creating a Logical Schema of the Oracle Fusion Middleware Developers Guide for Oracle Data Integrator and associate it in a given context.

27.4 Setting Up an Integration Project

Setting up a project using the TimesTen database follows the standard procedure. See Creating an Integration Project of the Oracle Fusion Middleware Developers Guide for Oracle Data Integrator. It is recommended to import the following knowledge modules into your project for getting started with TimesTen: ■ CKM SQL ■ IKM SQL Control Append ■ IKM TimesTen Incremental Update MERGE ■ LKM SQL to TimesTen ■ LKM File to TimesTen ttBulkCp ■ RKM SQL Jython

27.5 Creating and Reverse-Engineering a TimesTen Model

This section contains the following topics: ■ Create a TimesTen Model ■ Reverse-engineer a TimesTen Model

27.5.1 Create a TimesTen Model

Create a TimesTen Model using the standard procedure, as described in Creating a Model of the Oracle Fusion Middleware Developers Guide for Oracle Data Integrator. Note: Note that Oracle Data Integrator will have write access only on the database specified in the URL.