更改ip后oracle只需要改两个位置
1、listener.ora
  把"host="改成你的新ip,然后得启listerner
2、把tnsnames.ora中的相应的服务名中的"host="也改成新ip.

解决方案 »

  1.   

    把lisnter.ora与tnsnames.ora中的ip换一下
      

  2.   

    1.注意两个网卡中的网关设置是否和先前的区别;
    2.干脆对oracle的net新增服务名,重配。
      

  3.   

    记得oracle的服务是建立绑定在IP地址上的。
    如此:
    1.服务器端先设立好IP地址,增加服务名;
    3.在客户端重新定义链接。
      

  4.   

    不知你试了没有,如果还是不行的话,就只得用大家都熟悉的这种办法:
    卸掉oracle,重装。
    因为oracle服务与IP地址的绑定很那个。
      

  5.   

    BlueskyWide大虾,你说的“1.服务器端先设立好IP地址,增加服务名;”是说修改服务端的SID号吗?“服务名”好像是客户端的。
      

  6.   

    listener.ora、tnsnames.ora中的host都用ip地址代替,然后重起listerner
      

  7.   

    服务器端只有listener,没有服务,服务是指客户端。
    不知你的服务器中oracle能否下常运行,如能正常运行,而客户端又连不上,只能说明服务器端oracle的listener有错误。
    另外,不知阁下的客户端和服务器端的Oracle版本是否一致。
      

  8.   

    版本一致,就是在服务端连的,^_^,初步发现原因如下:
    listener.ora文件中有关内容为:
    ......
            (ADDRESS= 
              (PROTOCOL= TCP)
              (Host= omcserver50)
              (Port= 1521)
            )
            (ADDRESS= 
              (PROTOCOL= TCP)
              (Host= omcserver50)
              (Port= 1526)
            )
            (ADDRESS= 
              (PROTOCOL= TCP)
              (Host= 127.0.0.1)
              (Port= 1521)
            )在oracle TNSlistener进程启动时,会使用本机(omcserver50)使用的IP地址,如IP为192.80.100.139,启动日志中会记录:
    Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=372)(HOST=192.80.100.139)(PORT=1521))
    Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=384)(HOST=192.80.100.139)(PORT=1526))
    Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=388)(HOST=127.0.0.1)(PORT=1521))
    TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    21-APR-03 15:57:53 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=D:\orant\BIN\PLUS80W.EXE)(HOST=ZXSH002)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.80.100.139)(PORT=1029)) * establish * ORCL * 0
    21-APR-03 15:58:20 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=D:\orant\BIN\PLUS80W.EXE)(HOST=ZXSH002)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.80.100.139)(PORT=1035)) * establish * ORCL * 0但是不知道是什么情况下,进程启动时,IP地址解析成了127.0.0.1,造成重复的错误,日志如下:
    监听:(ADDRESS=(PROTOCOL=tcp)(DEV=372)(HOST=127.0.0.1)(PORT=1521))
    监听:(ADDRESS=(PROTOCOL=tcp)(DEV=384)(HOST=127.0.0.1)(PORT=1526))
    尝试监听:(DESCRIPTION=(CONNECT_TIMEOUT=10)(ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521)))
    TNS-12542: TNS:地址已在使用
     TNS-12560: TNS:
    OMC_500K says:
    :协议适配器出现错误
      TNS-00512: 地址已在使用
       32-bit Windows Error: 48: Unknown system error想知道是什么原因引起,如何防止,谢谢!(解决么应该重启一下进程就行了)
      

  9.   

    谢谢你的提醒!我想出来原因了:
    在两个网卡都被禁掉,或是网线拔掉时,重启TNSListener服务,这时进程在解析配置项
            (ADDRESS= 
              (PROTOCOL= TCP)
              (Host= omcserver50)
              (Port= 1521)
            )
    时,因为找不到IP,只好写成127.0.0.1,这样就会和配置项:
            (ADDRESS= 
              (PROTOCOL= TCP)
              (Host= 127.0.0.1)
              (Port= 1521)
            )
    冲突,这时只要服务器有任何一个IP,再启动TNSListener进程,就可以重新转回!以上经测试符合。