你如果在本机安装并登录,服务品名不要输入。(数据库会默认的)
查看:listener.ora(去掉多余的条目,并且改PROTOCOL 为TCP)
# LISTENER.ORA Network Configuration File: D:\Oracle\Ora81\network\admin\listener.ora
# Generated by Oracle configuration tools.LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = yang)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\Oracle\Ora81)
      (PROGRAM = extproc)
    )
  )

解决方案 »

  1.   

    这是底层的通讯协议的问题,先看看电脑的TCP/IP配置是否正常,是否有正常的网络设备,然后再用NET8 ASSISTANT 向导重新配置
      

  2.   

    Check whether your ORACLE_SID name is registered
    properly in the registry.
    If you are using terminal services client to login to
    a remote server, You will get this error. You can't
    terminal service client to use server level utilities
    like svrmgrl, rman etc... Please do this on the
    server.Hope this helps 
      

  3.   

    1.可能是实例没有启动2.可能是网络不通3.可能是TNS服务没有启动
      

  4.   

    各们高手,还是老样子啊
    我的oracle,是在本机安装的,主要用来学习之用
    楼上所说的TNS服务在哪里启动?
      

  5.   

    在。/BIN目录下运行 LSNRCTL。EXE
     LSNRCTL>START
      

  6.   

    lsnrctl 已经启动
    可是问题依旧
      

  7.   

    从网上下载一个JAVA安装包安装到XP里面!
      

  8.   

    你在你的控制面板中,打开管理工具->服务,然后查找以oracle 开头的名字,看看你的tnsListener启动了没有。
      

  9.   

    没开监听器。启动服务: 控制面板 -> 管理工具-> 服务 -> oracleTnslistener.. (启动)也可以用 Net Configuration Assistant 来配置一下(并可以测试)~~
      

  10.   

    当我用 scott/tiger,主机字符串:Ohal_com登陆 SQL Plus时
    又会出现ORA-12514:TNS:监听进程不能解析在连接描述符中给出的SERVICE_Name
    Ohal_com是我在装Oracle时提示命名的。并且也用这个进行了 本地网络服务名配置
    可是测试不成功,出现的错误提示跟上面所写的一样
    真是伤脑筋
    ???
      

  11.   

    一是服务没有启动,你到windows的服务里面看看,oracle的服务有没有启动,这个服务名里包含"oracle"和实例名,好象还包括个"service",这个服务不启动,用sqlplus就会报协议适配器错误。
    在命令行可以这样启动oradim -startup -sid 实例名。
    如果上述服务启动了,还是有协议适配器错的话,看看注册表里有没有设置oracle_sid,它的位置与oracle_home、oracle_base等在一起,如果设置了,看看是不是与要用的实例名一致。