Efectivamente el problema estaba en el nombre del dblink que crea OWF. A partir de la versión 10g, las bases de datos Oracle tienen un nombre global compuesto por el nombre de la instancia, lo que siempre hemos llamado SID, y el dominio. Este dominio por defecto es REGRESS.RDBMS.DEV.US.ORACLE.COM, o sea que el nombre global de mi base de datos era DWH.REGRESS.RDBMS.DEV.US.ORACLE.COM
Al crear cualquier DBLink, la base de datos agrega al mismo el nombre del dominio:
SQL>create database link mi_db_link connect to scott identified by tiger using 'dwh';
Database link created.
SQL> select db_link from user_db_links;
DB_LINK
------------------------------------------
MI_DB_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM
Este dominio realmente no sirve de mucho, por lo que no pasa nada si se cambia por otro más corto (con un usuario con privilegios de DBA):
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DWH.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> alter database rename global_name to dwh.dataprix.com;
Base de datos modificada.
Ahora que hemos cambiado el nombre del dominio podemos volver a crear el dblink, y el nombre que le asigna la base de datos ha de ser más corto:
SQL> drop database link mi_db_link;
Enlace con la base de datos borrado.
SQL> create database link mi_db_link connect to scott identified by tiger using 'dwh';
Enlace con la base de datos creado.
SQL> select db_link from user_db_links;
DB_LINK
--------------------------------------------------------------------------------
MI_DB_LINK.DATAPRIX.COM
Nuestro database link ahora se llama MI_DB_LINK.DATAPRIX.COM, con una longitud menor que 30 caracteres, por lo que el Workflow ya no tiene ningún problema al hacer el 'deploy'.
Como resumen, por si alguien se ha perdido, lo único que había que hacer era reducir el nombre global de la base de datos con:
SQL> alter database rename global_name to miBD.mi.dominio.com;