more specifically - the fix went in for 10.2.0.3 and did not exist in 10.2.0.2 :)
ops$tkyte%ORA10GR2> alter system set recyclebin = on ;
System altered.
ops$tkyte%ORA10GR2>
ops$tkyte%ORA10GR2> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for Linux: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production
ops$tkyte%ORA10GR2> create or replace view fs
2 as
3 select allocated_k, free_k, recycle_able_k
4 from
5 ( select nvl(sum(bytes)/1024,0) free_k from dba_free_space
6 where tablespace_name = 'DEMO'),
7 ( select sum(bytes)/1024 allocated_k from dba_data_files
8 where tablespace_name = 'DEMO'),
9 ( select nvl(sum(space) * 8,0) recycle_able_k from dba_recyclebin
10 where ts_name = 'DEMO')
11 /
View created.
ops$tkyte%ORA10GR2> create tablespace demo datafile size 640k;
Tablespace created.
ops$tkyte%ORA10GR2>
ops$tkyte%ORA10GR2> select * from fs;
ALLOCATED_K FREE_K RECYCLE_ABLE_K
----------- ---------- --------------
640 576 0
ops$tkyte%ORA10GR2> create table t ( x int ) storage (initial 576k) tablespace demo;
Table created.
ops$tkyte%ORA10GR2> select * from fs;
ALLOCATED_K FREE_K RECYCLE_ABLE_K
----------- ---------- --------------
640 0 0
ops$tkyte%ORA10GR2> drop table t;
Table dropped.
ops$tkyte%ORA10GR2> select * from fs;
ALLOCATED_K FREE_K RECYCLE_ABLE_K
----------- ---------- --------------
640 576 576
ops$tkyte%ORA10GR2> alter system set recyclebin = off ;
System altered.
ops$tkyte%ORA10GR2> select * from fs;
ALLOCATED_K FREE_K RECYCLE_ABLE_K
----------- ---------- --------------
640 576 576
ops$tkyte%ORA10GR2> create table t ( x int ) storage (initial 576k) tablespace demo;
create table t ( x int ) storage (initial 576k) tablespace demo
*
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace DEMO
ops$tkyte%ORA10GR2> alter system set recyclebin = on ;
System altered.
ops$tkyte%ORA10GR2> create table t ( x int ) storage (initial 576k) tablespace demo;
Table created.
ops$tkyte%ORA10GR2> alter system set recyclebin = on ;
System altered.
note how the create table fails, no space - until the recyclebin is turned back on.