0. Introduction and Prerequisites

This article presents an overview on how to use Oracle Data Integrator in order to manipulate data from Oracle Cloud Infrastructure Object Storage. The scenarios here present loading the data from an object storage in Oracle Cloud Infrastructure and then move the data to Oracle Autonomous Data Warehouse (ADW[SR1] ).

This document could be a reference for customer have data storage in different regions and want to do the data integration& feed into Data warehouse.

Main steps are listed here:

1. Install ODI 12.2.1.3.0.

2. Patch p26669648_122130_Generic to upgrade ODI to version 12.2.1.3.1.

3. Set up Source Data Server/Physical Schema/Model in Object Storage.

4. Set up Target Data Server/Physical Schema/Model in ADW.

5. Creating a Mapping and test it.

You should have Object storage and ADW instance provisioned.

1. Install ODI 12.2.1.3.0

You can refer below link for reference.

https://docs.oracle.com/en/middleware/lifecycle/12.2.1.3/oding/installing-and-configuring-oracle-data-integrator.pdf

2. Patch p26669648_122130_Generic to upgrade to 12.2.1.3.1

You need to patch ODI to version 12.2.1.3.1 firstly.

3. Now you get ODI 12.2.1.3.1

4. New a Data Server

Let’s setup the topology. Right click Oracle Object Storage

An overview:

Let me explain the items above.

a. Region:

Oracle Object Storage region. A region is a localized geographic area, and an availability domain is one or more data centers located within a region. A region is composed of several availability domains. Most Oracle Cloud Infrastructure resources are either region-specific, such as a virtual cloud network, or availability domain-specific, such as a compute instance.

b. Tenant OCID:

Tenant’s Oracle Cloud ID. Every Oracle Cloud Infrastructure resource has an Oracle-assigned unique ID called an Oracle Cloud Identifier (OCID). It's included as part of the resource's information in both the Console and API. To find your tenancy's OCID. Go to Administration-> Tenancy Details.

c. User OCID:

Oracle Cloud ID of the user logging into Oracle Object Storage.

In the Console on the page showing the user's details. To get to that page:

  • If you're signed in as the user, click the user icon present in the top-right corner of the Console, and then click User Settings.
  • If you're an administrator doing this for another user, instead click Identity, click Users, and then select the user from the list.

User OCID: api.user

Security

d. Private Key File – Click the browse button to choose the location of the private key file (in PEM format)

Follow the steps to generate the private key and fingerprint

https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm#How

  • Passphrase – Passphrase is the password used while generating the private key

e. fingerprint

f. username:

Specify the user api.user, need to be same with item c. User OCID

Caution: Upload the public key to Object Storage.

You can upload the PEM public key in the Console, located at https://console.us-ashburn-1.oraclecloud.com. If you don't have a login and password for the Console, contact an administrator.

  1. Open the Console, and sign in.
  1. View the details for the user who will be calling the API with the key pair:
    • If you're signed in as this user, click your username in the top-right corner of the Console, and then click User Settings.
    • If you're an administrator doing this for another user, instead click Identity, click Users, and then select the user from the list.
    • Click Add Public Key.
    • Paste the contents of the PEM public key in the dialog box and click Add.

Test Connection

5. Creating an Oracle Object Storage Physical Schema

Create an Oracle Object Storage physical schema using the standard procedure, in Administering Oracle Data Integrator.

Oracle Object Storage specific parameters are:

  • Name: Name of the physical schema created
  • Bucket (Schema): It specifies the Oracle Object Storage Bucket name from which upload, download or the delete operation will happen. Select the required bucket from the Bucket Name drop-down list.
  • Directory (Work Schema): This is the temporary folder on the local system used for getting files from Oracle Object Storage bucket during reverse engineering. If the directory does not exist it will be created. Specify the required location in the local system.

And the logical schema:

6. Creating and Reverse-Engineering an Oracle Object Storage Model

Creating an Oracle Object Storage Model

An Oracle Object Storage model is a set of data stores, corresponding to files stored in an Oracle Object Storage bucket. In a given context, the logical schema corresponds to one physical schema. You can create a model from the logical schema for the Oracle Object Storage technology. The bucket schema of this physical schema is the Oracle Object Storage bucket containing all the files. You can create new ODI Data store that will represent a file in Oracle Object Storage so that it can be used in mappings.

Input the information required and Save.

Reverse-Engineering Delimited Files from Oracle Object Storage

To perform a delimited file reverse engineering:

  1. In the Models accordion, right click your Object Storage Model and select New Data store. The Data Store Editor opens.
  2. In the Definition tab, enter the following fields:
  • Name: Name of this data store
  • Resource Name: Click the Search icon, to select the required file from the list of files present in Oracle Object Storage for the configured bucket.
  1. Go to the Storage tab, to describe the type of file. Set the fields as follows:
  • File Format: Delimited
  • Heading (Number of Lines): Enter the number of lines of the header. Note that if there is a header, Oracle Data Integrator uses the first line of the header to name the columns in the file.
  • Select a Record Separator.
  • Select or enter the character used as a Field Separator.
  • Enter a Text Delimiter if your file uses one.
  • Enter a Decimal Separator, if your file contains decimals.
  1. From the File main menu, select Save.
  2. In the Data Store Editor, go to the Attributes tab.
  3. In the editor toolbar, click Reverse Engineer.

Click Reverse Engineer, ODI will generate the Metadata based on the header of the file.

  1. Verify the data type and length for the reverse engineered attributes. Oracle Data Integrator infers the field data types and lengths from the file content, but may set default values (for example 50 for the strings field length) or incorrect data types in this process.
  2. From the File main menu, select Save.

7. Create a Connection with ADW

Create a Data Server for ADW. Specify the Credential file and choose the connection details from dropdown list.

JDBC information will be there, no need to update.

And Test the connection

And then new a Physical Schema.

New the Model and Reverse Engineer.

8. New a Project, Mapping and Test

Set the AP(Access Point) as below:

Caution: You need to run the store procedure to create credential on ADW before running the Mapping.

set define off

begin

DBMS_CLOUD.create_credential(

credential_name => 'ODI',

username => 'api.user',

password => '.};rKwO6t8***'

);

end;

/

set define on

Mapping run finished.

And Review the data loaded in ADW.

Comparing with the source csv file in Oracle Object Storage:

Looks good.

Conclusion:

With the Oracle Data Integrator 12c releases Oracle introduced several new enhancements, more source and target are supported (Oracle Object Storage, Oracle Autonomous Data Warehouse Cloud (ADW), Oracle Autonomous Transaction Processing (ATP), Oracle Enterprise Resource Planning (ERP) Cloud etc.). This document could help customer to achieve their data integration over different regions or oversea.

The ODI 12c releases continue to improve Oracle’s strategic Data Integration platform while preserving the key product differentiators: Declarative Design, Knowledge Modules, Hot-Plug-ability, and E-LT architecture.


Manipulating Data from Oracle Object Storage to ADW with Oracle Data Integrator (ODI)的更多相关文章

  1. Oracle Schema Objects(Schema Object Storage And Type)

    One characteristic of an RDBMS is the independence of physical data storage from logical data struct ...

  2. [译]OpenStack Object Storage Monitoring

    注:翻译的不完整,主要是有些地方翻译后反而妨碍理解,有些不知道怎么翻,anyway,需要时拿来用用也是可行的,顺便共享啦.欢迎提意见. 一个OpenStack Object Storage(OSOS) ...

  3. centos6.4 ceph安装部署之ceph object storage

    preface: ceph-deploy does not provide a rapid installation for Ceph Object Storage install Configura ...

  4. [转]Build An Image Manager With NativeScript, Node.js, And The Minio Object Storage Cloud

    本文转自:https://www.thepolyglotdeveloper.com/2017/04/build-image-manager-nativescript-node-js-minio-obj ...

  5. golang 操作ceph object storage

    ceph的object storage 提供了和amazon s3兼容的接口以供客户访问. 在ceph的官网上,可以看到它提供了多种语言的访问范本,例如python的(http://docs.ceph ...

  6. js & h5 & app & object storage

    js & h5 & app & object storage API https://developer.mozilla.org/en-US/docs/Web/API Stor ...

  7. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

    Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...

  8. 问题-Error creating object. Please verify that the Microsoft Data Access Components 2.1(or later) have been properly installed.

    问题现象:软件在启动时报如下错误信息:Exception Exception in module zhujiangguanjia.exe at 001da37f. Error creating obj ...

  9. openStack 对象存储object storage swift

随机推荐

  1. 开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor

    在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...

  2. 阿里云基于OSS的云上统一数据保护方案2.0正式发布

    近年来,随着越来越多的企业从传统经济向数字经济转型,云已经渐渐成为数据经济IT新常态.核心业务系统上云,云上的业务创新,这些都产生了大量的业务数据,这些数据也成为了企业最重要的资产.资源.阿里云基于O ...

  3. UE4 C++ 代码编译方式

    Unreal 有一个非常酷的特性 —> 不必关闭编辑器就可以编译 C++ 更改! 有两种方法可以达到这个目的: 1.直接点击编辑器主工具栏中的 编译(Compile) 按钮. 2.在编辑器继续运 ...

  4. python3 实现删除数组中相同的元素

    # #把数组中相同的元素去除 # #第一种方式: def del_repeatnum(s=[1,1,1,2,2,3,3,4]): s1=[] for i in s: print(i) if i not ...

  5. HDU 2068 RPG错排 [错排公式]

    1.题意:1到N的序列的排列中,元素位置与元素值相对应的情况(值为i的元素在某个排列中正好排在第i个位置)大于等于序列规模一半的情况,有多少个? 2.输入输出:每组数据一个数,N,规定输入以0结尾: ...

  6. SQLite3的使用(封装很长,直接使用sqlite3_open函数,LIBS += sqlite3.dll 即可)good

    1.下载sqlite3相关文件sqlite3.dll.sqlite3.h(可从http://download.csdn.net/detail/mingxia_sui/5249070下载),添加到工程的 ...

  7. pytorch中DataLoader, DataSet, Sampler之间的关系

    转自:https://mp.weixin.qq.com/s/RTv0cUWvc0kuXBeNoXVu_A 自上而下理解三者关系 首先我们看一下DataLoader.__next__的源代码长什么样,为 ...

  8. Visio图表应用

    两种方式创建 插入图表之后通过设计面板的更改图表类型进行更改 双击图表进入编辑状态. 组合其中组合图的利用 下面是图表编辑操作: 双击进入图表之后下方会有“Chart1”跟“Sheet1”两个板块 而 ...

  9. JVM内存结构探秘及编码实战

    了解JVM内存结构的目的 在Java的开发过程中,因为有JVM自动内存管理机制,不再需要像在C.C++开发那样手动释放对象的内存空间,不容易出现内存泄漏和内存溢出的问题.但是,正是由于把内存管理的权利 ...

  10. 洛谷$P4040\ [AHOI2014/JSOI2014]$宅男计划 贪心

    正解:三分+贪心 解题报告: 传送门$QwQ$ 其实很久以前的寒假就考过了,,,但那时候$gql$没有好好落实,就只写了个二分,并没有二分套三分,就只拿到了$70pts$ #include <b ...