I have two execution plans for the same query from two different machines.
Both are running on Tru64 v5.1, Oracle 8.1.6.3
SORT_AREA_SIZE for plan1 is 47MB, plan2 is 12MB

*************************************************
1)
SELECT STATEMENT Cost = 63297
NESTED LOOPS
NESTED LOOPS
HASH JOIN
TABLE ACCESS FULL TABLE4
HASH JOIN
TABLE ACCESS FULL TABLE3
TABLE ACCESS FULL TABLE1
TABLE ACCESS BY INDEX ROWID TABLE5
INDEX UNIQUE SCAN SYS_C001602
TABLE ACCESS BY INDEX ROWID TABLE2
INDEX UNIQUE SCAN SYS_C001696
************************************************
2)
SELECT STATEMENT Cost = 45571
NESTED LOOPS
NESTED LOOPS
MERGE JOIN
SORT JOIN
MERGE JOIN
SORT JOIN
TABLE ACCESS FULL TABLE3
SORT JOIN
TABLE ACCESS FULL TABLE4
SORT JOIN
TABLE ACCESS FULL TABLE1
TABLE ACCESS BY INDEX ROWID TABLE5
INDEX UNIQUE SCAN SYS_C002545
TABLE ACCESS BY INDEX ROWID TABLE2
INDEX UNIQUE SCAN SYS_C002617
*************************************************

There are approximately 200000 more records in all the tables for plan2 than for plan1 tables.
1) Why is plan2 sorting?
2) How does the init parameter SORT_AREA_SIZE effect the plan stability?