Solved

Oracle writer issues, WARN | Abnormal channel cleanup required

  • 28 December 2017
  • 6 replies
  • 6 views

Hi !

When I run my workspace, It stops because of duplicate data (but there aren't)

I think It memorises something in a channel or something but I don't know where I can clean it ....

Error :

WARN |Oracle Writer: Abnormal channel cleanup required, likely due to previous error

 

icon

Best answer by david_r 3 January 2018, 15:23

View original

6 replies

Userlevel 4
Badge +13
Hi @dimitri_veremes, are you writing to an existing table or creating a new table? If it's an existing table, are there any constraints on it?

 

Hi @dimitri_veremes, are you writing to an existing table or creating a new table? If it's an existing table, are there any constraints on it?

 

Hi, yes I wrote in an existing table with constraint on it :)

 

 

log.txt

 

 

Userlevel 4
Badge +13

Hi @dimitri_veremes, the WARN message:

WARN |Oracle Writer: Abnormal channel cleanup required, likely due to previous error

comes after the error message in the logfile. This WARN is usually thrown when there is an ERROR occurring and FME is ending the process. Looking up a bit in the logfile, you'll see an ORA error:

ORA-00001: violation de contrainte unique

It looks like there is a unique constraint being violated here. I would recommend reviewing the table you are writing to and checking to see which attribute(s) have such a constraint. You can use a DuplicateFilter in the workspace to remove (or test for) any duplicates from the data being written. However, if the duplicate is occurring because of values already stored in the database, you might have to read the table into FME and compare there or write to a staging table and compare in SQLDeveloper or TOAD.

Hi @dimitri_veremes, the WARN message:

WARN |Oracle Writer: Abnormal channel cleanup required, likely due to previous error

comes after the error message in the logfile. This WARN is usually thrown when there is an ERROR occurring and FME is ending the process. Looking up a bit in the logfile, you'll see an ORA error:

ORA-00001: violation de contrainte unique

It looks like there is a unique constraint being violated here. I would recommend reviewing the table you are writing to and checking to see which attribute(s) have such a constraint. You can use a DuplicateFilter in the workspace to remove (or test for) any duplicates from the data being written. However, if the duplicate is occurring because of values already stored in the database, you might have to read the table into FME and compare there or write to a staging table and compare in SQLDeveloper or TOAD.

 

Hi TiaAtSafe , yes I saw the error ORA-00001 , and so I tried to use  "DuplicateFilter", but it say to me the same error, and if we look the log, it say 'du to some previous error , last line repeated 5 times... 

 

 

2018-01-02 08:18:01| 11.2| 0.0|WARN |Oracle Writer: Abnormal channel cleanup required, likely due to previous error
2018-01-02 08:18:01| 11.2| 0.0|WARN |... Last line repeated 5 times ...
 

 

And in this case I understand why there are ORA-00001 , (if the line is repeated five times)

 

So ... FME (2016) has cache somewhere ... but where ?

 

0684Q00000ArMm0QAF.png

Userlevel 4

Looking at the specific error message in the log, which reads:

ORA-00001: violation de contrainte unique (C##S_MAJIC.BATI_40_DESCR_HAB_PK)

We can tell that it's the unique constraint named "BATI_40_DESCR_HAB_PK" that's raising the error. You could use a tool like SQLDeveloper or TOAD etc. to look at the definition of this particular constraint, which should give you the information you need to find a workaround in your workspace.

My hunch, based on the name of the constraint, is that this is probably the primary key constraint. A starting point could therefore be to check which value you're setting for the primary key column(s) in FME and to make sure that this value doesn't already exist in the table you're writing to.

Looking at the specific error message in the log, which reads:

ORA-00001: violation de contrainte unique (C##S_MAJIC.BATI_40_DESCR_HAB_PK)

We can tell that it's the unique constraint named "BATI_40_DESCR_HAB_PK" that's raising the error. You could use a tool like SQLDeveloper or TOAD etc. to look at the definition of this particular constraint, which should give you the information you need to find a workaround in your workspace.

My hunch, based on the name of the constraint, is that this is probably the primary key constraint. A starting point could therefore be to check which value you're setting for the primary key column(s) in FME and to make sure that this value doesn't already exist in the table you're writing to.

Yes , In fact I didn't saw it, but in my specification my primary key contains two attributes and when I created my table  .... I created it with only one ... so .... 

 

I'm sorry guys  and thanks you ! :)  

 

 

Reply