Q:

Does changing datatype of a field in Oracle DB hurts the performance

I have a need to change a Numeric(3) field into Varchar2(3) field, A java program communicates with the DB and we want to differentiate between 01 and 1 that is the reason for change.  and we are worried that this could affect the indexing and peformance of Oracle.  I'm not a Oracle DBA and so I have no / little knowledge on performace related area. 
Thanks in Advance

A:

Number(3) takes 3 bytes, Varchar2(3) takes 3 bytes, so records would stay in the same blocks, therefore:
If your column is not indexed then indexes will be fine.  If column was indexed, then index should be recreated anyway. 
To minimize offline time you might go with CTAS/rename aproach:
create table new_table as select ... from old_table

build whatever indexes you need on a new_table
then 
rename new_table to old_table
dependent views/procedures would be rebuilt and reloaded to shared pool. 
If your tables apraching 1 billion, it is time get DBA :)

