XP系统,安装好了Oracle10g企业版1.建好了实例,全局数据库名和SID都为test,实例程序和监听程序都已启动成功了。现在就是用sqlplus连不上这个实例,打开sqlplus,输入用户名:sys,密码test,输入主机字符串:@test,但就是连不成功,提示:ORA-12154:TNS:无法解析指定的连接标识符。2.在本机用Oracle Net Manager想增加一个命名服务,想让网络上的其它计算机可以连接到这台机器,结果就在输"Oracle8i和更高版本服务名"这里,输入test,提示:要求有效的"服务名"。以上这两个问题怎么解决哦,如果有知道的原理朋友,最好再说一下理论就好了。

解决方案 »

  1.   

    1. sys用户必须要as dba才能进去,你可以用system用户登陆下看看..
    主机字符串 可以不用写的, 2. 网络上的机子访问你的机子,主要安装个客户端,在陪下tnsname.ora文件就可以了, 
        在网络上的机子配好tnsnames.ora后,用tnsping test, 如果能ping通就能连接了.
    添加的tnsname:
    ICD_SFCC_PD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.8.22)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )C:\Documents and Settings\user.HQ-TEXT>tnsping TESTTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 31-7月 -
    2009 11:57:10Copyright (c) 1997, 2005, Oracle.  All rights reserved.已使用的参数文件:
    D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
    已使用 TNSNAMES 适配器来解析别名
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-
    3068)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST.an
    qingren.org)))
    OK (20 毫秒)C:\Documents and Settings\user.HQ-TEXT>
      

  2.   


    1.输入主机字符串:@test,不要@,去掉,直接输入test
    2.
      

  3.   

    1.CMD> sqlplus sys/test
    SQL> .......2. 我怀疑你的全局数据库名是test.com..之类,这样的话,test包括后面的文件,全部录入
    另外一种方法: 你把 Net Manager上的“使用oracle8发行版8.5兼容标识”打上勾,这样就应该可以了
      

  4.   

    1.sys 用户要用 connect sys/pwd@服务名 as sysdba这样联接
     检查tnsnames.ora文件,再看看监听是否正常
    2.输入的服务名通过以上的文件可以看到是否存在,在netmanager 中也可以看到,别重复.
      

  5.   


    1.  12154:TNS:无法解析指定的连接标识符。
    没有配置名字为test的tnsname,2. 要求有效的"服务名"
    检查有没有空格和其他的字符。