LEARN =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = learn)
    )
  )这里上面的LEARN 和 (SERVICE_NAME = learn)有什么区别,能不能相同?

解决方案 »

  1.   

    LEARN表示你本机上看到的SID,比如你可以在toad  or pssqldev 的database下拉列表里面看到,你可以再定义一个
    LEARN1,下面的都不变,那它也是连到你的那个机器的那个SID。下面的那个
    (SERVICE_NAME = learn) 
    表示你取的是机器(HOST = 127.0.0.1)端口(PORT = 1521)) 下的oracle实例SID 为learn的那个数据库服务。
    这个你要是改为learn1,而那个机器上没有这个实际的SID的话,死也连不上的。简单来说,就是上面那个是别名,下面那个是真正的SID
      

  2.   

    这里上面的LEARN 和 (SERVICE_NAME = learn)有什么区别,能不能相同?答:LEARN是监听器名字
        learn是实例名
      

  3.   


    简单的说, 
    SERVICE_NAME = learn , 这个必须和数据库实例名相同
    LEARN = ---这个随便写..
      (DESCRIPTION =
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  4.   

    SERVICE_NAME = learn , 这个必须和数据库实例名相同 
    LEARN = ---这个随便写..
    学习了
      

  5.   

    最上面的"LEARN"就是一个标示(并且与数据库的参数没有关系),
    下面的service_name是目标数据库的一个参数,具体可以这样:
    show parameter service_name.