Oracle Solution for Error ora-06580

Solution for Oracle Error ORA-06580

ORA-06580: Hash Join ran out of memory while keeping large rows in memory

What triggered 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.

What should we do to fix it:

Increase HASH_JOIN_MULTIBLOCK_IO_COUNT so that each joined row fits in a slot. HASH_AREA_SIZE may also need to be increaed.