是通过tnsnames.ora中的
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )是通过IPC协议连的吧

解决方案 »

  1.   

    我理解的不一定对你的数据库是在本地,所以连接通过scott/tiger登陆的时候不走监听服务的如果你在后面加@orcl的话就要走监听服务的如果你在客户端连接服务器,服务器的监听必须启动刚才我在我得机器上测试了一下
      

  2.   

    这方面不扎实,学习讨论一下:
    你在本机执行scott/tiger时用的是DEDICATED方式(专用连接)!
    因此可以跳过tns服务的监听。执行scott/tiger@orc1时采用mts(共享模式),
    需要tns服务对服务名进行解析!
    tns服务的监听会把用户连接传递给dispatchers由其进行调度!
      

  3.   

    谢谢大家!谢谢
    to ashzs((可以包含中文字符)) 
    你所说的"DEDICATED方式(专用连接)"是什么?谁可以解释一下吗?
    谢谢!!!!!!!!!
      

  4.   

    数据库有共享和专用两种模式,一般本机连接和sys as sysdba连接都是专用模式连接的。而共享
    方式是通过dispatchers对连接进行排队,分配。机制不相同。我说的可能不对,很早以前看的文档。
    再听听大家的说法!
      

  5.   

    在专用服务模式中,ORACLE为每一个连接到实例的用户进程启动一个专门的服务进程.
    各个专用服务进程之间是完全独立的,不需要共享数据.
    在共享服务模式下,ORACLE在创建实例时启动一定数目的服务进程,在一个调度进程的帮助下,这些服务进程可以为任意数量的用户进程提供服务
      

  6.   

    专用服务模式应该更高,但是也更加耗费资源,一般连接数不多,连接时间较长的应用可以用专用服务模式。
    共享服务模式可以更好的调配节省资源,对于大量的连接应用比较多。你可以看看oracle的文档,或在网上搜搜!
      

  7.   

    如果大规模应用(大量连接),那可能是共享模式更加合算一些,如现在的b/s web应用很适合共享模式。