Oracle Error Message
ORA-06580: Hash Join ran out of memory while keeping large rows in memory
Reason for the Error
Hash Join reserves 3 slots (each slot size = DB_BLOCK_SIZE * HASH_JOIN_MULTIBLOCK_IO_COUNT) for a row. If a row is larger than that, this error will be raised.
Solution
Increase HASH_JOIN_MULTIBLOCK_IO_COUNT so that each joined row fits in a slot. HASH_AREA_SIZE may also need to be increaed.