操作系统是win2003,oracle 10.2.0  两个实例,在服务里面都看见启动了,aaa正常,连接bbb的时候总是显示:监听程序当前无法识别连接描述符中请求的服务。我用的是一个监听程序,而且偶尔还能连上,不知道什么问题,请各位高手指教!谢谢~~

解决方案 »

  1.   

    配置一个监听怎么可能连两个实例呢。登入另外一个的的时候加个@sid就可以了。
      

  2.   

    使用dba权限给bbb授权:grant resource,connect,dba to bbb;
      

  3.   

    个人认为:aaa实例已经占用了 1521 
    所以bbb实例要换另外一个 端口,如使用 1522 
      

  4.   

    我登录的时候用了@bbb也不行啊,还是报同样的错误!
      

  5.   

    我的就是一台机器两个实例的。
    如果是本机登录只要那个登录不上加上SIDsqlplus username@sid/passwd;
    如果是远程的话要配置两个tns
    以实例来区别如下是192.168.2.201一个是testing一个是develop的实例
    201D =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = develop)
        )
      )
    201T =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = testing)
        )
      )
    windows的直接用NET MANAGER来建,很简单
      

  6.   

    使用net configuration assistant重新配置一下连接至bbb库的连接串,如:conn_bbb,则:
    在sqlplus或pl/sql下:conn bbb/密码@conn_bbb;
      

  7.   

    我的本机两个实例一个是默认的develop不需要加@sid一个是testing的需要加个@testing
    Not logged on
    SQL> conn sicuser/sicpass
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as sicuserSQL> conn bwdasoc/bwdasoc
    Not logged onSQL> conn bwdasoc/bwdasoc@testing
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as bwdasocSQ
      

  8.   

    我都建好了,用tnsping是没有问题的
      

  9.   

    我就是用9楼的朋友说的方法登陆的,aaa是没有问题,但是bbb还是老问题:监听程序当前无法识别连接描述符中请求的服务
      

  10.   

    1、两个监听ping都通吗?
    2、你输入用户名和密码的时候加监听名字了吗?
      

  11.   

    在配置如conn_bbb时,测试的情况如何?
      

  12.   

    12楼的,两个都ping了,都正常,输入时sys/test@aaa as sysdba正常,sys/test@bbb as sysdba就出现:监听程序当前无法识别连接描述符中请求的服务
      

  13.   

    在配置net massager中配置bbb测试的时候就出现:监听程序当前无法识别连接描述符中请求的服务。
    我真无奈了!!!!
      

  14.   

    tnsping通,sys都不可以登录。费解!
      

  15.   

    是不是你安装数据库实例时,改动了全局变量名(缺省为Orcl)或端口?
    配置连接串时测试都不能通过,后面肯定用不了。
      

  16.   

    orcl我改成了aaa,可那是实例名啊,端口没有改~
      

  17.   

    哎,太奇怪了吧。删掉重装吧。只能说明你这个服务OracleOraDb10g_home1TNSListener是好的,并且配置也不错。
    看来是那数据库的问题。
    直接DBCA删掉再重建设置好SID后其他最好都默认。
      

  18.   

    1、配置一个监听器同时监听两个实例是完全可以的,只要端口相同就行。
       TNSListener要设置正确,一般我都不指定实例,这样可以监听N多实例。2、问题可能是bbb数据库没有真正启动,虽然你看到服务都启动了。
        你试一下运行Database Configuration Assistant,选择“配置数据库选项”,
    再选择bbb数据库,看一下它的选项,不做操作,退出。然后再连接bbb试试。
      

  19.   

    很可能是listener.ora文件配置的不对,
    贴出来看看.
      

  20.   

    bbb在listener.ora种没有服务名信息吧?
      

  21.   

    listener.ora配置成类似如下的内容:
    LISTENER = 
    (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    ) SID_LIST_LISTENER = 
    (SID_LIST = 
        (SID_DESC = 
          (GLOBAL_DBNAME = aaa) 
          (ORACLE_HOME = D:\oracle\) 
          (SID_NAME = aaa) 
        ) 
        (SID_DESC = 
          (GLOBAL_DBNAME = bbb) 
          (ORACLE_HOME = D:\oracle\) 
          (SID_NAME = bbb) 
        ) 

      

  22.   

    listener.ora配置如下:# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      )
    我按照26楼的改了还是不行啊~~~
      

  23.   

    已经解决,感谢oracledbalgtu、linzhangs,你们的方法很正确,是我自己操作的问题~~不好意思各位!!!