我用的是oracle 10 用公司的服务器所有的库就可以连得上。我在本机子上建立了一个本地库,但是连接不上报错信息为:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务我觉得是监听器有误:
我的listener.ora的内容如下:# listener.ora Network Configuration File: E:\oracle\network\admin\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle)
      (PROGRAM = extproc)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-wt)(PORT = 1521))
    )
  )
//其中我的机器名是:PC_wt我的tnsnames.ora的内容如下:# tnsnames.ora Network Configuration File: E:\oracle\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.YNYY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 200.100.100.10)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ynyy)
    )
  )LWRY1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-wt)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20091127VNNH)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = lwry1)
    )
  )//其中ynyy是配的公司的库,下面的lwry1是我本地的库, PC-20091127VNNH是我虚拟机的名字,我现在把它停了在服务里面可以看到,监听已经启动。但是在我的oracle文件夹里面没有\oracle\product\10.2.0\db_2这个product文件夹,这个文件夹在oracle 10里面没有的吗?这是不是当初安装的问题?
如果是安装的问题,那么怎么恢复更新?问题怎么解决??请教各位了!!

解决方案 »

  1.   

    如果是监听的问题,我现在把这个监听关了,再配一个监听,并且改一下端口号,当然tnsnames.ora里的端口号也更新一下。
    可以结果:在连接数据库的时候还是报同样的错误!!
      

  2.   

    按照下面的方法重新写下你的监听文件试试。SID_LIST_LISTENER = 
      (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = PLSExtProc) 
          (ORACLE_HOME = E:\oracle) 
          (PROGRAM = extproc) 
        ) 
         (SID_DESC =
          (GLOBAL_DBNAME = lwry1)
          (SID_NAME = lwry1)
        )
      ) LISTENER = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = PC-wt)(PORT = 1521)) 
        ) 
      ) 
      

  3.   

    HOST = PC-wt        PC_wt      是你配错了吧   oracle   好像不识别'-'识别'_'  bu 太懂哈 
    jf
      

  4.   

    1, 检查监听是否启动;
    2, 设置ORACLE_SID环境变量的值与你的SID相同
      

  5.   

    LISTENER = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = PC-wt)(PORT = 1521)) 
        ) 
      )你的主机名是PC-wt,还是PC_wt?大哥,要细心!!
      

  6.   

    我怀疑oracel是不是不好用啊,不好配置!!
      

  7.   

    如果走tcp/ip,网关一类的设置要正确,还有DNS
      

  8.   

    在tnsnames.ora文件中把下面的话删除掉。
    LWRY1 = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = PC-wt)(PORT = 1521)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20091127VNNH)(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = lwry1) 
        ) 
      )
    然后,再数据库服务器(你自己虚拟机上的数据库)上打开net manager给当前的数据库实例重新创建一个“服务命名”,试试。
      

  9.   


    lz,4楼的方法你试了吗?
    (SID_DESC =
          (GLOBAL_DBNAME = lwry1)
          (SID_NAME = lwry1)
        )
    指定你得库名,我以前也遇到过这个问题,指定了就没事了