Oracle no es compatible con ON DUPLICATE KEY UPDATE sintaxis. Esa parece ser una sintaxis específica de MySQL.
Lo más probable es que parezca querer un MERGE declaración
MERGE INTO table1 t1
USING (SELECT col1, col2, col3
FROM table2) ss
ON (t1.col1 = ss.col1) -- whatever the key is
WHEN MATCHED THEN
UPDATE SET t1.col1 = ss.col1,
t1.col2 = ss.col2,
t1.col3 = ss.col3
WHEN NOT MATCHED THEN
INSERT( t1.col1, t1.col2, t1.col3 )
VALUES( ss.col1, ss.col2, ss.col3 )