Oracle Data Integrator 11G and 12C Online Training
Monday, 8 December 2014
Wednesday, 3 December 2014
What is Simulation in Oracle Data Integrator ?
---------------------
Simulation is a option for to know complete background process report for Interfaces,
Procedures and Packages. Simulation will give us complete report for execution process like
Each step and stak information, SQL qeuries for your source and target commands...
but simulation is not creating any session and it is not transforring any data from source taget.
Tuesday, 5 August 2014
odi-20730: There are critical issues still outstanding, please fix all critical issues.
odi-20730: There are critical issues still outstanding, please fix all critical issues.
Solution:
This is an common issue with if are using smart import. While using smart import we need to select action as
"Merge" or "Overwrite" or "Ignore" . It will throw this error if objects are already exits in repository.
Solution:
This is an common issue with if are using smart import. While using smart import we need to select action as
"Merge" or "Overwrite" or "Ignore" . It will throw this error if objects are already exits in repository.
Sunday, 3 August 2014
Implementing SCD Type 2 and Flow Control in ODI 11G or 12c
Implementing SCD Type 2 and Flow Control in ODI 11G or 12c.
Solution for insert PK errors in Control step.
ODI-1228: Task SCD2 (Control) fails on the target ORACLE connection TARGET_DS.
Caused By: java.sql.SQLSyntaxErrorException: ORA-00904: "SUB"."DIM_EMP_ID": invalid identifier
In SCD2 table DIM_EMP_ID Surrogate key data we are inserting using Sequence. This column data
we are not receiving from source, directly we are inserting using Sequence. But In Flow Control
It will considar Data Quality check at E$Table.
insert into TARGET."E$_15022SCD2"
(
ODI_PK,
ODI_SESS_NO,
ODI_ROW_ID,
ODI_ERR_TYPE,
ODI_ERR_MESS,
ODI_ORIGIN,
ODI_CHECK_DATE,
ODI_CONS_NAME,
ODI_CONS_TYPE,
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO,
FLAG_STATUS,
START_DATE,
END_DATE
)
select SYS_GUID(),
15022,
rowid,
'F',
'ODI-15064: The primary key PK_DIM_ID is not unique.',
'(5022)DEV.In SCD2 001',
sysdate,
'PK_DIM_ID',
'PK',
SCD2.EMPNO,
SCD2.ENAME,
SCD2.JOB,
SCD2.MGR,
SCD2.HIREDATE,
SCD2.SAL,
SCD2.COMM,
SCD2.DEPTNO,
SCD2.FLAG_STATUS,
SCD2.START_DATE,
SCD2.END_DATE
from TARGET."I$_15022SCD2" SCD2
where exists (
select SUB.DIM_EMP_ID
from TARGET."I$_15022SCD2" SUB
where SUB.DIM_EMP_ID=SCD2.DIM_EMP_ID
group by SUB.DIM_EMP_ID
having count(1) > 1
)
Step 1:
But we need to Consider Source table SK as for our Flow Control UK. We need to Add Natural Key (Alternate Key) for EMPNO at SCD2 table and We need to disable SK in Control Tab.
Step2:
Adding Alternate Key at Model level for EMPNO column SCD2 Table.
Step3: Changing CKM Oracle KM Creating Error Table Step and Saving as new KM
CKM Oracle SCD2
SCD Type 2 Table Structure.
CREATE TABLE SCD2
(
DIM_EMP_ID NUMBER, --- Surrogate Key
EMPNO NUMBER(4, 0) , ---- Natural Key
ENAME VARCHAR2(10 BYTE) , -----Overwrite On Change
JOB VARCHAR2(9 BYTE) ,--- Overwrite On Change
MGR NUMBER(4, 0) , ---- Overwrite On Change
HIREDATE DATE , -- Overwrite On Change
SAL NUMBER(7, 2) , --- Add Row On Change
COMM NUMBER(7, 2) , --- Add Row On Change
DEPTNO NUMBER(2, 0) , ---- Overwrite On Change
FLAG_STATUS VARCHAR2(1 BYTE) ,---Current Record Flag
START_DATE DATE , --- Starting Timestamp
END_DATE DATE, --- Ending Timestamp
PRIMARY KEY(DIM_EMP_ID)
);
NOTE: If you are using CKM SQL or CKM Sybase IQ or CKM Teradata or other than Oracle CKM
we need follow this additional Steps for deleting Error records from E$table script.
Step1: Enable UD1 for Alternate Key or Natural Key ( EMPNO).
Step2: Open CKM SQL or Sybase or any other than Oracle
Open=> Delete errors from controlled table step
Change below UK and PK values to UD1 and AK
UK to UD1 and PK to AK
Solution for insert PK errors in Control step.
ODI-1228: Task SCD2 (Control) fails on the target ORACLE connection TARGET_DS.
Caused By: java.sql.SQLSyntaxErrorException: ORA-00904: "SUB"."DIM_EMP_ID": invalid identifier
In SCD2 table DIM_EMP_ID Surrogate key data we are inserting using Sequence. This column data
we are not receiving from source, directly we are inserting using Sequence. But In Flow Control
It will considar Data Quality check at E$Table.
insert into TARGET."E$_15022SCD2"
(
ODI_PK,
ODI_SESS_NO,
ODI_ROW_ID,
ODI_ERR_TYPE,
ODI_ERR_MESS,
ODI_ORIGIN,
ODI_CHECK_DATE,
ODI_CONS_NAME,
ODI_CONS_TYPE,
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO,
FLAG_STATUS,
START_DATE,
END_DATE
)
select SYS_GUID(),
15022,
rowid,
'F',
'ODI-15064: The primary key PK_DIM_ID is not unique.',
'(5022)DEV.In SCD2 001',
sysdate,
'PK_DIM_ID',
'PK',
SCD2.EMPNO,
SCD2.ENAME,
SCD2.JOB,
SCD2.MGR,
SCD2.HIREDATE,
SCD2.SAL,
SCD2.COMM,
SCD2.DEPTNO,
SCD2.FLAG_STATUS,
SCD2.START_DATE,
SCD2.END_DATE
from TARGET."I$_15022SCD2" SCD2
where exists (
select SUB.DIM_EMP_ID
from TARGET."I$_15022SCD2" SUB
where SUB.DIM_EMP_ID=SCD2.DIM_EMP_ID
group by SUB.DIM_EMP_ID
having count(1) > 1
)
Step 1:
But we need to Consider Source table SK as for our Flow Control UK. We need to Add Natural Key (Alternate Key) for EMPNO at SCD2 table and We need to disable SK in Control Tab.
Step2:
Adding Alternate Key at Model level for EMPNO column SCD2 Table.
Step3: Changing CKM Oracle KM Creating Error Table Step and Saving as new KM
CKM Oracle SCD2
SCD Type 2 Table Structure.
CREATE TABLE SCD2
(
DIM_EMP_ID NUMBER, --- Surrogate Key
EMPNO NUMBER(4, 0) , ---- Natural Key
ENAME VARCHAR2(10 BYTE) , -----Overwrite On Change
JOB VARCHAR2(9 BYTE) ,--- Overwrite On Change
MGR NUMBER(4, 0) , ---- Overwrite On Change
HIREDATE DATE , -- Overwrite On Change
SAL NUMBER(7, 2) , --- Add Row On Change
COMM NUMBER(7, 2) , --- Add Row On Change
DEPTNO NUMBER(2, 0) , ---- Overwrite On Change
FLAG_STATUS VARCHAR2(1 BYTE) ,---Current Record Flag
START_DATE DATE , --- Starting Timestamp
END_DATE DATE, --- Ending Timestamp
PRIMARY KEY(DIM_EMP_ID)
);
While Inserting Primary Key errors it got changed to Insert AK errors. we can see the
column got changed from DIM_EMP_ID to EMPNO.
insert into TARGET."E$_17022SCD2"
(
ODI_PK,
ODI_SESS_NO,
ODI_ROW_ID,
ODI_ERR_TYPE,
ODI_ERR_MESS,
ODI_ORIGIN,
ODI_CHECK_DATE,
ODI_CONS_NAME,
ODI_CONS_TYPE,
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO,
FLAG_STATUS,
START_DATE,
END_DATE
)
select SYS_GUID(),
17022,
rowid,
'F',
'ODI-15063: The alternate key AK_EMPNO is not unique.',
'(5022)DEV.In SCD2 001',
sysdate,
'AK_EMPNO',
'AK',
SCD2.EMPNO,
SCD2.ENAME,
SCD2.JOB,
SCD2.MGR,
SCD2.HIREDATE,
SCD2.SAL,
SCD2.COMM,
SCD2.DEPTNO,
SCD2.FLAG_STATUS,
SCD2.START_DATE,
SCD2.END_DATE
from TARGET."I$_17022SCD2" SCD2
where exists (
select SUB.EMPNO
from TARGET."I$_17022SCD2" SUB
where SUB.EMPNO=SCD2.EMPNO
group by SUB.EMPNO
having count(1) > 1
)
(
ODI_PK,
ODI_SESS_NO,
ODI_ROW_ID,
ODI_ERR_TYPE,
ODI_ERR_MESS,
ODI_ORIGIN,
ODI_CHECK_DATE,
ODI_CONS_NAME,
ODI_CONS_TYPE,
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO,
FLAG_STATUS,
START_DATE,
END_DATE
)
select SYS_GUID(),
17022,
rowid,
'F',
'ODI-15063: The alternate key AK_EMPNO is not unique.',
'(5022)DEV.In SCD2 001',
sysdate,
'AK_EMPNO',
'AK',
SCD2.EMPNO,
SCD2.ENAME,
SCD2.JOB,
SCD2.MGR,
SCD2.HIREDATE,
SCD2.SAL,
SCD2.COMM,
SCD2.DEPTNO,
SCD2.FLAG_STATUS,
SCD2.START_DATE,
SCD2.END_DATE
from TARGET."I$_17022SCD2" SCD2
where exists (
select SUB.EMPNO
from TARGET."I$_17022SCD2" SUB
where SUB.EMPNO=SCD2.EMPNO
group by SUB.EMPNO
having count(1) > 1
)
NOTE: If you are using CKM SQL or CKM Sybase IQ or CKM Teradata or other than Oracle CKM
we need follow this additional Steps for deleting Error records from E$table script.
Step1: Enable UD1 for Alternate Key or Natural Key ( EMPNO).
Step2: Open CKM SQL or Sybase or any other than Oracle
Open=> Delete errors from controlled table step
Change below UK and PK values to UD1 and AK
UK to UD1 and PK to AK
Saturday, 2 August 2014
How To Change Slowly Changing Dimension Behavour in All Columns at a time other than Column=>Description tab
How To Change Slowly Changing Dimension Behavior in All Columns at a time other than Column=>Description tab
One of my friend asked me this SCD Behavior changes in ODI 11G. 12C SCD Behavor changes at column level is very easy. We can Open table and change at column level directly. But in 11G We have to go for individual column and Description tab and need to change SCD Behavior.
In He project almost all Dimension tables having more than 200 Columns. It is very difficult to go to individual column=>description Tan and changing the SCD Behavior.
Here is an example for SCD Behavor changes at Repository Table Level.
Step1: All Your Model tables we can find Work Repository Tables.
SNP_TABLE: All your tables
SNP_COL: All columns
Step2: Using Below query we can find the all columns for SCD2 table.
Default SCD_COL_TYPE value will be null. Whenever we are changing the Column SCD behavior it will update the value in this column as below values.
SELECT
SNP_COL.COL_NAME,
SNP_TABLE.TABLE_NAME,
SNP_COL.SCD_COL_TYPE
FROM SNP_COL col,
SNP_TABLE tab
WHERE tab.i_table=col.i_table
AND table_name ='SCD2';
Step3: SCD2 TABLE Structure:
CREATE TABLE SCD2
(
DIM_EMP_ID NUMBER, --- Surrogate Key
EMPNO NUMBER(4, 0) , ---- Natural Key
ENAME VARCHAR2(10 BYTE) , -----Overwrite On Change
JOB VARCHAR2(9 BYTE) ,--- Overwrite On Change
MGR NUMBER(4, 0) , ---- Overwrite On Change
HIREDATE DATE , -- Overwrite On Change
SAL NUMBER(7, 2) , --- Add Row On Change
COMM NUMBER(7, 2) , --- Add Row On Change
DEPTNO NUMBER(2, 0) , ---- Overwrite On Change
FLAG_STATUS VARCHAR2(1 BYTE) ,---Current Record Flag
START_DATE DATE , --- Starting Timestamp
END_DATE DATE --- Ending Timestamp
);
Using Below Query We can Change the Above SCD Behavior.
UPDATE SNP_COL
SET SCD_COL_TYPE='OC'
WHERE COL_NAME in ('ENAME','JOB','MGR','HIREDATE','DEPTNO')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='IR'
WHERE COL_NAME in ('COMM','SAL')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='SK'
WHERE COL_NAME in ('DIM_EMP_ID')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='NK'
WHERE COL_NAME in ('EMPNO')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='CR'
WHERE COL_NAME in ('FLAG_STATUS')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='ST'
WHERE COL_NAME in ('START_DATE')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='ET'
WHERE COL_NAME in ('END_DATE')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
Compare to 11G, 12C 12.1.2 or 12.1.3 very easy for changing SCD Behavior
One of my friend asked me this SCD Behavior changes in ODI 11G. 12C SCD Behavor changes at column level is very easy. We can Open table and change at column level directly. But in 11G We have to go for individual column and Description tab and need to change SCD Behavior.
In He project almost all Dimension tables having more than 200 Columns. It is very difficult to go to individual column=>description Tan and changing the SCD Behavior.
Here is an example for SCD Behavor changes at Repository Table Level.
Step1: All Your Model tables we can find Work Repository Tables.
SNP_TABLE: All your tables
SNP_COL: All columns
Step2: Using Below query we can find the all columns for SCD2 table.
Default SCD_COL_TYPE value will be null. Whenever we are changing the Column SCD behavior it will update the value in this column as below values.
SCD_COL_TYPE | SCD Meaning |
SK | Surrogate Key |
NK | Natural Key |
OC | Overwrite On Change |
IR | Add Row On Change |
OC | Overwrite On Change |
CR | Current Record Flag |
ST | Starting Timestamp |
ET | Ending Timestamp |
SELECT
SNP_COL.COL_NAME,
SNP_TABLE.TABLE_NAME,
SNP_COL.SCD_COL_TYPE
FROM SNP_COL col,
SNP_TABLE tab
WHERE tab.i_table=col.i_table
AND table_name ='SCD2';
Step3: SCD2 TABLE Structure:
CREATE TABLE SCD2
(
DIM_EMP_ID NUMBER, --- Surrogate Key
EMPNO NUMBER(4, 0) , ---- Natural Key
ENAME VARCHAR2(10 BYTE) , -----Overwrite On Change
JOB VARCHAR2(9 BYTE) ,--- Overwrite On Change
MGR NUMBER(4, 0) , ---- Overwrite On Change
HIREDATE DATE , -- Overwrite On Change
SAL NUMBER(7, 2) , --- Add Row On Change
COMM NUMBER(7, 2) , --- Add Row On Change
DEPTNO NUMBER(2, 0) , ---- Overwrite On Change
FLAG_STATUS VARCHAR2(1 BYTE) ,---Current Record Flag
START_DATE DATE , --- Starting Timestamp
END_DATE DATE --- Ending Timestamp
);
Using Below Query We can Change the Above SCD Behavior.
UPDATE SNP_COL
SET SCD_COL_TYPE='OC'
WHERE COL_NAME in ('ENAME','JOB','MGR','HIREDATE','DEPTNO')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='IR'
WHERE COL_NAME in ('COMM','SAL')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='SK'
WHERE COL_NAME in ('DIM_EMP_ID')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='NK'
WHERE COL_NAME in ('EMPNO')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='CR'
WHERE COL_NAME in ('FLAG_STATUS')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='ST'
WHERE COL_NAME in ('START_DATE')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
UPDATE SNP_COL
SET SCD_COL_TYPE='ET'
WHERE COL_NAME in ('END_DATE')
AND I_TABLE= (SELECT I_TABLE FROM SNP_TABLE WHERE TABLE_NAME='SCD2');
COMMIT;
Compare to 11G, 12C 12.1.2 or 12.1.3 very easy for changing SCD Behavior
ODI 12c 12.1.2 Export issue fixing with bug : Patch 17671595
|
Oracle Data Integrator - Version 12.1.2.0.0 to 12.1.2.0.1 [Release 12c]
Exporting an ODI 12c 12.1.2 Work Repository using the standard export tool fails with the following error:
java.lang.RuntimeException: java.lang.NullPointerException
at com.sunopsis.dwg.smartie.SmartExportOrderList$1$1.doAction(SmartExportOrderList.java:561)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
at com.sunopsis.dwg.smartie.SmartExportOrderList$1.doInTransaction(SmartExportOrderList.java:551)
at oracle.odi.core.persistence.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:99)
at com.sunopsis.dwg.smartie.SmartExportOrderList.printExportObjects(SmartExportOrderList.java:545)
at com.sunopsis.dwg.smartie.SmartExportUtils.exportToXml(SmartExportUtils.java:2889)
at com.sunopsis.dwg.smartie.SmartExportUtils.exportToXml(SmartExportUtils.java:2763)
at oracle.odi.impexp.smartie.impl.DependencyServiceImpl.exportToXml(DependencyServiceImpl.java:429)
at oracle.odi.ui.smartie.exp.ExportSmartDialog.exportToXml(ExportSmartDialog.java:1462)
at oracle.odi.ui.smartie.exp.ExportSmartDialog$1.doInBackground(ExportSmartDialog.java:1252)
at oracle.odi.ui.smartie.exp.ExportSmartDialog$1.doInBackground(ExportSmartDialog.java:1220)
at oracle.odi.ui.framework.AbsUIRunnableTask.run(AbsUIRunnableTask.java:258)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:920)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
at com.sunopsis.dwg.dbobj.SnpMcConstraint.getForeignKeyLst(SnpMcConstraint.java:104)
at com.sunopsis.dwg.ImpExpFkXrefManager.addFkXRefs(ImpExpFkXrefManager.java:164)
at com.sunop
at com.sunopsis.dwg.smartie.SmartExportOrderList$1$1.doAction(SmartExportOrderList.java:561)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
at com.sunopsis.dwg.smartie.SmartExportOrderList$1.doInTransaction(SmartExportOrderList.java:551)
at oracle.odi.core.persistence.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:99)
at com.sunopsis.dwg.smartie.SmartExportOrderList.printExportObjects(SmartExportOrderList.java:545)
at com.sunopsis.dwg.smartie.SmartExportUtils.exportToXml(SmartExportUtils.java:2889)
at com.sunopsis.dwg.smartie.SmartExportUtils.exportToXml(SmartExportUtils.java:2763)
at oracle.odi.impexp.smartie.impl.DependencyServiceImpl.exportToXml(DependencyServiceImpl.java:429)
at oracle.odi.ui.smartie.exp.ExportSmartDialog.exportToXml(ExportSmartDialog.java:1462)
at oracle.odi.ui.smartie.exp.ExportSmartDialog$1.doInBackground(ExportSmartDialog.java:1252)
at oracle.odi.ui.smartie.exp.ExportSmartDialog$1.doInBackground(ExportSmartDialog.java:1220)
at oracle.odi.ui.framework.AbsUIRunnableTask.run(AbsUIRunnableTask.java:258)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:920)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
at com.sunopsis.dwg.dbobj.SnpMcConstraint.getForeignKeyLst(SnpMcConstraint.java:104)
at com.sunopsis.dwg.ImpExpFkXrefManager.addFkXRefs(ImpExpFkXrefManager.java:164)
at com.sunop
Friday, 1 August 2014
Get Physical Schema name using odiref in ODI
Using below method we can get Database SchemaName.
select * from all_tables where
owner= '<%=odiRef.getSchemaName()%>'
Using below method we can get Database SchemaName for Default Physical Schema from your Databaserver.
select * from all_tables where
owner= '<%=odiRef.getSchemaNameDefaultPSchema()%>
'
Tuesday, 29 July 2014
Oracle HR Schema EMP & DEPT Tables Script
CREATE TABLE BONUS
(ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER,
COMM NUMBER);
CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(2));
INSERT INTO EMP VALUES
(7369, 'SMITH', 'CLERK', 7902,
TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
INSERT INTO EMP VALUES
(7499, 'ALLEN', 'SALESMAN', 7698,
TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
INSERT INTO EMP VALUES
(7521, 'WARD', 'SALESMAN', 7698,
TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
INSERT INTO EMP VALUES
(7566, 'JONES', 'MANAGER', 7839,
TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);
INSERT INTO EMP VALUES
(7654, 'MARTIN', 'SALESMAN', 7698,
TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
INSERT INTO EMP VALUES
(7698, 'BLAKE', 'MANAGER', 7839,
TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
INSERT INTO EMP VALUES
(7782, 'CLARK', 'MANAGER', 7839,
TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
INSERT INTO EMP VALUES
(7788, 'SCOTT', 'ANALYST', 7566,
TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES
(7839, 'KING', 'PRESIDENT', NULL,
TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
INSERT INTO EMP VALUES
(7844, 'TURNER', 'SALESMAN', 7698,
TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, NULL, 30);
INSERT INTO EMP VALUES
(7876, 'ADAMS', 'CLERK', 7788,
TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
INSERT INTO EMP VALUES
(7900, 'JAMES', 'CLERK', 7698,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
INSERT INTO EMP VALUES
(7902, 'FORD', 'ANALYST', 7566,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP VALUES
(7934, 'MILLER', 'CLERK', 7782,
TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);
CREATE TABLE DEPT
(DEPTNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13) );
INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');
CREATE TABLE SALGRADE
(GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER);
INSERT INTO SALGRADE VALUES (1, 700, 1200);
INSERT INTO SALGRADE VALUES (2, 1201, 1400);
INSERT INTO SALGRADE VALUES (3, 1401, 2000);
INSERT INTO SALGRADE VALUES (4, 2001, 3000);
INSERT INTO SALGRADE VALUES (5, 3001, 9999);
COMMIT;
Thursday, 24 July 2014
ODI Upgrading from 11g 11.1.1.7 To ODI 12c 12.1.3 Using the Upgrade Assistant
ODI Upgrading from 11g 11.1.1.7 To ODI 12c 12.1.3 Using the Upgrade Assistant
11G 11.1.1.7 Repository Version: 04.03.04.02
12c 12.1.3 Repository Version: 05.01.02.02
After upgrading from 11.1.1.7 to 12.1.3 your Repository version will be 05.01.02.02.
Note: All Yellow interfaces from 11g it will be converted into Reusable mapping in 12C.
Goto=>ODI 12C MIDDLEWARE Home location
Example for Windows ODI 12c Path.
C:\oracle\Middleware\Oracle_Home\oracle_common\upgrade\bin
Launch ua.batch file for windows and ua.sh for UNIX or LINUX
1) Schema: This option only for Repository Migration.
2) Standalone System Components Configuration: This option for WebLogic domain components up gradation like J2EE Agent & ODI Console
Wednesday, 23 July 2014
ODI-26163: Access Denied
A connection to the repository could not be established because of insufficient user privilege.
Solution: Ensure the ODI user has sufficient privilege to connect to the specified repository.
ODI-26168: Client requires a repository with version 0 but the repository version found is 1
ODI-26168: Client requires a repository with version {0} but the repository version found is {1}
It is an issue with Repository Version miss-match between two work repositories.
Please check your Repository version.
It is an issue with Repository Version miss-match between two work repositories.
Please check your Repository version.
ODI-26170: JDBC url is mandatory.
ODI-26170: JDBC url is mandatory.
JDBC Url was missing in Topology=>Physical Data Server.
Please goto your Physical technologies=>Data Server=> JDBC Tab=> Provide JDBC User details like HOST : PORT NO : SID (Service Name)
JDBC Url was missing in Topology=>Physical Data Server.
Please goto your Physical technologies=>Data Server=> JDBC Tab=> Provide JDBC User details like HOST : PORT NO : SID (Service Name)
ODI-26174: Database connection is not available.
ODI-26174: Database connection is not available.
It is an issue with Source / Target Database was Down or Not available. Check your Database
Connection and TNS Details.
It is an issue with Source / Target Database was Down or Not available. Check your Database
Connection and TNS Details.
ODI-26177: ODI-26177: Unable to connect to the DBA user.
ODI-26177: ODI-26177: Unable to connect to the DBA user.
Check Your DBA Privileged user Credentials. It is common error for Invalid User name and Password.
Check Your DBA Privileged user Credentials. It is common error for Invalid User name and Password.
ODI-26179: ODI-26179: Invalid Date Format
ODI-26179: ODI-26179: Invalid Date Format
Invalid Date Format In Filter Condition or Mappings.
Solution:
Check your Filter/Mapping expression Datatype and if it is not DATE data type using convert function to convert DATE.
Invalid Date Format In Filter Condition or Mappings.
Solution:
Check your Filter/Mapping expression Datatype and if it is not DATE data type using convert function to convert DATE.
ODI-15068: Unknown flexfield code.
ODI-15068: Unknown flexfield code.
Solution:
Check your Flex Field Short Code in SECURITY where you have defined flexfileds.
We need to consider Flex field Code or ID (Internal ID).
Solution:
Check your Flex Field Short Code in SECURITY where you have defined flexfileds.
We need to consider Flex field Code or ID (Internal ID).
ODI Errors - ORA-02019 connection description for remote database not found
ORA-02019 connection description for remote database not found
You use a KM using non existing DBLinks. Check the KM options and pre-requisites.
ODI-17517: Error during task interpretation.
ODI-17517: Error during task interpretation.
java.lang.Exception: The application script threw an exception: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Exception getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "ESSBASE_CONTEXT", "D") : SnpPschemaCont.getObjectByIdent : SnpPschemaCont does not exist BSF info: Load data into essbase at line: 0 column: columnNo
This is common error while executing your interfaces or procedures Selected CONTEXT not mapped with Correct Physical Schema and Logical Schema.
Solution:
Check your Context have assigned both Physical & Logical schemas mappings.
It should not be empty it should be assigned both logical and physical schemas.
java.lang.Exception: The application script threw an exception: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Exception getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "ESSBASE_CONTEXT", "D") : SnpPschemaCont.getObjectByIdent : SnpPschemaCont does not exist BSF info: Load data into essbase at line: 0 column: columnNo
This is common error while executing your interfaces or procedures Selected CONTEXT not mapped with Correct Physical Schema and Logical Schema.
Solution:
Check your Context have assigned both Physical & Logical schemas mappings.
It should not be empty it should be assigned both logical and physical schemas.
ODI Error - ORA-12154 TNS:could not resolve service name
ORA-12154 TNS:could not resolve service name
It is an Common Error if your Database Invalid Service Name or Database Service is Not available.
Solution:
Check your Database TNS names and Database Host , Port Number , Service Name.
Or If you are using DBLink check the DBLink configuration details.
ODI Error - ORA-00600 internal error code
ORA-00600 internal error code
Internal error of the Oracle database. May be caused by a driver incompatibility.
Solution:
Check your Database Driver and Supporting Versions.
ODI Error - ORA-02287 : Sequence not allowed here
ORA-02287 : Sequence not allowed here
While Using Native Sequences in Staging we will get this type of errors.
Solution:
Native Sequences always Using on TARGET, Don't Use in Staging.
While Using Native Sequences in Staging we will get this type of errors.
Solution:
Native Sequences always Using on TARGET, Don't Use in Staging.
ODI Error - ORA-01461 : Can Bind long Value into LONG Column
ORA-01461 : Can Bind long Value into LONG Column
This issue occurs while loading data from Source technology to target technology.
E.g. while loading data from file to oracle database table. Reason for the error is while defining the File data store , by mistake we have not specify the correct record separator which lead ODI to read whole row as one field and throws this error.
So to resolve this issue, check you have given the correct record separator.
ODI Error - ORA-01017: invalid username/password; logon denied
ORA-01017: invalid username/password; logon denied
While Connecting Physical Data Server we will get this error due to invalid user name and password.
Goto=>Topology=>Physical Architecture=>Physical Technologies=>Dataservers=> Test your Data Server
Credentials.
ODI Error - ORA-01790 expression must have same datatype as corresponding expression
ORA-01790 expression must have same datatype as corresponding expression
If you are trying to connect two different values that can not be implicitly converted (in a mapping, a join...). Use the explicit conversion functions on these values.
ODI Errors - ORA-00972 Identifier is too Long
ORA-00972 Identifier is too Long
Oracle Database Object Names Max it will accept 30 Characters Only. So We need consider this while
Creating $ temporary tables at staging level. If you are hard-coding any value at Physical Schema level
like I$_STG or I$_SESSION_NO it should not exceed more than 30 characters.
ODI Errors - ORA-00903 invalid table name
ORA-00903 invalid table name
The table used (source or target) does not exist in the Oracle schema. Check the mapping logical/physical schema for the context, and check that the table physically exists on the schema accessed for this context.
ODI errors ORA-00904 invalid column name
ORA-00904 invalid column name
1) Keying error in a mapping/join/filter. A string which is not a column name is interpreted as a column name, or a column name is misspelled.
2) This error may also appear when accessing an error table associated to a datastore with a recently modified structure. It is necessary to impact in the error table the modification, or drop the error tables and let Oracle Data Integrator recreate it in the next execution.
Solution:
1) Check the Column names in Filter or Join Condition Editor, It should not contain column name with "".
2) Update E$table using CKM Options like Drop temporary table is True or Update Error Table is True.
ODI 12.1.3 New For Creating Directly Combined Model and Topology Objects in Wizard option
ODI 12.1.3 New For Creating Directly Combined Model and Topology Objects in Wizard option.
ORA-00001: UNIQUE-key violation (ODI_ODI_REPO.PK_SNP_MISSING_REF)
While Importing objects from One Work Repository to Another Work Repository in ODI 12c 12.1.2
Version We can get these below common error.
ORA-00001: UNIQUE-key violation (ODI_ODI_REPO.PK_SNP_MISSING_REF).
or
com.sunopsis.core.SnpsDuplicateAKException: ODI-10035: SNP_SCEN : 'IMPORT_TEST Version 001'
Solution:
Apply patch 17836908 for resolving above issues OR
12.1.3 version this issue fixed.
Note: While exporting select with it child components and While importing
select INSERT_UPDATE mode for if objects are already exist it will update and if does not exists it will insert.
Version We can get these below common error.
ORA-00001: UNIQUE-key violation (ODI_ODI_REPO.PK_SNP_MISSING_REF).
or
com.sunopsis.core.SnpsDuplicateAKException: ODI-10035: SNP_SCEN : 'IMPORT_TEST Version 001'
Solution:
Apply patch 17836908 for resolving above issues OR
12.1.3 version this issue fixed.
Note: While exporting select with it child components and While importing
select INSERT_UPDATE mode for if objects are already exist it will update and if does not exists it will insert.
Missing References Error while import Work Repository Objects or Default its creating Yellow interfaces due to not able to map target tables.
In order to avoid missing references, use either the Smart Export and Import feature or solutions to manage dependencies.
ODI-10018: The repository 000 is not coherent between the current repository and the import file.
ODI-10018: The repository 000 is not coherent between the current repository and the import file.
While Importing odi objects from One Work Repository to Another Work repository and both work repositories in different Master repositories if both work repositories having the same Repository ID it will throw the same error.
oracle.odi.impexp.smartie.OdiSmartImportException: oracle.odi.impexp.smartie.OdiSmartImportException: oracle.odi.impexp.smartie.OdiSmartImportException: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-10018: The repository 000 is not coherent between the current repository and the import file.
Solution:
Step1: Don't Use Same Repository ID's for Both Work Repositories (Source & Target).
Step2: Use Smart Import and Export Feature for Exporting and Importing.
Smart Import & Export
This feature is available from 11G 11.1.1.6 and Above versions.
Smart Export will export the all dependents objects for your Projects like Models, Logical Schemas,
Contexts, Physical Schemas & Technology Data Servers.
If you have already those objects You can Select Ignore Option While importing the objects
While Importing odi objects from One Work Repository to Another Work repository and both work repositories in different Master repositories if both work repositories having the same Repository ID it will throw the same error.
oracle.odi.impexp.smartie.OdiSmartImportException: oracle.odi.impexp.smartie.OdiSmartImportException: oracle.odi.impexp.smartie.OdiSmartImportException: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-10018: The repository 000 is not coherent between the current repository and the import file.
Solution:
Step1: Don't Use Same Repository ID's for Both Work Repositories (Source & Target).
Step2: Use Smart Import and Export Feature for Exporting and Importing.
Smart Import & Export
This feature is available from 11G 11.1.1.6 and Above versions.
Smart Export will export the all dependents objects for your Projects like Models, Logical Schemas,
Contexts, Physical Schemas & Technology Data Servers.
If you have already those objects You can Select Ignore Option While importing the objects
Subscribe to:
Posts (Atom)