ODI_学习笔记
VAS与ODI指标
VAS与ODI指标VAS指标代表"视觉模拟量评分"(Visual Analog Scale),是一种用于评估疼痛或不适程度的常用量表。
ODI指标代表"臀部和下肢功能障碍指数"(Oswestry Disability Index),用于评估腰椎疾病患者的功能障碍程度。
VAS指标VAS指标是一种通过问卷或尺度让病患根据自身感受在一个连续直线上标记疼痛程度的评估工具。
通常这条直线的两端分别标记有"无疼痛"和"最剧烈的疼痛"。
病患需要在直线上标记出他们疼痛的位置,然后根据标记的位置给出一个数值评分,常见的是0到10分的评分。
0分代表无疼痛,10分代表最剧烈的疼痛。
VAS指标在临床上被广泛应用于疼痛的评估和监测中。
通过记录疼痛的程度变化,我们可以评估治疗效果和疾病进展情况。
ODI指标ODI指标是一种用于评估腰椎疾病患者功能障碍程度的量表。
它包含10个不同的日常活动,患者需要根据自己的情况选择自己在各项活动上的障碍程度,评分从0%(没有功能障碍)到100%(严重功能障碍)。
ODI指标主要用于评估腰椎疾病患者的生活质量和功能受损程度。
通过了解患者在不同活动中遇到的困难和障碍,我们可以制定恰当的治疗和康复计划。
VAS与ODI指标的应用VAS和ODI指标都是常见且可靠的评估工具,广泛应用于临床研究和治疗实践中。
它们能提供客观的评估数据,帮助医生和研究人员判断病患的疼痛程度和功能障碍程度,从而进行治疗决策和评估治疗效果。
需要注意的是,VAS和ODI指标只是评估工具,不能单独作为诊断依据。
医生应结合临床症状、体格检查和其他相应检查结果,综合评估病患的状况和需求。
总结VAS和ODI指标是常用的疼痛和功能障碍评估工具。
它们通过量化疼痛程度和功能障碍程度,提供客观的评估数据,帮助医生和研究人员做出决策。
然而,在使用这些评估工具时,应综合考虑其他临床信息,以便更准确地评估病患的状况。
ODI学习笔记
Oracle Data IntegratorHands-onStudents HandbookAuthorsNicolasFXDupupetChristopheContributors/ReviewersMalfroyNickJulienTestutDahlmanMatthewOracle CorporationWorld Headquarters500 Oracle ParkwayRedwood Shores, CA 94065USAWorldwide inquiries:Phone: +1 650 506 7000Fax: +1 650 506 7200Oracle is the information companyOracle is a registered trademark of Oracle Corporation.Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners.Copyright © 2007 Oracle CorporationAll rights reserved.Exercises for Lesson 3Designer Simple Transformations1. IntroductionWe will first start with what ODI developers do most: design data transformations and data flows. In our first set of exercises, we will use an environment where all administration tasks have been done for us: connectivity to the databases, import of the metadata are done for us, so that we can focus immediately on what make “a day in the life of an ODI developer”. Later in this training, we will get back to the definition of the connectivity and the import of the metadata.The Hands on Virtual machine contains an ODI repository organized in projects that match the lessons of this course. The exercises for lesson 3 will use the project called “Lesson 3 – One Source“. The solution for these exercises is available in the project called “Lesson 3 – One Source - Solved“. The same logic will apply for all other lessons.2. First ProjectIn the Project tab of Designer, we will now work on our first project: Lesson 3 – One SourceFor this first project, the appropriate Knowledge Modules (KMs) have already been loaded. You can see them under the Knowledge Module folder, under the Loading and Integration entries. In later projects, our first task will be to import the KMs that you will then use for your transformations. For the current project, this has been done for us.It is usually recommended to load only the necessary KMs for a given project, as it will increase your productivity.For this first set of exercises, we have the following KMs:LKM SQL to OracleIKM SQL Control Append3. Create Your First InterfaceExpand the project Lesson 3 – One Source. Expand the folder First Folder, right-click on Interfaces and select Insert Interfaces.Name of the interface: Customer Lesson3Then click on the Diagram tab, and drag and drop the source and target tables in the interface.To do this, select the Model tab in the tree on the left,and expand the models where the tables are defined:Source table: CUSTOMER from SQL Server SalesTarget table: CUSTOMER from Oracle Sales WarehouseWhen ODI asks if you want to perform an automatic mapping, select Yes to automatically map all the columns that have the same name in both models.3.1 MappingsWe want the following mappings:SQL server column OracleColumnTransformation SQLSyntaxDear Dear Change 0 into MrChange 1 into MrsChange 2 into Ms Casewhen<expression> then <value>when<expression> then <value>else<value>EndFirst_Name, Last_Name CUST_NAME Concatenate the firstname and the lastname. Capitalize thefirst letter for both.Put a space betweenfirst and last nameUse a + sign on SQLserver, or a || on Oracle.Use InitCap on Oracle toinitialize the first letter.Address Address NonePhone Phone NoneAge Age NoneAge_RangeNotmappedSales_PersNotMappedCre-Date System date on thetarget machine. Donot modify this valueif there is an updateSysdate on OracleUpd_Date System date on thetarget machineSysdate on Oracle Custid Cust_id NoneCity_id City_id NoneTo perform a mapping:- click on the target column- this will open the mapping area at the bottom of your screen- drag and drop the columns you need for your transformations in that mapping area (not on the target column, how tempting it may be). You can build your transformation logic in this field.- if you scroll down a little bit in the mapping area, you can choose on which system the mapping will be executed (source, staging area, target). Except for literals, mappings are always on the source or the staging area. The staging area is on the target system by default.- write the mapping expression using the appropriate SQL for the database you have chosen. You can use the expression editor to get some help with the appropriate syntax.3.2 FiltersCreate a filter to load only customer with a CUSTID less than 105. To create a filter, drag and drop the column CUSTID from SQL server in the dark gray area on the source side. This creates a yellow funnel (the icon for a filter). In the mapping area at the bottom, enter:CUSTOMER.CUSTID<1053.3 Data FlowCheck in the Flow tab that the Knowledge Modules are properly loaded. They should have been selected by default. Click on the caption representing the source and target systems to view the selected KMs.Leave the default options in the LKM.Change options as follows for the IKM:<Default>:YesInsertCommit <Default>:YesFlow Control NoRecycle Errors <Default>:NoControl <Default>:NoStaticTruncate <Default>:NoYesAllDeleteCreate Target Table <Default>:NoDelete Temporary Objects <Default>:Yes4. RunClick the Execute button, at the bottom right. Then click Ok on the following window.Then go in the operator interface , and expand All Executions to see the outcome of your job. If you have an error (red stop sign) go back to your interface and fix the problem.Understanding the logs:- The first level identifies your session. (in the above screen shot: 43020 – Customer Lesson3 – 2007-05-30)- The second level identifies the step that was executed. In our case, we are executing a single step job: an interface. Later on, we will see objects that can execute and sequence multiple steps: the packages. The step for our interface in the above screenshot is 1-Customer Lesson3 – 2007-05-30- Each step is made of multiple tasks, which are generated by the Knowledge Modules that we have selected in the interface.At each level, you can double-click on the colored bullets (green, red, yellow, blue) at the beginning of the line to get more details on the execution of the job: - The Definition tab will have general information (agent, context used for the execution)- The Execution tab will have statistical information (duration, number of rows processed, number of inserts, deletes, updates, errors). This is also where you will see error messages reported by the databases.- The Description tab will contain the generated code that was executed by the database.In our case, a correct execution should insert 5 records in the target table. To check out how many records where loaded, double- click on the entry 1 – Customer Lesson3 in the operator interface, and select the Execution tab in the window that will open. Statistics are available in this screen:Exercises for Lesson 4DesignerTransformations1. IntroductionNow that we have successfully created a first basic interface, build a more complex one, by introducing heterogeneous components.2. Open the InterfaceThe project Lesson 04 – Heterogeneous contains a basic interface (the same as the one we built in the previous lesson).To open this interface, you can:- Either double-click on the interface name in the tree- Or right-click and select Edit.In the definition tab, rename the interface to: Customer Lesson 4-13. Modify the InterfaceModify the interface as follows:Source tables:- Add the CITY table from SQL Server SalesJoin the two source tables on CITY_ID:- Drag and drop the CITY_ID column from CUSTOMER table on the column CITY_ID from CITY. This will automatically create the joinexpression.3.1 MappingsChange the mapping for CITY_ID. Replace the mapping so that we now retrieve the CITY_ID from the CITY tableSQL server column Oracle Column TransformationCity_id from CITY City_id None3.3 Data FlowClick on the Flow tab of the interface.Notice that there is very little change here. Both source tables are on the same server, as such they will be joined before any extraction can be done. There is no need for any additional KM..Change options as follows for the IKM (click on the caption of the box that represents the target system):<Default>:YesInsertCommit <Default>:YesFlow Control NoRecycle Errors <Default>:NoStaticControl <Default>:NoTruncate <Default>:NoYesDeleteAllCreate Target Table <Default>:NoDelete Temporary Objects <Default>:Yes4. RunClick the Execute button. Then go in the operator interface, and expand All Executions to see the outcome of your job. If you have an error (red stop sign) go back to your interface and fix the problem.A successful run should have inserted 5 records.5. Heterogeneous sourcesWe will now modify this same interface further and add two additional sources. First close the interface, then right-click on the interface name and select duplicate. This will create a copy of your interface. Open this new interface and rename it Customer Lesson 4-25.1 SourcesModify the interface as follows:Source tables:- Add SRC_AGE_GROUP.TXT and SRC_SALES_PERSON.TXT, from the Flat Files Sources model.5.2 JoinsJoin CUSTOMERS with SRC_SALES_PERSON.txt on SALES_PERS_ID and SALES_IDJoin CUSTOMERS with SRC_AGE_GROUP.txt with the AGE between theAGE_MIN and the AGE_MAX5.3 MappingsAuto-mapping should have filled in the columns that were not mapped so far. The mappings should now be:SQL server column Oracle Column TransformationDear Dear Change 0 into MrChange 1 into MrsChange 2 into MsFirst_Name, Last_Name CUST_NAME Concatenate the firstname and the last name.Capitalize the first letterfor both. Put a spacebetween first and lastnameAddress Address None Phone Phone None Age Age NoneAge_Range Age_Range from FileConcatenate Sales repsSales_Persfirst name and last name.Do an RTRIM on both theFirst name and the lastnameCre-Date System date on thetarget machine. Do notmodify this value if thereis an updateUpd_Date System date on thetarget machineCustid Cust_id None City_id City_id None5.4 Data FlowWe now have more source systems, and these different source systems arevisible in the Flow tab. Notice that for the new systems (our two flat files), we now have a choice of LKMs. Make sure that both files use LKM File to SQL to loaddata into Oracle.5.5 RunClick the Execute button. Then go in the operator interface, and expand All Executions to see the outcome of your job. If you have an error (red stop sign) go back to your interface and fix the problem.A successful interface should insert 5 records.Exercises for Lesson 5 Transformations, Introduction to Metadata and XML Sources1. IntroductionIn this set of exercises, we will add an XML file to our sources. For this, we willfirst reverse-engineer an XML file to introduce the notion of Metadata. Then wewill use the imported Metadata to replace one of the flat files we were using inthe previous lesson.2. Reverse engineer the XML fileThe path to the XML file (as well as the name of the file) are defined in the Topology interface. The most advanced students can investigate the Topologyand look at the definition of the XML data server, but we will cover this in the next chapter. For the time being, we will use the pre-defined schemas from the Topology interface.In Designer, select the Model tab in the tree view.To create a new model click on the icon circled below:The following window will be displayed:Set the values as follows:- Name: XML_SALES_REPS_5- Code: XML_SALES_REPS_5- Technology: XML- Logical Schema: XML_SALESIn the Reverse tab, set the Context to Development:In the Selective Reverse tab, you should see all the elements of the XML file listed as tables if you select the options Selective Reverse, New Datastores and Objects to Reverse. Click the Reverse button to import the metadata.Once you have imported the metadata, check out the following:- List of tables created by ODI during the Reverse Engineering process - Additional columns created by ODI for the conversion of the hierarchical structure into a relational structure (PK columns, FK columns, “order”columns.)3. Use XML as a sourceDouble click on the interface Customer Lesson5Add the following sources:- CITY from MS SQL server- AGE_GROUP from the files file AGE_GROUP.TXT- SALES_PERSON from the XML file- INFO from the XML fileTarget table: CUSTOMERS from Oracle3.1 JoinsJoin CUSTOMERS with AGE_GROUP with the AGE between the AGE_MIN and the AGE_MAXJoin CUSTOMERS with SALES_PERSON on SALES_PERS_ID / SALES_ID Join SALES_PERSON with INFO on SALES_PERSONPK/SALES_PERSONFK.3.2 MappingsAuto-mapping should have filled in the columns that were not mapped so far. The mappings should now be:SQL server column Oracle Column TransformationDear Dear Change 0 into MrChange 1 into MrsChange 2 into MsFirst_Name, Last_Name CUST_NAME Concatenate the firstname and the last name.Capitalize the first letterfor both. Put a spacebetween first and lastnameAddress Address None Phone Phone None Age Age NoneAge_Range from FileAge_RangeSales_Pers Concatenate Sales repsfirst name and last nameCre-Date System date on thetarget machine. Do notmodify this value if thereis an updateUpd_Date System date on thetarget machineCustid Cust_id None City_id City_id None3.3 Data FlowThe XML source is considered as a SQL source: as such, it can use the LKMSQL to Oracle Knowledge Module.Make sure that the flat file uses LKM File to SQL.For the IKM, set the options to the following values:Flow_Control: NODelete_All: YESAll other options must be set to their default value.3.4 RunClick the Execute button. Then go in the operator interface, and expand All Executions to see the outcome of your job. If you have an error (red stop sign) go back to your interface and fix the problem.Exercises for Lesson 6 Data Integrity1. IntroductionAs seen in the theoretical part, data quality can be applied on existing resource, as well as applied while transferring data from one system to another. We will cover both aspects of data quality here.2. Update the Project: Import the Knowledge ModulesSo far, all the projects we have used already had the necessary KM. In real life, you have to import the KMs for your projects. Here, we will import KMs that we will need for data quality:• CKM Oracle•IKM Oracle Incremental UpdateTo import the KMs, right click on the project name (Lesson 6 – Data Integrity) and select Import / Import Knowledge Modules. The KMs are in the following directory:- ../impexp- or C:\Program Files\oracle\oracledi\oracledi\impexpYou can select multiple KMs together when you do the import.3. Check the Quality of Existing Data In the Model SQL_Server_Sales that contains the tables from Microsoft SQL server, expand the CUSTOMER table and add the following constraint:- New foreign key (reference): CITY_ID must match the CITY_ID from the CITY tableHint: Expand the table name. Right click on constraints and select Insert Reference. Select the CITY table from the list. In the Columns tab, add CITY_ID for both tables to define the relationship.Once the foreign key has been defined, go in the Control tab, and click Check to check if existing data in the table would violate the new rule.We expect 8 errors for this control.4. Define Rules to Be Enforced During the Data LoadWe will now define constraints on our target table. On the CUSTOMERS table in Oracle Sales Warehouse, define the following check constraint (or Condition): Name: Age CheckType: Oracle Data Integrator ConditionConstraint: Age>21Error message: Customer age must be over 21Since we already have data in the target table, we can click on the Control tab and check for records that would already violate this constraint.5. Re create the Initial Interface with Data Quality in PlaceThe interface in the project Lesson 6 – Data Integrity is a copy of the one you created in Lesson 4.2. Delete the following elements:- the filter on the Customers table- the City table that is joined with the customersWe are now left with the following source tables:- CUSTOMER from MS SQL server- SRC_AGE_GROUP.TXT and SRC_SALES_PERSON.TXTOur target table is: CUSTOMERS from OracleOur joins are:- CUSTOMERS with SALES_REPS on SALES_PERS_ID- CUSTOMERS with AGE_GROUP with the AGE between the AGE_MIN and the AGE_MAXMappings:- Change the mapping for the customers’ age so that we can experience both inserts and updates;- Use the CITY_ID from the SQL Server CUSTOMER table.Source Column Oracle Column TransformationDear (SQL server) Dear Change 0 into MrChange 1 into MrsChange 2 into MsFirst_Name, Last_Name (SQL server) CUST_NAME Concatenate the firstname and the last name.Capitalize the first letterfor both. Put a spacebetween first and lastnameAddress (SQL server) Address NonePhone (SQL server) Phone NoneAge (SQL server) Age Age+1 Flat File Age_Range Age_Range from FileFlat file Sales_Pers Concatenate Sales repsfirst name and last name(with RTRIM)- Cre-Date System date on thetarget machine. Do notmodify this value if thereis an update- Upd_Date System date on thetarget machineCustid (SQL server) Cust_id NoneCity_id (SQL server) City_id NoneKnowledge Modules;In the Flow tab:On the Staging Area + Target, select the following KM:- IKM Oracle Incremental updateReset all options in the IKM to their default values (click on the caption of theStaging Area + Target box in the Flow tab)In the Control tab:- Select the CKM Oracle.Run the transformation and check the following:- Statistics in the logs: How many errors? How many updates? How many inserts?- On the target table, in the metadata: what are the errors? Why? Hint: you should have 15 errors identified by ODI. If you have 16 errors, make sure that you have updated the mappings for the customer age as described above.There should also be 5 updates and 34 inserts for that process.Bonus question: What can we do with the errors?Exercises for Lesson 7Metadata1. ReviewThe connection to the physical databases and systems has been defined in Topology. From the designer environment, we only need to consider the logical schemas.2. OverviewIn this lesson we will create models. ODI Models contain the metadata needed to build our transformations.3. Assignment1. Oracle:Insert a model for the Oracle metadata:o Name: Oracle Sales DWHo Code: ORACLE_SALES_DWHo Technology: Oracleo Logical Schema: ORACLE_SALES_DWo Context: Development (select this in the “Reverse” tab)In the “Selective Reverse” tab, select all the tables except for the BIN$% tables. Then click on the “Reverse” button at the bottom right of the window to import the metadata for the selected tables.2. Microsoft SQL server:Insert a model for the Microsoft SQL Server metadatao Name: SQL Server Sales DBo Code: MSSQL_CUSTo Technology: Microsoft SQL Servero Logical Schema: MSSQL_CUSTo Context: Development (select this in the “Reverse” tab)3. Flat Files3.1. Insert a model for the File metadatao Name: File Source Datao Code: FILE_DEMO_SRCo Technology: Fileo Logical Schema: FILE_DEMO_SRCo Context: Development (select this in the “Reverse” tab)3.2. Open this file in notepad:C:\Program Files\Oracle\oracledi\oracledi\demo\file\SRC_AGE_GROUP.txtAnswer the following questions about this file's structure:o Fixed or Delimited:o Number of header rows:o RecordSeparator:Separator:o Field3.3. Open this file in notepad:C:\Program Files\Oracle\oracledi\oracledi\demo\file\SRC_SALES_PERSON.txt Answer the following questions about this file's structure:o Fixed or Delimited:o Number of header rows:Separator:o RecordSeparator:o Field3.4. Delimited File:3.4.1. Insert a new Data Store in the model File Source DataSRC_AGE_GROUP.txto Name:o Resource Name: SRC_AGE_GROUP.txt3.4.2. Set the appropriate file format information on the Files tab.Refer to your answers from step 3.2. At this point, you need to clickon “Apply” to save your changes. You will be prompted to lock theobject. Do not lock the object. This would prevent the next step fromworking.3.4.3. On the Reverse Tab reverse the column metadata (click on the“Reverse” button).3.4.4. Apply to save the new file definition. You can manually edit thecolumn names, data types and sizes for each column.3.5. Fixed Format File:3.5.1. Insert a new Data Store in the model File Source Data.SRC_SALES_PERSON.txt o Name:o Resource Name: SRC_SALES_PERSON.txt3.5.2. Set the appropriate file format information on the Files tab.Refer to your answers from step 3.3. At this point, you need to click on “Apply” to save your changes. You will be prompted to lock theobject. Do not lock the object. This would prevent the next step from working.3.5.3. Click the “Reverse” button on the Columns tab and use the"Column Setup Wizard" to define the columns in this fixed width file3.5.4. Apply to save the new file definition. You can manually edit thecolumn names, data types and sizes for each column.3.6. Verify that both file Data Stores is working correctly. Right-click on theData Store and choose to view data. If data is not showing or notproperly aligned, you have to fix the file definition:•Check out the data types: numeric columns will only show numbers •Check out the column sizes•Check out the delimiter if you are using one•If you are using a DATE format, you MUST specify the specific format for the date. Use the following format in the “Format” column:dd/MM/yyyy hh:mm:ssExercises for Lesson 8Topology1. IntroductionSo far, we have used a development environment that had been entirely defined ahead of time for us. We will now define a new environment: the production environment.The environment you have been given in VM Ware contains the following elements:- SQL Server 2005 Express Edition- Oracle Express- Apache Tomcat application server- Flat file sources- XML files sourcesOS login:Username: OraclePassword: oracleAdministrator Login and passwords:MS SQL Server:Username: saPassword: saPort: 1084Oracle:Username: systemPassword:systemOracle Data Integrator has been installed for you. The configuration is as follows: ODI is installed in the following directory:The Master Repository is installed in the following schema on Oracle:REP_TRAININGMSchema/User:REP_TRAININGMPassword:The Work Schema is installed in the following schema on Oracle:REP_TRAININGWSchema/User:REP_TRAININGWPassword:Data tables (source and target) have been createdMS SQL Server:Database: SALES_DEV / SALES_PRODOwner: dboUser:sasaPassword:Oracle:Schema/User: CUST_DW_DEV / CUST_DW_PRODCUST_DW_PROD/CUST_DW_DEVPassword:On each Oracle, a staging schema has been created for your convenience:Schema/User: ODI_TMPODI_TMPPassword:The objective of our hands on sessions will be to move data into our Oracle target database from different types of technologies.2. Definition of contextsThe production context already exists. To see how to create a context, we will simply add a new one: the Testing context.Add a new context called TestingTo add a context, select the context tab. Click the “insert context” icon from the toolbar, and name the context Testing. Do not use a password for this context.Only "Development" and "Production" will be are used in this training. Optionally, other contexts may be added.3. Define connections to SQL Server The connectivity to MS SQL Server has not been defined for you. You will have to go through the following steps to be able to connect:1. Check that the the JDBC driver for MS SQL server has been installed inthe ODI /bin directory (on your machine: c:\programfiles\oracle\oracledi\oracledi\drivers). If not, you will find a copy of thedriver here:C:\Documents andSettings\Oracle.XP_ONE\Desktop\Tools\Microsoft SQLServer 2005 JDBC Driver\sqljdbc_1.1\enu\sqljdbc.jarRemember to stop all ODI components and to restart them each time you copy a new driver.2. In Topology, create a new Data Server under the technology MicrosoftSQL Server. This is done in the Physical Architecture panel.o Name: MS_SQL_XPONE_PRODo User: sao Password: sao JDBC Driver: com.microsoft.sqlserver.jdbc.SQLServerDriverBeware: there are 2 different JDBC drivers for Microsoft SQL server2000 and 2005. Make sure that you select the one for 2005. Thedriver names are very similar, but if you choose the wrong driverthe connection will not work.o JDBC URL:jdbc:sqlserver://xpone:10843. Create a new Physical Schema under the new Data Server.o Database:SALES_PRODo Owner: dboo Database (Work Catalog): SALES_PRODo Owner: dbo4. Link the Physical Schema to the logical schema called MSSQL_CUST.Note: If the schema did not exist, you would have to create it:Either: Insert a new line on the Physical Schema context tab byclicking on the blue grid icon: Select the context, and either select thelogical schema from the drop down menu, or type its name.Or: Insert a new Logical Schema in the Logical Architecture panel.Then map this new schema from either the definition of the logical schema or from the definition of the physical schema.Or:Either:5. You can review the mappings between physical and logical names fromthe definition of the logical schema. Make sure that your logical schemaMSSQL_CUST is correctly linked to physical schemas is each context: o Linked to SALES_DEV in the Development contexto Linked to SALES_PROD in the Production context4. Define connections to OracleFor Oracle, create a second physical schema under the existing server: o Schema: CUST_DW_PRODo Work schema: ODI_TMPo Link the schema to the logical schema ORACLE_XPONE_DW using the Production context5. Define connections for Files & XML For the Files and XML technologies, the physical servers are already defined. The Logical Schemas used are FILE_DEMO_SRC and XML_DEMO_GEO.Use the same Physical Schema in both Development and Production.Note: this is not a technology requirement. We only do this to simplify the environment. Normally the development data and production data are defined as different physical schemas.。
什么是ODI及如何办理
什么是ODI及如何办理
ODI是Outbound DirectInvestment的简称,即境外直接投资,除了真实的境外投资,即取得境外真实运营企业的股权或资产外,ODI也经常出现在红筹架构中,为搭建红筹架构,需要进行跨境重组,以实现境内权益结构平移至境外,由于人民币基金通常缺少海外持股主体,ODI是人民币基金绕不开的大山之一,但ODI耗时耗力(财),且充满不确定性,令人民币基金望而却步,但是考虑境内退出的困难及估值的巨大诱惑,人民币基金只能偏向虎山行了。
我司根据现行法律法规的相关规定及实操经验,带你认识ODI和办理ODI的主要流程和需要注意的问题。
ODI涉及三个方向的内容,即境外投资的项目、出境投资的主体、出境的资金,分别对应发改委、商务部门、外管局(银行)三个部门,为缩短篇幅,便于阅读,我司将分三篇来详细相关流程及细节。
一、发改部门及报批材料
(一)法律依据
发改委对境外投资的审核/备案依据是《企业境外投资管理办法》(“11号文”),11号文第四条明确规定,“投资主体开展境外投资,应当履行境外投资项目(以下称“项目”)核准、。
odi使用总结
Oracl e data integrator 介绍1、简介OD是Oracle在2006年10月收购Sunopsis公司后,整合Sunopsis Active Integration Platform而推出的一款数据集成工具,现在是Oracle Fusion Middleware的组件。
与OWB一样,ODI也是“ELT”而非“ETL”工具,Oracle不采用独立的引擎而是充分利用RDBMS的能力进行数据转换,减少网络流量、平衡和提高性能的同时降低投入总成本。
传统ETL传统的提取、转换和加载(ETL)工具操作流程是先提取各种来源的数据、在一个专有的中间层的ETL 引擎上转化数据,然后将转换后的数据上传到目标数据仓库或集成服务器。
因此,术语ETL 代表了名称以及执行的操作的顺序。
ETL 引擎在row-by-row的基础上执行数据变换(有时是数据质量检查),因此,在整个流程中很容易成为瓶颈。
此外,数据必须在网络中转移两次,一次在数据源和ETL 服务器之间,再一次在ETL 服务器和目标数据仓库之间。
E-LT 的特点E-LT 方法改变了数据转换在何处以及怎样发生,并最大限度地利用现有的开发技能、RDBMS 引擎和服务器硬件。
在本质上,E-LT 在目标RDBMS 上重新部署了数据转换的步骤,将操作的次序改变为:从源表提取数据,将表装载到目的服务器,然后在目的RDBMS 上使用本地SQL 操作转换数据。
Oracle Data Integrator的Knowledge Module 实现了集成过程如何发生。
Knowledge Module 也可完全扩展。
每个Knowledge Module类型涉及一个特定的集成任务:●为Oracle Data Integrator反向工程来自异构系统的元数据●在给定系统上处理Changed Data Capture(CDC)●从一个系统加载数据到另一个系统,用系统优化的方法●在目标系统整合数据,利用特定的策略(插入/更新,慢慢改变规模)●在数据流上控制数据的完整性●以服务形式展示数据关于ODI与OWB的疑惑1、OWB有DW建模功能,而ODI没有。
OracleODI开发培训
强化安全和合规性
随着数据安全和隐私保护意识的提高,Oracle ODI将进一步加强安全 和合规性方面的功能和措施,保障数据的安全和隐私。
THANKS FOR WATCHING
感谢您的观看
2010年
Oracle ODI 11g Release 2(11.2) 发布,增加了对云计算和大数据技术 的支持。
2013年
Oracle ODI 12c Release 1(12.1) 发布,进一步增强了产品的性能和可 扩展性。
2017年
Oracle ODI 12c Release 2(12.2) 发布,增加了对人工智能和机器学习 的支持。
了更高的要求。
数据类型多样
除了传统的结构化数据,还涉及到大量的 非结构化数据,如文本、图像等,需要 Oracle ODI支持更多类型的数据处理。
实时数据处理需求
随着业务对数据处理速度的要求越来越高, Oracle ODI需要具备实时数据处理的能力。
云计算集成
Oracle ODI需要与云计算平台更好地集成, 实现数据在云端的高效流转和处理。
02 Oracle ODI 开发基础
Oracle ODI 开发环境搭建
Oracle ODI 开发环境要求
Oracle ODI 开发需要安装 Oracle Database、Oracle ODI 软件以及相应的开发工具, 如 Eclipse 或 SQL Developer。
安装与配置
按照官方文档的指引,正确安装和配置 Oracle ODI 开发所需的环境和工具。
编码
按照设计文档,使用 Oracle ODI 支持的语言进 行编码实现。
ODI开发培训
资料档案库
资料档案库分两种:
1、Master Repository 保存企业或IT资源的Topology,保 存项目和数据模型的安全信息,版本信息。通常创建 一个即可。Master Repository要尽可能独立存储,单 独的Instance,或单独的Schema。 2、Work Repository 保存项目和数据模型,供ODI图形 模块等使用,可以创建多个。一个Work Reporitory 只 能连接一个Master Repository。一个Schema只能存 储一个Work Repository ,不过Master Repository倒 可与其安装在同一Schema。
Click drop box
1 2
3
2 - 14
Copyright © 2010, Oracle and/or its affiliates. All rights reserved.
创建工作资料库( ) 创建工作资料库(1)
4. Creating a Work Repository
2
1
2 - 15
Heterogeneous access
Data Sources Connection Pool
Repositories
ODI Master Repository Metadata is an open relational model with builtin Flex Fields
Sources and Targets
JVM
Run-time WS Standalone Agent
ODI Work Repository Legacy Files / XML DBMS Applications ERP/CRM/PLM/SCM DW / BI / EPM
odi的用法
ODI(Oracle Data Integrator)是Oracle公司推出的一款ETL(Extract-Transform-Load)工具,它支持多种数据源,包括Oracle、MySQL、DB2、Informix等,同时也支持多种数据接口,如JDBC、Oracle SQL*Net、Sybase Open Client等。
ODI的主要用法包括以下步骤:1.安装ODI:首先,您需要在您的计算机上安装ODI。
您可以从Oracle的官方网站下载最新版本的ODI安装程序,并按照安装指南进行安装。
2.创建新ODI应用程序:在ODI中,您可以创建一个新的应用程序来引入ODI平台,或者从旧的ODI中提取并在新应用中进行使用。
3.连接源和目标实体:使用ODI的源系统管理功能连接源实体,并使用接受系统管理功能连接目标实体。
4.创建数据模型:在ODI中,数据模型是一个核心的概念,它描述了数据的结构、属性和关系。
您可以使用ODI的数据建模工具创建一个新的数据模型,或者从现有的数据源中提取数据模型。
5.编写业务逻辑:在ODI中,业务逻辑是一组规则和条件,用于定义数据的转换和映射规则。
您可以使用ODI的图形化界面编写业务逻辑,或者使用ODI提供的脚本语言(如JavaScript、PL/SQL等)编写业务逻辑。
6.运行和监控任务:在ODI中,任务是一个可重复执行的流程,用于实现特定的数据处理任务。
您可以使用ODI的图形化界面运行和监控任务,或者使用ODI提供的命令行工具运行和监控任务。
7.输出结果:在ODI中,输出结果是一个重要的环节,用于展示数据处理的结果。
您可以使用ODI提供的图形化界面查看输出结果,或者使用ODI提供的命令行工具导出输出结果。
以上是ODI的主要用法,希望能对您有所帮助。
对外直接投资:理论、实践和中国的战略选择
四、案例分析
以某民营汽车制造企业为例,该企业通过跨境并购的方式获得了国际先进的 汽车制造技术和品牌优势,迅速提升了自身的竞争力。同时,该企业在投资过程 中与当地政府和相关企业建立了良好的合作关系,有效降低了市场准入门槛和投 资风险。然而,在整合过程中,该企业也面临着文化差异和员工福利等挑战。
3、目标定位:中国企业在选择对外直接投资目标时,应结合自身发展战略 和国家利益,有目的地选择投资领域和区域。此外,要重视企业自身能力的提升, 以更好地适应海外市场的环境。
4、风险管控:中国企业应加强对外直接投资的风险意识,完善风险评估和 预警机制。在实践中,要注重当地环境、法律法规等方面的调查和研究,以便更 好地规避和应对潜在风险。
2、中国石油化工集团公司:中石化在对外直接投资过程中,以能源和化工 领域为重点。通过在海外收购油田、炼油厂等资产,中石化实现了资源的多元化 供应,提高了企业的国际竞争力。
3、中国高铁:中国高铁在对外直接投资过程中,以技术合作为主要方式, 与多个国家签署了高铁建设和运营协议。通过输出高铁技术和人才,中国高铁在 海外市场上树立了良好的口碑,为国家的“一带一路”倡议做出了积极贡献。
四、结论
本次演示从理论和实际两个层面分析了对外直接投资的相关问题。通过理论 分析,我们认识到ODI的驱动因素、经济效益以及风险管控的重要性;而在实践 部分,我们通过具体案例探讨了ODI的操作流程及解决相关问题的策略。此外, 我们还分析了中国在对外直接投资中的战略选择,提出了一些建议和思考。
未来研究方向和意义:
再比如,吉利汽车通过对沃尔沃的收购,成功进入了国际汽车市场,并通过 整合双方资源实现了快速发展。这一案例的成功原因则在于市场洞察力、资源整 合能力和国际化人才队伍的支撑。
odi资金使用计划说明
odi资金使用计划说明哎呀,大家好,今天咱们聊聊ODI资金使用计划,这可是个大话题,听起来是不是有点严肃?别担心,咱们轻松点聊。
ODI,嘿,就是“境外直接投资”的缩写。
说白了,就是把咱们的钱拿去国外投资,买买买,赚赚赚!这可不是随便瞎折腾的事,得有个详细的资金使用计划。
想象一下,咱们要出国旅行,得提前把行程规划好,不然到了地方不知道去哪里玩,是吧?同理,资金使用计划就是咱们的旅行指南。
里边得清楚写着:去哪儿,怎么玩,花多少钱。
哈哈,别以为这是小事,资金的运用可是关乎咱们能不能实现财务自由的大事呢!计划里得列得明明白白,咱们要把钱花在哪些项目上,比如说基础设施建设,科技创新,甚至是教育发展,这些都是让钱生钱的好路子。
再来谈谈怎么预算。
预算就像是个大锅,得把各项费用都倒进去,最后才能煮出一锅美味的汤。
要考虑各种可能的支出,比如投资成本、运营费用,还有那些你永远也想不到的“意外支出”。
就好比旅行中,你以为预算足够,结果一到那儿,发现景点门票涨价,哎呀,得多花一笔。
这些细节不能马虎,要认真对待。
然后,咱们说说风险管理。
投资就像玩游戏,大家都想赢,但有时候会掉进坑里。
风险就像是那隐形的绊脚石,可能在你不经意间就让你摔个四脚朝天。
为了不让这种情况发生,咱们得做好风险评估。
就像是旅行前查看天气预报,不然你可别说你没带雨伞,结果一场大雨下来,全身湿透,真是狼狈不堪。
风险评估要细致,考虑各种可能性,制定应对方案,这样一来,咱们的投资才能稳如老狗,稳稳的往前走。
咱们在做资金使用计划的时候,也得考虑社会责任。
钱花出去不仅要给自己带来收益,也得为社会带来好处。
就像大家常说的“施比受更有福”,投资不仅是为了自己,还能促进经济发展,创造就业机会,这可是一举多得的好事。
比如说投资教育,咱们培养出更多人才,不仅为社会发展添砖加瓦,还能提高咱们的投资回报率。
双赢啊,简直太划算了!资金的使用计划可不能一成不变。
市场瞬息万变,咱们得随时关注投资环境的变化,灵活调整自己的计划。
odi境外投资备案底层逻辑与注意事项
odi境外投资备案底层逻辑与注意事项
境外投资备案是指中国居民个人、企业或其他组织将资金投资于境外市场时,需要向国家相关机构备案登记。
境外投资备案有着一定的底层逻辑和注意事项。
底层逻辑:
1. 符合法律规定:境外投资必须符合中国法律和相关政策规定。
投资方需了解相关规定,并确保其投资项目符合法律要求。
2. 确保资本充足:投资方需要确保投资的资金来源合法,并符合中国外汇管理的规定,以保证投资项目的顺利进行。
3. 注重风险防控:境外投资涉及到外部市场的风险,投资方需进行风险评估,并采取相应措施进行防控,避免损失。
4. 按程序备案:投资方需按照相关机构规定的程序进行备案登记,包括填写申请表、提供相关资料等。
注意事项:
1. 合规性:投资方需确保自己的境外投资行为合规,符合中国的法律和规定。
如有需要,可以咨询专业机构或法律顾问的意见。
2. 信息披露:投资方需要及时披露相关信息,包括投资金额、投资对象以及收益情况等,以便相关机构能够进行监管和管理。
3. 资金安全:投资方应关注境外投资项目的资金安全性,选择稳健、可靠的投资渠道,并防范潜在的风险。
4. 税务规划:投资方需考虑境外投资所带来的税务影响,并进行合理的税务规划,以优化投资回报。
总之,境外投资备案需要遵守相关法律规定,进行风险评估和
控制,按照程序进行备案登记,并注意合规性、信息披露、资金安全和税务规划等方面的注意事项。
境外直接投资ODI与资金出境实操要点及核心注意事项西政资本版
境外直接投资ODI与资金出境实操要点及核心注意事项西政资本版境外直接投资(Outward Direct Investment,ODI)是指居民投资者将资金或其他资源用于在境外建立企业、参股境外企业或购买境外企业股权的行为。
ODI是国际投资的一种形式,对于企业来说,有助于拓展市场、获取资源、提升竞争力等。
在进行境外直接投资和资金出境操作时,需要注意以下要点和核心注意事项:1.合规性审查:在进行ODI前,应进行合规性审查,确保投资项目合法、符合相关法规和政策,并排除潜在的法律风险。
2.项目选择与尽职调查:选择符合公司发展战略的投资项目,并进行充分的尽职调查,包括市场调研、财务审查、法律风险评估等。
3.国别风险评估:对于投资目标国家的政治风险、经济环境、法律法规等进行评估,避免因国别风险导致投资失败或损失。
4.资本金结汇与出口核查:根据相关规定,需要向外汇管理部门申请资本金结汇,同时确保符合出口核查政策,避免违反资本项目管理的规定。
5.合同签订与知识产权保护:在与境外投资方进行合作时,应签订合适的合同,并注意保护知识产权,避免技术流失和知识产权纠纷。
6.税务规划与合规:根据目标国家的税收政策,合理规划税务结构,确保投资项目在税务上符合相关合规要求,避免发生税务争议。
7.外汇管制与汇款手续:根据外汇管理部门的规定,完成资金出境审批和汇款手续,确保按照规定合法、正常地将资金汇出境外。
8.监控与风险管理:对已经进行的投资项目进行监控和风险管理,确保项目的可持续发展和回报。
9.遵守当地法律法规和商业道德:投资者应遵守投资所在国家的法律法规和商业道德,维护投资者的声誉和利益。
10.持续学习和调整策略:由于国际环境的变化,投资者需要持续学习和关注国际形势,及时调整投资策略和决策。
三分钟了解境外投资ODI备案
三分钟了解境外投资ODI备案,速速收藏!一家企业想要向海外发展,一定会接触到境外投资备案。
如果对政策、流程不够熟悉的话,肯定会不断地跑来跑去,那么企业该如何申请境外投资备案?有哪些要求和条件?01对外投资备案(核准)对象关于ODI,英文全称为Overseas Direct Investment,即境外直接投资,指国内企业、团体在经过相关部门的核准后,通过设立、并购、参股等方式在境外直接投资,以控制境外企业的经营管理权为核心目的投资行为。
对外投资备案(核准)对象主要分为三种:1、设立最终目的地企业需备案(核准)为掌握对外投资资金真实去向,同时也有利于政府部门为对外投资企业提供精准服务和保障,《暂行办法》明确对外投资备案(核准)实行最终目的地管理原则,进行“穿透式”管理。
根据《暂行办法》规定,除另有规定的以外,对外投资的市场主体、决策主体、执行主体和责任主体,按照“政府引导、企业主导、市场化运作”的原则开展对外投资,在境外设立(包括兼并、收购及其他方式)企业前,应按规定向有关主管部门提交相关信息和材料;符合法定要求的,相关主管部门为其办理备案或核准。
这里所述的企业为最终目的地企业,最终目的地指境内投资主体投资最终用于项目建设或持续生产经营的所在地。
这就是所谓的最终目的地管理原则。
2、空壳公司不备案(核准)穿透性管理意味着对于最终目的地企业设立的路径上所进行的投资行为不予理会。
具体而言,就是对于境内投资主体投资到最终目的地企业的路径上设立的所有空壳公司,管理部门均不予备案或核准。
3、最终目的地企业再投资不备案(核准)同时,这种管理不是无限穿透,最终目的地企业再开展的投资活动不属于现行对外投资管理范畴,无需办理对外投资备案或核准手续。
02 QDI备案的流程QDI备案的流程发改委核准或备案→商务部核准或备案→外汇管理局备案(银行放外汇,外管局监管)→实施ODI。
境外投资备案主要需要取得三个主管部门的核准、备案和登记,分别是国家发展和改革委员会(简称发改委)或地方发改委的核准或备案、商务部或地方商务部门的核准或备案、以及国家外汇管理局地方分局(所在地银行直接办理,地方外管局通过银行实施间接监管)的外汇登记程序。
ODI教程_自己总结
ODI教程_自己总结ODI教程ODI-- Oracle Data Integrator 是一个全面的数据集成平台,它能满足所有数据集成要求,涉及领域包括高容量、高性能批处理、事件驱动的少量传送集成过程以及支持SOA 的数据服务,在数据加载过程中也提供了数据质量检查,监控等功能,使数据更符合业务要求.提到ETL大家都很熟悉,数据提取,转换,加载的产品.我们平时自己也会开发一些类似ETL的小工具,把不同数据源汇总到一个目标数据源.但如果数据源很多,表也很多的话,这样的工作就是比较复杂的过程,我们需要做很多定制开发工作.而数据库之间的数据转换接口又很难满足我们对数据质量的要求,数据传输过程中的性能问题也会经常让人头疼.ODI的前身是Sunopsis公司的数据集成产品:2006年10月9日甲骨文宣布收购法国数据集成软件公司Sunopsis SASunopsis 公司产品用于把数据从不同来源例如数据库以及企业资源计划(ERP)等应用整合到一个目标地方,供数据分析和其他任务使用.Sunopsis总部在法国,成立1998年,客户有环球唱片集团德国公司,道达尔石油集团意大利子公司等.从技术角度来看看ODI特点:1.ODI本身是一种开放的价构,支持几乎所有目前流行的关系数据库.而且它是Java开发的产品,可以跨windows,unix平台,同时还能与中间件融合,可以融合到整个IT架构中.2.ODI推出ELT架构,与传统的ETL架构相比,少了中间的转换引擎.很多ETL产品都需要安装自己的转换引擎,而ODI直接调用源数据或目标数据服务器的数据库端.这样,实际数据处理,相当于数据库与数据库之间的连接处理,而数据库服务器处理效率远高于单独一台转换引擎做转换,因为它始终保持数据在数据库中处理.3.ODI有自己的知识模块,这些知识模块可以根据需求进行选择,而且这些知识模块支持开放式的设计,可以用自己熟悉的数据库语言或者Java语言来实现,可以更好地设计数据库流和业务要求.ODI可以结合数据库的优化模式,可以通过知识模型设计自己的知识模块,使处理数据更快.4.ODI 可以把数据发布成服务与SOA进行完美结合,使ODI可以结合到业务流程当中,通过Web服务的方式进行数据实时地查看和修改.ODI几个基本概念ODI安装配置时候,总是有逻辑架构、上下文、物理架构,还有就是Flow.还有一个就是被问的最多的,Staging Area是不是相当于ETL服务器的Transformation.个人理解:Flow:如果用Flow Control Option进行集成控制,必须选择update key.update key 是目标数据源中一个可以唯一识别一行的列集合。
ODI知识模块
Oracle ODI系列之一(ODI知识模块)ODI简介ODI(Oracle Data Integrator)前身是Sunopsis Active Integration Platform,在2006年底被Oracle收购,重新命名为Oracle Data Integrator。
主要定位于在ETL和数据集成的场景里使用。
ODI和Oracle原来的ETL工具OWB相比有一些显著的特点,比如和OWB一样是ELT架构,但是比OWB支持更多的异构的数据源等等,本系列文章将逐步介绍ODI的一些基本概念。
什么是ODI的知识模块个人觉得Oracle的Data Integrator里最好最有特点的特征是提出了知识模块的概念(Knowledge Module)。
ETL的发展总是从手工编程开始,然后逐渐出现专门的ETL工具,其实我们在项目里所能够遇到的一些场景(如把文件载到数据库,从Mysql数据库抓取数据放到Oracle数据库里,从DB2把数据抓取出来放在Oracle数据库里等)撇开这些数据抽取和转换工作的业务部分,其实总是可以总结为file->OracleMysql->OracleDB2->OracleOracle->DB2……如果撇开具体的项目不谈,这些都是一些被反复使用的场景,ODI提出了知识模块的概念,把这些场景的详细的实现步骤作为一个一个的知识模块并使用Jython脚本语言结合数据库的SQL语句录制成一步一步的步骤忠实地记录下来,这样就形成了ODI里的100多个知识模块,基本上包含了所有普通应用所涉及到的所有场景。
更方便的是,用户既可以直接使用ODI的知识模块完成数据的获取工作,也可以直接在知识模块上面做各种定制,比如某一个业务场景可能并不需要知识模块里的某一个特定的步骤,那就可以直接把该步骤删除掉从而提供更好的性能。
当然用户也可以完全自己来开发这些知识模块。
ODI知识模块(Knowledge Module)的分类ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM:RKM完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。
ODI软件使用培训
ODI工具介绍Oracle的数据集成类工具。
Oracle ODI是使用E-LT的理念(Extract、Load & Transform,即抽取、装载、转换)设计出来的数据抽取/数据转换工具。
ODI组件ODI主要是以下组件组成的:资料库(Repository):Master Repository、Work Repository。
设计工具,主要用以下设计工具:Topology Manager :描述物理和逻辑构架,在主资料库中标示服务器、Schema、代理。
Security Manager :管理ODI用户及权限,可以给配置文件及用户访问对象的权限。
Designer:是ODI开发的主要组件,创建和执行DataStores、Interfaces、Procedure、Packages,客户化KM等操作Operator:管理和监控数据转换任务的执行情况,可用于调试。
计划代理(Schedule Agent):属于Runtime组件,因为ODI采用E-LT 架构,所以Schedule Agent只用来调度执行ELT任务,其数据转换引擎很少用到。
另外还有三个需要单独安装的组件:Metadata Navigator、Lightweight Designer、Public Web Services。
ODI接口ODI接口主要分为两类:静态接口和动态接口。
静态接口用于数据初始化,只在接口运行初期执行一次。
动态接口用于数据维护,是实时性的。
静态接口:我们一般做的全局数据同步,或数据复制都是静态接口动态接口:(1)筛选:根据项目需要会写SQL语句来筛选数据。
(2)CDC:增量集成时会用到,比如:添加订阅者,生成日志。
KM(知识模块)ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM:RKM:完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AIMDO.060P UBLISH U SER R EFERENCEM ANUALODI学习笔记Author: Derek.JaaCreation Date: January 1, 2009Last Updated: January 29, 2009Document Ref: ODI090101Version: 1.0Approvals:<Approver 1><Approver 2>Copy Number _____Document ControlChange RecordReviewersDistributionNote To Holders:If you receive an electronic copy of this document and print it out, please write your nameon the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, fordocument control purposes.ContentsDocument Control (2)Part 1 – Overview (4)1. ETL & E-LT (4)2. Oracle Data Integrator架构 (4)3. Knowledge Modules [知识模型] (6)Part 2 – ODI设置&简单数据整合 (7)1. 完成Getting Start (7)2. 创建Repository Storage Space (7)3. 创建Master Repository (8)4. 连接至Master Repository (9)5. 创建Work Repository (10)6. 连接至Work Repository (11)7. 创建Oracle Data Server (12)8. 创建Physical Schema [物理架构] (13)9. 创建Logical Schema [逻辑架构] (14)10. 创建Project [项目] (15)11. 导入Knowledge Module (15)12. 创建Data Module & Reverse-engineer (16)13. 创建 & 执行Interface (17)14. 为Datastore启用简单CDC (18)15. 为Datastore启用一致性CDC (19)16. 创建Physical Agent [物理代理] & Logical Agent[逻辑代理] (21)17. 创建Scenario并使用Agent运行 (22)18. Interface/Package调试及KM分析 (23)Appendix (24)ODI连接Microsoft SQL Server 2005 (24)Open and Closed Issues for this Deliverable (25)Open Issues (25)Closed Issues (25)Part 1 – Overview阅读:An Introduction to Real-Time Data Integration1. ETL & E-LTContent无论是ETL还是E-LT,其基本目标是通过Extract/Transformation/Load这几个过程达到将源数据整合并放入目标数据库/数据仓库的过程。
ETL的基本思路是通过独立开发的转换引擎,将源数据抽取,在转换引擎中完成转换整合的过程,最终将数据载入到目标数据库或数据仓库。
而E-LT的基本思路是充分运用源与数据RDBMS(关系型数据库)达成转换的目标,即运用RDBMS厂商提供的功能及SQL语句完成转换,而非在自己开发的转换引擎中完成转换的过程,类似于通过手工编程的方式完成ETL。
E-LT的转换不仅发生在目的端,同样发生在源数据端。
它的原则就是在转换效率最高的一端完成数据转换。
但在通常情况下,将Staging Area建立在目的端。
2. Oracle Data Integrator架构ContentOracle Data Integrator统合在一个模块化的数据仓库下,并可用基于Java编写的图形化开发管理工具以及计划代理程序进行访问。
ODI的数据仓库包括一个主仓库(Master Repository),用于保存用户及角色信息,连接其他数据库或数据源,不同版本的项目。
一个主仓库包含一个或多个工作仓库(Work Repository),包含具体的数据以及在用户与整合数据间建立关联。
数据仓库可以建立在Oracle数据库或其它数据库上,并可通过开发工具进行管理以及通过计划代理程序进行访问。
ODI提供了以下几种管理工具:l Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括data store的定义,interface(数据映射关系)和package(相当于workflow)的创建等,都是在Designer中完成。
l Operator用于管理和监控数据转换任务的执行情况,在设计阶段,也可用于调试(debugging)l Topology Manager用于定义物理和逻辑基础架构,如work repository的创建和管理等。
l Security Manager用于管理用户权限以及一个计划代理程序:l Schedule Agent计划代理,用于调度执行数据转换任务。
计划代理同时也带有一个数据转换引擎,但是ODI采用E-LT架构,所以基本上计划代理只是将任务传递给目标库,其数据转换引擎很少用到。
3. Knowledge Modules [知识模型]ContentOracle Data Integrator之所以能适应不同的、多种多样的数据源,灵活有效的完成数据抽取/转换/载入的过程,均是基于其知识模型体系。
Knowledge Modules类似于程序中的插件,Oracle Data Integrator将数据整合的任务抽象出六个组成部分l[反向工程]Reverse-engineering knowledge modules:用于从数据源读取表及其他对象。
l[日记]Journalizing knowledge modules:用于为单一或一组表/视图记录新建的和修改的数据。
ODI支持部分数据源的Change Data Capture(CDC)功能,前提为ODI项目中启用该模块。
l[加载]Loading knowledge modules:用于从数据源抽取数据。
l[检查]Check knowledge modules:用于检测抽取出的源数据的合法性。
l[集成]Integration knowledge modules:用于将Staging Area中的数据转换至目标表,基于目标数据库产生对应的转换SQL。
l[服务]Service knowledge modules:提供将数据以Web Services的方式展现的功能。
Part 2 – ODI设置&简单数据整合l Environment:Oracle 10g作为源及目的数据库,分别建立两个实例:PRODDB/TESTDB,每个实例下均建立USER: DEREK。
l示例目标为实现Oracle – Oracle的Data Integrate,并启用CDC。
l步骤2 ~ 8为设置;l步骤9 ~ 13为TestProject。
该Project假设对应Schema下均存在表XHU_ITEMS_19,建立SQL如下:create table XHU_ITEMS_19(ITEM_ID NUMBER not null,ITEM_NUMBER VARCHAR2(30) not null,ITEM_NAME VARCHAR2(100) not null,ITEM_DESCRIPTION VARCHAR2(255),START_DATE_ACTIVE DATE,END_DATE_ACTIVE DATE)tablespace USERS;alter table XHU_ITEMS_19add constraint ITEM_ID primary key (ITEM_ID);1. 完成Getting StartContent安装完成Oracle Data Integrator后,在开始菜单Oracle Data Integrator文件夹中,有Documentation Library。
其中有文档Getting Started with an ETL Project,是以ODI自带的一个Demo为示例进行的简易开发介绍。
首先完成此过程,具体内容见文档。
2. 创建Repository Storage SpaceContentRepository Stroage Space即用于创建Master Repository/Work Repository的空间,通常建立在目标数据库中。
具体表现即为多个Schema(User)。
依据Installation Guide Page 19,应分别为Master Repository及Work Repository分别建立不同的Storage Space(Schema)。
本例中均使用DEREK这个Schema。
Sample3. 创建Master RepositoryContentN: 开始菜单/程序/Oracle Data Integrator/Repository Management/Master RepositoryCreation在确认前,首先使用测试连接测试与数据库的连接是否可用。
Sample4. 连接至Master RepositoryContentN: 开始菜单/程序/Oracle Data Integrator/ Topology Manager点击“新建”;其中Login name可以自定,ODI Connection的User和Password为创建Master Repository时ODI默认的用户名和密码,可以在登录后修改。
使用Test测试连接,成功后确认。
Sample5. 创建Work RepositoryContentN: 开始菜单/程序/Oracle Data Integrator/ Topology Manager1.使用步骤2.4建立的ODI Connection进行登录。