看看这个因该对你有帮助。
  oracle的连接机制简单描述:  
  client   通过tnsnames.ora访问服务器,连接到服务器的listener,  
  服务器建立一个连接(session、进程等)并把连接信息返回给client,  
  而client再根据这个信息访问数据库,tnsping只能说明你能连接到listener  
  但不是访问到数据库。访问数据库的时候是利用的listener返回的信息,  
  其中就包括host,如果其中host是主机名字,而client和主机名字又不在同一个网段,则无法解析该主机名字,当然你也可以在client的hosts中设定解析该名字为某个ip。这样client必须根据ip才能访问到数据库。  
   
   
  tnsping可是成功说明你的客户端可以连接主机。  
   
  只是sqlplus中连不上,  
  第一个可能是你的sqlnet。ora的配置,  
  不知道你的sqlnet是否配置过了。你先看看。  
   
  还有一个是服务器listener。ora的配置有问题,  
  你是否用的是hostname,如果是,那么先把这个改成ip试试。  
  然后看你是否有mts的配置,是否配置正确,这些都会影响你的连接。  
   
  你先对照着仔细检查一下,这些中的任何一个细节都会影响你的连接。

解决方案 »

  1.   

    多谢nbtoms, 现在sqlnet.ora中加入了sqlnet.authentication_services = (NTS)这句,
    然后可以连接oracle了
    SQL> conn system/manager@orcl as sysdba
    接続されました。
    但是,连接以后,任何语句都无法执行,返回错误是
    エラー行: 1: エラーが発生しました。
    ORA-01034: ORACLE not available而且,企业管理器仍然无法连接数据库,数据库助手也无法建立数据库,错误是
    エラー:
    ORA-12203: TNS: 接続先に接続できません。
      

  2.   

    把服务器的WINDOWS防火墙关了再试试
      

  3.   

    原因是建立数据库的时候中途失败,TNS服务进程打开,但是无法启动相应的数据库:(。
    谢谢各位。