我用SQLPLUS连接数据库的时候 sqlplus username/pwd@sid  提示ORA-12154: TNS:could not resolve the connect identifier specified
但是我输入 sqlplus username/pwd就可以连接.如何解决?

解决方案 »

  1.   

    ORA-12154: TNS:could not resolve the connect identifier specified我测试了一下,sid 错误的报错信息
      

  2.   


    sqlplus username/pwd@sid
    红色字体不代表数据库的sid,应该是网络服务名称。即:你在tnsnames.ora中配置的和该sid对应的网络服务名称。
      

  3.   

    晕,楼上正解
    不过一般我的sid和对应的网络服务名称一样
      

  4.   

    可以配置一样!
    不过下面这个sqlplus命令中@符号后定义的是"网络服务名"!
    sqlplus username/pwd@sid 
      

  5.   

    OCP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.129)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = OCP)
        )
      )
      
    ORACLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.129)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = OCP)
        )
      )  如上  可以对一个数据库配置多个网络服务名
    sqlplus username/pwd@ORACLE  
    sqlplus username/pwd@OCP
    可以连接到同一个数据库上
     
    ORALCE和OCP为网络服务名 要与服务名OCP加以区别
    网络服务名可以与服务名同名,也可以不一样
      

  6.   


    谢谢!这个我肯定是知道的.问题不是出在这.我自己解决了.问题出在用户对TNSNAMES.ORA和SQLNET.ORA没有读权限造成的.