双机切换中的listener.ora

请问在两台p570上各装了一个数据库,通过hacmp来实现双机互备,那每台机器上的listener.ora文件中:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = whcw)(PORT = 1521))
      )
    )
  )
HOST是不是必须写成hostname,而不能写成ip。只有这样当一台小机down,另外一台小机才能启动原来的那台小机的数据库监听服务?
我也来说两句 查看全部回复

最新回复

  • eq_chlu (2008-7-04 09:06:00)

    顶起来,不错,
    学习了。
  • 1x1xqq (2008-7-04 16:21:11)

    1客户机连接服务器是通过网络服务名,而网络服务名 有两个关键的地方一个是 数据库的SID
    另外一个就是 服务器的机器名或者IP。
    2如果两台机子机器名一样,IP不一样,那就写机器名。不过局域网里两台电脑名字不能一样,
    不知道双机热备是不是可以。
  • bobobian (2008-7-04 17:33:13)

    QUOTE:

    原帖由 lwwwj 于 2008-7-4 08:56 发表
    请问在两台p570上各装了一个数据库,通过hacmp来实现双机互备,那每台机器上的listener.ora文件中:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCO ...
    1.不能用主机名,如果用主机名的话只能用端口1521,况且你做的是双机主机名不可能一样.
    2.监听地址写成虚拟地址.
    3.用户连接数据库是通过网络服务名来连接的.而网络服务名对应你的实例名.这是静态监听必须的.必须在监听里写出.
  • yzsind (2008-7-05 14:25:57)

    双机的话都是配虚拟地址,不用机器名和实际IP
  • oracle_news (2008-7-05 21:36:01)

    需要用虚拟IP地址才行,还有host也要加入相关主机的地址和主机名。
  • lwwwj (2008-7-06 13:05:32)

    QUOTE:

    原帖由 yzsind 于 2008-7-5 14:25 发表
    双机的话都是配虚拟地址,不用机器名和实际IP
    我的两个机器的hostname是不一样的,当b机down机,这一台机器的service地址和数据库都会切到a机器。通过做实验,当写成hostname,通过lsnrctl status发现a机原有的数据库既有静态注册也有动态注册;切过来的b机的数据库有动态注册。而使用service ip则只有a机原有的数据库的静态注册,而没有动态注册;切过来的b机的数据库什么监听都没有,但是数据库是起来的。
  • bobobian (2008-7-07 15:42:11)

    双机我刚做过,不知道你的是什么结构?数据库做dg呢还是数据库在共享磁盘上呢?
    你的双机监听要写成虚拟地址.
  • lwwwj (2008-7-07 16:01:34)

    我的两个机器的hostname是不一样的,当b机down机,这一台机器的service地址和数据库都会切到a机器。通过做实验,当写成hostname,通过lsnrctl status发现a机原有的数据库既有静态注册也有动态注册;切过来的b机的数据库有动态注册。而使用service ip则只有a机原有的数据库的静态注册,而没有动态注册;切过来的b机的数据库什么jianting都没有,但是数据库是起来的。
    两台机器的数据库都建在共享盘上
  • bobobian (2008-7-07 16:12:36)

    现在是什么问题啊?不知道你要问的什么,不管有没有动态注册的服务只要可以连接到数据库就可以了啊.
  • lwwwj (2008-7-07 16:18:25)

    我的问题是在a机上将host由hostname改称service ip,b机切过来的数据库连不上,没有监听服务
  • bobobian (2008-7-07 16:21:18)

    没有监听服务那是你的监听有问题?监听重新配置,两台电脑的监听都用虚拟ip.包括tnsname里的.
    你用什么连接数据库?
  • lwwwj (2008-7-07 16:33:45)

    我在a机的listener.ora中这样写的:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 10.102.4.142)(PORT = 1521))
          )
        )
      )
    tnsnames.ora写成:
    oracw =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.102.4.142)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = oracw)
        )
      )
    oracx =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.102.4.143)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = oracx)
        )
      )
    这样对吗?
  • bobobian (2008-7-07 16:36:15)

    143是谁的啊.凉台电脑的listener和tnsname都是一样的.都用虚拟ip.
  • lwwwj (2008-7-07 16:41:02)

    143是b机的service地址,b机一down机,143就切到a机了(a机的service地址是142,这时候a机既有142也有143)。
    虚拟ip是不是指的service ip?
  • bobobian (2008-7-07 16:43:02)

    你把虚拟ip还没有搞清楚.你那是什么双机啊!你一共有几个ip啊!
  • lwwwj (2008-7-07 16:44:56)

    每个小机都有三个地址:boot ip 、service ip、standby ip
  • bobobian (2008-7-07 16:47:26)

    你是做双机热备还是互备啊
    热备一共5个ip
    两个private
    两个public
    一个virtual
  • lwwwj (2008-7-07 16:52:46)

    大哥,是双机互备
  • bobobian (2008-7-07 16:55:03)

    那你的监听里要把两个虚拟的ip都要写入,而且也要在tnsname里写入啊
    两边的这两个文件要相同.
  • lwwwj (2008-7-07 16:58:09)

    我觉得在每台小机的listener.ora中这样就可以了
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 10.102.4.142)(PORT = 1521))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 10.102.4.143)(PORT = 1521))
          )

        )
      )
    不用改tnsnames.ora