1. Db is on the same server.
2. increase semesphoe limit. I didn't tried but how much I should increase? if this value is less then how come i am able to login using oracle unix account.

3.TWO_TASK value is blank.
4.Yes I can tnsping service name.
5. I tried oraenv. Still no luck.

Although I have something new to add:
1. I upgraded the oracle to 8.1.7.4 from 8.1.7.0.
2. My oracle software is installed on /opt/oracle directory.
Which is linked to oracle.
lrwxrwxrwx 1 root other 11 Sep 30 10:42 oracle -> /opt/oracle

cd /opt
========
$drwxr-xr-x 5 oracle dba 512 Oct 9 20:39 oracle


df -k
======
/dev/md/dsk/d70 11207576 9766135 1329366 89% /opt

Does anythingh look suspicious ? Somehow I feel that another unix user does not have permission to create sepashpore for local connection.

Thanks
Vivek