oracle merge operation hangs (or loops); query tuner claims it's a cartesian product operation
According to the query plan, the optimizer expects that the MERGE statement is going to modify 1 row.  It appears to expect the Cartesian join to return a single row as well.  Based on the fact that the query isn't returning in a few milliseconds, that would generally imply that the statistics on one or more of the objects (tables or indexes) are substantially incorrect.  When was the last time statistics were gathered on these tables and their dependent indexes?  Has the actual data in the tables changed substantially since that time?