Your environment variables are wrong. When you connect via the @alias this shows that the database is up and accepting connections. Also, it shows that sqlplus is in your path. Make sure ORACLE_SID, ORACLE_HOME, and LD_LIBRARY_PATH are defined correctly. I would bet your ORACLE_SID is not set.
On what platform do you get this problem?
I remember I had the same on a Linux machine with Oracle 8.0.4
First of all look for free resources on the machine you are working on.
Second look if your /var/tmp is full.
I had to reinstall the entire product.Then it worked fine with all the OS user but it is the last thing to do because if the problem depends on the machine you're using may be it could be come back later.
I had it only 1 time and only on Linux platform but i think it does not depend by the OS.