hi I do this

Code:
SQL> r
  1* alter session set optimizer_mode=all_rows

Session altered.

SQL> show parameter optimize

NAME				     TYPE    VALUE
------------------------------------ ------- ------------------------------
optimizer_features_enable	     string  8.1.6
optimizer_index_caching 	     integer 0
optimizer_index_cost_adj	     integer 100
optimizer_max_permutations	     integer 80000
optimizer_mode			     string  ALL_ROWS
optimizer_percent_parallel	     integer 0
SQL> 
SQL> alter session set optimizer_goal=first_rows;

Session altered.

SQL> show parameter optimize

NAME				     TYPE    VALUE
------------------------------------ ------- ------------------------------
optimizer_features_enable	     string  8.1.6
optimizer_index_caching 	     integer 0
optimizer_index_cost_adj	     integer 100
optimizer_max_permutations	     integer 80000
optimizer_mode			     string  FIRST_ROWS
optimizer_percent_parallel	     integer 0


as you see altering optimizer_goal and optimizer_mode changes my session optimizer_mode, so they are not the same?
So all_rows and first_rows dont use statistics at all even the statistics are present? If so how do they use the cost based optimization?

thank you