这个问题其实用一句话就可以说清楚:ORACLE_HOME或者ORACLE_SID设置不正确。在以前的版本中,如果ORACLE_SID不正确,一般都只提示ORA-01034。Oracle 8.1.7 给出一个额外的信息:ORA-27101。->如果是Unix,在Shell里把ORACLE_SID设置正确即可(注意大小写敏感的问题)。
 此外,检查ORACLE_HOME环境变量。如何检查参考如下的命令:  % echo $ORACLE_SID         
  % ps -ef |grep smon ->如果是Windows,一般都是因为系统中有多个实例造成的。 可以在命令行下 C:\>set ORACLE_SID=DEMO 把这里的DEMO换为你相应的实例名。 如果还不行的话,检查注册表中的ORACLE_HOME。
 此外,在Windows环境下有的时候连接不上远程的数据库,会报告如此的错误。 解决办法是把sqlnet.ora文件中的
 SQLNET.AUTHENTICATION_SERVICES = (NTS) NTS换为NONE.
 现在应该没甚么问题了。什么?还不行?那么建议你Google
  (http://www.google.com )一下
  或者到一些技术论坛(比如说ITPub或者CNOUG去看看)。祝你好运!