问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何修改vip 或者vip 对应的hostname

发布网友 发布时间:2022-04-23 08:09

我来回答

3个回答

热心网友 时间:2022-04-09 22:02

答:修改vip 或者vip 对应的hostname详细步骤如下:

在oracle 10g 和 11g 的Clusterware 环境中,客户端使用vip(Virtual IP)来连接数据库,客户端应用程序通过vip访问对应的节点上的数据库实例。每个节点都要有一个vip,这些vip是静态的ip地址,必须与公共网络属于同一个子网。每一个vip也要对应一个主机名,而且对于客户端来说,这个主机名应该能够被解析为VIP.VIP通过DNS,/etc/hosts文件来解析(11GR2 可以使用GNS),在安装GI软件时候,会提示为每一个节点填写对应的VIP和VIP对应的hostname,vip信息会存储在OCR和HA架构相关的组件中。

通常来说,VIP的修改需要在规定的时间窗口内,cluster 停止服务。然而对于某种情况下,是不需要停机时间,比如只是修改一个节点的vip维护操作只要在那个节点上就可以了,而不必停止整个cluster。

从10.2.0.3 以来,oracle 去除了ASM/DATABSE对vip的依赖关系,这样对vip的修改可以在不必停止ASM/DATABASE实例的情况下进行,需要做的仅仅是与这个节点连接的客户端受到影响。

实验环境:
版本:
Clusterware :11.2.0.2
database :11.2.0.1

修改vip的操作步骤:
旧vip:
10.10.10.201 rac1-vip
10.10.10.202 rac2-vip
新vip:
10.250.7.111 rac1-vip
10.250.7.112 rac2-vip

子网 10.250.7.0

掩码 255.255.255.0
1 确定vip
对于 10g and 11gR1, 以CRS的属主:
$ srvctl config nodeapps -n -a
比如:
$ srvctl config nodeapps -n racnode1 -a
VIP exists.: /racnode1-vip/101.17.80.184/255.255.254.0/eth1
对于 11gR2, 以Grid 属主:
$ srvctl config nodeapps -a
grid@rac1:/home/grid>srvctl config nodeapps -a
网络存在: 1/10.250.7.0/255.255.255.0/eth0, 类型 static
VIP 存在: /rac1-vip/10.10.10.201/10.250.7.0/255.255.255.0/eth0, 托管节点 rac1
VIP 存在: /rac2-vip/10.10.10.202/10.250.7.0/255.255.255.0/eth0, 托管节点 rac2
2. 确定VIP的状态
grid@rac1:/home/grid>crs_stat -t | grep vip
Name Type Target State Host
------------------------------------------------------------
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
grid@rac1:ifconfig -a
.....省略.....
eth0:2 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.10.10.201 Bcast:10.250.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2400 Memory:d8960000-d8980000
.....省略.....
Stopping Resources
3. 停止nodeapps资源和所有依赖于VIP的资源(如果有计划的中断所有服务,则停止ASM/DB 实例)
10g and 11gR1,以CRS的属主:
$ srvctl stop asm -n
$ srvctl stop instance -d -i
$ srvctl stop nodeapps -n
比如:
$ srvctl stop asm -n racnode1
$ srvctl stop instance -d RACDB -i RACDB1
$ srvctl stop nodeapps -n racnode1
11gR2,以Grid属主:
$ srvctl stop instance -d -n
$ srvctl stop vip -n -f
grid@rac1:srvctl stop database -d rac -o immediate
PRCD-1027 : 无法检索数据库 rac
PRCD-1229 : 尝试访问数据库 rac 的配置时被拒绝, 因为其版本 11.2.0.1.0 不同于程序版本 11.2.0.2.0。请改从 /opt/rac/oracle/11.2.0/dbs 运行程序。
oracle@rac1:/home/oracle>srvctl stop database -d rac -o immediate
grid@rac1:/home/grid>srvctl stop vip -n rac1 -f -v
已成功停止 VIP。
grid@rac1:/home/grid>srvctl stop vip -n rac2 -f -v
已成功停止 VIP。
Note: 在 11GR2版本中,-f选项是必须的,否则会报如下错误:
PRCR-1014 : Failed to stop resource ora.rac1.vip
PRCR-1065 : Failed to stop resource ora.rac1.vip
CRS-2529: Unable to act on 'ora.rac1.vip' because that would require stopping or relocating 'ora.LISTENER.lsnr', but the force option was not specified
...
grid@rac1:/home/grid>srvctl stop listener -n rac1
PRCC-1017 : LISTENER 已在 rac1 上停止
PRCR-1005 : 资源 ora.LISTENER.lsnr 已停止
grid@rac1:/home/grid>srvctl stop listener -n rac2
PRCC-1017 : LISTENER 已在 rac2 上停止
PRCR-1005 : 资源 ora.LISTENER.lsnr 已停止
为了防止变更未被确认,而asm 或者db 实例的自动启动,需要将此自动重启功能暂时禁用。
$ srvctl disable database -d
$ srvctl disable asm -n (对于11.2 版本之前的)
$ srvctl disable nodeapps (使用与 11.2 版本以后的)
而我执行srvctl disable nodeapps命令时遇到如下情况(因为vip服务已经停止了)。不会影响最终的操作。
grid@rac1:/home/grid>srvctl disable nodeapps
PRKO-2409 : GSD 已在节点上禁用: rac1,rac2
PRCR-1071 : 无法注册或更新 资源 ora.rac1.vip
CRS-0245: User doesn't have enough privilege to perform. the operation
PRCR-1071 : 无法注册或更新 资源 ora.net1.network
CRS-0245: User doesn't have enough privilege to perform. the operation
4.确认VIP是否已经offline,并且不再绑定到公共网卡上:
grid@rac1:/home/grid>crs_stat -t | grep vip
ora.rac1.vip ora....t1.type OFFLINE OFFLINE
ora.rac2.vip ora....t1.type OFFLINE OFFLINE
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
使用 ifconfig -a
5 修改VIP和对应的属性值,确保先在OS上做相应的变更 比如/etc/hosts 或者DNS。如果网卡改变了,先确保新的网卡可用。
旧vip:
10.10.10.201 rac1-vip
10.10.10.202 rac2-vip
新vip
10.250.7.111 rac1-vip
10.250.7.112 rac2-vip
子网 10.250.7.0
掩码 255.255.255.0
6. 修改VIP资源
以root用户执行如下命令:
[root@rac1 ~]# /opt/11202/11.2.0/grid/bin/srvctl modify nodeapps -n rac1 -A rac1-vip/255.255.255.0/eth0
[root@rac1 ~]# /opt/11202/11.2.0/grid/bin/srvctl modify nodeapps -n rac2 -A rac2-vip/255.255.255.0/eth0

Note 1: 对于windows平台,如果网卡名称有空格,必须使用 ""
比如:
> srvctl modify nodeapps -n racnode1 -A 110.11.70.11/255.255.255.0/"Local Area Connection 1
Note 2: 从 11.2 开始,VIP依赖于network资源(ora.net1.network),OCR 仅仅只是记录VIP 的hostname或者vip 的ip地址。vip的网络属性比如子网和掩码是记录在network资源里的。
From 11.2.0.2起 , 可以使用srvctl modify network 命令修改网络资源信息
grid@rac1:/home/grid>srvctl modify network -h
修改 Oracle Clusterware 中的网络配置。
用法: srvctl modify network [-k ] [-S /[/if1[|if2...]]] [-w ] [-v]
-k 网络编号 (默认编号为 1)
-S //[if1[|if2...]] 网络的 NET 地址说明
-w 网络类型 (static, dhcp, mixed)
-h 输出用法
-v 详细输出
以root用户:
# srvctl modify network -k 1 -S 110.11.70.0/255.255.255.0/eth2
7. 确认变更:
grid@rac1:/home/grid>srvctl config nodeapps -a
网络存在: 1/10.250.7.0/255.255.255.0/eth0, 类型 static
VIP 存在: /rac1-vip/10.250.7.111/10.250.7.0/255.255.255.0/eth0, 托管节点 rac1
VIP 存在: /rac2-vip/10.250.7.112/10.250.7.0/255.255.255.0/eth0, 托管节点 rac2

8. 重新启动nodeapps资源和相关依赖资源
grid@rac1:/home/grid>srvctl enable nodeapps
PRKO-2415 : VIP 已在节点上启用: rac1,rac2
PRKO-2416 : 网络资源已启用。
oracle@rac1:/home/oracle>srvctl enable database -d rac
grid@rac1:/home/grid>
grid@rac1:/home/grid>srvctl start listener -n rac2
grid@rac1:/home/grid>srvctl start listener -n rac1
grid@rac1:/home/grid>
oracle@rac1:/home/oracle>
oracle@rac1:/home/oracle>srvctl start database -d rac
grid@rac1:/home/grid>
9. 查看新的VIP的状态
grid@rac1:/home/grid>crs_stat -t | grep vip
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
grid@rac1:/home/grid>
grid@rac1:/home/grid>
grid@rac1:/home/grid>/sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.225 Bcast:10.250.7.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe8f:250a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:560742 errors:0 dropped:0 overruns:0 frame.:0
TX packets:1472284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:56118003 (53.5 MiB) TX bytes:126169027 (120.3 MiB)
Base address:0x2400 Memory:d8960000-d8980000

eth0:1 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.210 Bcast:10.250.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2400 Memory:d8960000-d8980000

eth0:2 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.111 Bcast:10.250.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2400 Memory:d8960000-d8980000

eth1 Link encap:Ethernet HWaddr 00:50:56:8F:6F:49
inet addr:10.10.10.101 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe8f:6f49/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6842717 errors:0 dropped:0 overruns:0 frame.:0
TX packets:4120949 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4798726508 (4.4 GiB) TX bytes:1472194319 (1.3 GiB)
Base address:0x2440 Memory:d8980000-d89a0000
eth1:1 Link encap:Ethernet HWaddr 00:50:56:8F:6F:49
inet addr:169.254.51.141 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2440 Memory:d8980000-d89a0000
grid@rac1:/home/grid>

对于11gR2,只是修改vip的hostname 而不修改其ip地址和vip的其他属性不变:
1.修改VIP 使其指向另一个可用的 hostname,比如rac1
# srvctl modify nodeapps -n racnode1 -A rac2-vip/255.255.255.0/eth2
2.修改 VIP 指定新的hostname
# srvctl modify nodeapps -n racnode1 -A rac1-nvip/255.255.255.0/eth2
3. 确定 USR_ORA_VIP 的值:
# crsctl stat res ora.rac1.vip

热心网友 时间:2022-04-09 23:20

Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
  #hostname
  #cat /proc/sys/kernel/hostname
  上面两种输出结果相同。
  修改运行时Linux系统的hostname,即不需要重启系统
  hostname命令可以设置系统的hostname
  #hostname newname
  newname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。
  永久更改Linux的hostname
  man hostname里有这么一句话,”The host name is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).” RedHat里没有这个文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,它读取/etc /sysconfig/network这个文本文件,RedHat的hostname就是在这个文件里设置。
  所以,如果要永久修改RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。
  Debian发行版的hostname的配置文件是/etc/hostname。
  修该配置文件后,重启系统就会读取配置文件设置新的hostname。
  hostname与/etc/hosts的关系
  很过人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。
  hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。
  Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录
  127.0.0.1 localhost.localdomain localhost
  hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选。
  127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。
  修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。比如我的eth0的IP是192.168.1.61,我将hosts文件修改如下:
  #hostname blog.infernor.net
  # cat /etc/hosts
  127.0.0.1 localhost.localdomain localhost
  192.168.1.61 blog.infernor.net blog
  这样,我就可以通过blog或者blog.infernor.net来访问本机。
  从上面这些来看,/etc/hosts于设置hostname是没直接关系的,仅仅当你要在本机上用新的hostname来访问自己的时候才会用到/etc/hosts文件。两者没有必然的联系。
  RHEL还有个问题。
  我开始在测试的时候,只修改/etc/hosts,里面添加 192.168.1.61 blog.infernor.net blog,而/etc/sysconfig/network维持原状,也就是里面的HOSTNAME=localhost.localdomain。我重启系统后居然发现hostname给修改成了blog.infernor.net。这样看的话,倒真觉得/etc/hosts是hostname的配置文件。后来终于在/etc/rc.d/rc.sysinit这个启动脚本里发现了问题的所在。
  rc.sysinit文件里一开始就设置了hostname
  if [ -f /etc/sysconfig/network ]; then
  . /etc/sysconfig/network
  fi
  if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
  HOSTNAME=localhost
  fi
  确实使用了/etc/sysconfig/network里的hostname值。不过后面还有一段关于设置hostname的
  ipaddr=
  if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]
  ; then
  ipaddr=$(ip addr show to 0/0 scope global | awk '/[[:space:]]inet
  / { print gensub("/.*","","g",$2) }')
  if [ -n "$ipaddr" ]; then
  eval $(ipcalc -h $ipaddr 2>/dev/null)
  hostname ${HOSTNAME}
  fi
  fi
  脚本判断hostname是否为localhost或者localhost.localdomain,如果是的话,将会使用接口IP地址对应的 hostname来重新设置系统的hostname。问题就出在这里,我的/etc/sysconfig/network默认的hostname是 localhost.localdomain,eth0的IP是192.168.1.61,而/etc/hosts里有192.168.1.61的记录。于是就用192.168.1.61这条记录来替换了hostname。
  估计这也是很多人将/etc/hosts误以为是hostname的配置文件的原因。
  hostname带选项查询
  hostname的-s -f -i等等选项都用到了/etc/hosts或者DNS系统,跟我们讨论的hostname有点远了,也容易产生误会。具体可以man hostname查看。

热心网友 时间:2022-04-10 02:46

grid@rac1:/home/grid>crs_stat -t | grep vip
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
grid@rac1:/home/grid>
grid@rac1:/home/grid>
grid@rac1:/home/grid>/sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.225 Bcast:10.250.7.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe8f:250a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:560742 errors:0 dropped:0 overruns:0 frame.:0
TX packets:1472284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:56118003 (53.5 MiB) TX bytes:126169027 (120.3 MiB)
Base address:0x2400 Memory:d8960000-d8980000

eth0:1 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.210 Bcast:10.250.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2400 Memory:d8960000-d8980000

eth0:2 Link encap:Ethernet HWaddr 00:50:56:8F:25:0A
inet addr:10.250.7.111 Bcast:10.250.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2400 Memory:d8960000-d8980000

eth1 Link encap:Ethernet HWaddr 00:50:56:8F:6F:49
inet addr:10.10.10.101 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe8f:6f49/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6842717 errors:0 dropped:0 overruns:0 frame.:0
TX packets:4120949 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4798726508 (4.4 GiB) TX bytes:1472194319 (1.3 GiB)
Base address:0x2440 Memory:d8980000-d89a0000
eth1:1 Link encap:Ethernet HWaddr 00:50:56:8F:6F:49
inet addr:169.254.51.141 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2440 Memory:d8980000-d89a0000
grid@rac1:/home/grid>

对于11gR2,只是修改vip的hostname 而不修改其ip地址和vip的其他属性不变:
1.修改VIP 使其指向另一个可用的 hostname,比如rac1
# srvctl modify nodeapps -n racnode1 -A rac2-vip/255.255.255.0/eth2
2.修改 VIP 指定新的hostname
# srvctl modify nodeapps -n racnode1 -A rac1-nvip/255.255.255.0/eth2
3. 确定 USR_ORA_VIP 的值:
# crsctl stat res ora.rac1.vip
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 水煮鸡都有怎样的做法? 家里的热水器,天然气省钱,还是电热水器省钱呢 求R站会员,谢谢 您的号码处于锁定状态。请点击以下链接查看解锁指引 http://vip.qq.com/freedom/freedom_super_pw.html 电热水器和燃气热水器哪个省钱 qq号码后面的这个是怎么弄的 zylryy@vip.qq.com 煮鸡需要些什么佐料?如何操作? touch中如何强制分手?充vip之后是永久吗,又如何升级vip?月卡中那一个月中的某一天没领取R YY里是绿马甲:嘉宾(vip)好,还是蓝马甲:会员(R)好,哪个在频道中等级高? 热水器选用天然气和电热水器,哪一个更省钱? 谁帮我注册一个itunes store阿,要中国地区的,邮箱zlr94@vip.qq.com 真三国无双6特别版日版 cvn-ssm6sp01.r39和cvn-ssm6sp02.r39 谁能给发下 zhangmin0223@vip.qq.com 无法删除VipTray(病毒/木马)!!! 你好,一个欧司朗P-VIP 180/1.0 E22r的投影灯泡和与其配套的高压点灯板,只要灯能正常工作,还需要什么? 白猫计划非r玩家怎么刷初始 非vip池角色选择建议 vIpαr22A电源芯片可用那种代挽? ubuntu 全公网ip配置lvs+dr keepalived,d机和r机能ping通vip,但其他机器不能ping通vip 有没有代刷4399 touch炫舞的R币和VIP的 RVIP据说比VVIP还高一级,是什么的缩写? 龙将vip具体需要多少 和有什么好处?? 电热水器与燃气热水器,那个用起来省钱? 您好,我的笔记本电脑是华硕x43br 如何关闭触控板呀,从网上搜了搜也没学会,还是请教您吧!fn+f9没用 怎样煮鸡子快 白煮鸡是怎样制作的? 电热水器和燃气热水器哪个好?哪个更省钱? 请问煮鸡有什么好方法? 天燃气热水器与电热水器,哪种热水器使用成本低? 怎样煮鸡才好吃? 水煮鸡怎么做才好吃? 电热水器和燃气热水器哪个更省钱? 微信小程序直播怎么下载回放视频? 亲!微信小程序,直播回放视频能下载吗?谢谢了 酱油鸡怎么煮 微信发过来链接直播视频,这么下载 微信直播视频可以下载保存吗 怎样煮鸡不起沫子 亲!微信小程序,直播回放视频能下载吗?谢谢了! 请问企业微信直播回放视频如何下载? ipad3忘记密码被停用,连itunes也连不上,说是要输口令,就是那个密码,可是我忘记了应该怎么恢复啊? 联想。。台式电脑。可以搞定。iPad3锁屏密码吗