Objective of this use case is to To create a data integration pipeline using Oracle Data Integrator (ODI) Marketplace that extracts data from Oracle Database, SQL Server, and Microsoft Excel, and loads it into Autonomous Data Warehouse (ADW). The solution will perform a full load initially and incremental loads subsequently.
Architecture Overview
Source Systems:
- Oracle Database
- SQL Server
- Microsoft Excel file (hosted on a shared file system)
Target System:
- Autonomous Data Warehouse (ADW)
Tools:
- ODI Marketplace
Implementation Steps
Step 1: Setup ODI Marketplace Environment
- Create physical and logical schemas for the source and target systems in ODI.
- Configure agents and ensure connectivity to Oracle, SQL Server, and Excel sources, as well as the ADW target.
Step 2: Create Models and Datastores
- Create Models for each source (Oracle, SQL Server, Excel) and the target (ADW).
- Reverse Engineer the tables and data structures from the source systems into ODI.
- Create datastores representing the source and target tables.
Step 3: Design Interfaces (Mappings) in ODI
Full Load Process
-
Oracle to ADW:
- LKM Oracle to Oracle (DBLINK)
- IKM Oracle Incremental Update
- CKM Oracle
-
SQL Server to ADW:
- LKM SQL Server to Oracle (JDBC)
- IKM Oracle Incremental Update
- CKM Oracle
-
Excel to ADW:
- LKM File to SQL
- IKM Oracle Incremental Update
- CKM Oracle
Step 4: Full Load Execution
- Run the mappings for all sources to load data into ADW.
- Validate the data in ADW to ensure successful full load.
Step 5: Incremental Load Process
Oracle to ADW
- Use Last Update Timestamp to capture incremental changes.
- Modify the mapping to use IKM Oracle Incremental Update.
SQL Server to ADW
- Implement CDC using SQL Server's built-in CDC functionality.
- Use LKM SQL Server to Oracle (JDBC) and IKM Oracle Incremental Update.
Excel to ADW
- Track changes using versioning or timestamps in the Excel file.
- Use LKM File to SQL and IKM Oracle Incremental Update for loading.
Step 6: Schedule Jobs
- Use ODI Scheduler to automate the full and incremental load processes.
- Set up email notifications for job success/failure.