标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,670)
- DB2 (22)
- MySQL (73)
- Oracle (1,532)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (21)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (14)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (65)
- Oracle Bug (8)
- Oracle RAC (52)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (560)
- Oracle安装升级 (91)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (78)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
- ORA-01092 ORA-00604 ORA-01558故障处理
- ORA-65088: database open should be retried
- Oracle 19c异常恢复—ORA-01209/ORA-65088
- ORA-600 16703故障再现
- 数据库启动报ORA-27102 OSD-00026 O/S-Error: (OS 1455)
- .[metro777@cock.li].Elbie勒索病毒加密数据库恢复
- 应用连接错误,初始化mysql数据库恢复
- RAC默认服务配置优先节点
- Oracle 19c RAC 替换私网操作
- 监听报TNS-12541 TNS-12560 TNS-00511错误
- drop tablespace xxx including contents恢复
- Linux 8 修改网卡名称
分类目录归档:Oracle RAC
RAC默认服务配置优先节点
在某些rac情况下需要,需要对数据库默认的db_name对应的服务名进行修改,实现优先节点访问的效果.分析了下在默认值情况下,db_name影响到db_unique_name,然后决定了数据库的service_names.现有库的db_name无法修改,那就只能在db_unique_name上做手脚(只是修改service_names,对应的db_unique_name还是会创建默认服务,这样该服务依旧可以连接).但是在rac环境中db_unique_name记录到了crs资源之中,无法直接在数据库级别修改(修改会报ORA-32017 ORA-65500错误)
SQL> alter system set db_unique_name='nxifenfei' sid='*' scope=spfile; alter system set db_unique_name='nxifenfei' sid='*' scope=spfile * ERROR at line 1: ORA-32017: failure in updating SPFILE ORA-65500: could not modify DB_UNIQUE_NAME, resource exists
只能先删除crs中关于db的资源,然后再进行修改服务名,再增加db资源
[oracle@xffdb1 ~]$ srvctl remove database -d xifenfei -f SQL> alter system set db_unique_name='nxifenfei' sid='*' scope=spfile; [oracle@xffdb1 ~]$ srvctl add database -d nxifenfei -o /u01/app/oracle/product/19c/db_1 -p \ +DATADG/XIFENFEI/PARAMETERFILE/spfile.271.1174153165 -pwfile +DATADG/XIFENFEI/PASSWORD/pwdxifenfei.256.1174152463 [oracle@xffdb1 ~]$ srvctl add instance -d nxifenfei -i xifenfei1 -n xffdb1 [oracle@xffdb1 ~]$ srvctl add instance -d nxifenfei -i xifenfei2 -n xffdb2 [oracle@xffdb1 ~]$ srvctl add instance -d nxifenfei -i xifenfei3 -n xffdb3
创建新服务(和db_name同名,和现在的db_unique_name不同名)
[oracle@xffdb1 ~]$ srvctl add service -db nxifenfei -service xifenfei -r xifenfei2 -a xifenfei1,xifenfei3 \ -failovertype SESSION -failovermethod BASIC -failoverdelay 10 -failoverretry 3 -failback YES [oracle@xffdb1 ~]$ srvctl start service -db nxifenfei -service xifenfei [oracle@xffdb1 ~]$ srvctl config service -d nxifenfei -service xifenfei Service name: xifenfei Server pool: Cardinality: 1 Service role: PRIMARY Management policy: AUTOMATIC DTP transaction: false AQ HA notifications: false Global: false Commit Outcome: false Failover type: SESSION Failover method: BASIC Failover retries: 3 Failover delay: 10 Failover restore: NONE Connection Load Balancing Goal: LONG Runtime Load Balancing Goal: NONE TAF policy specification: NONE Edition: Pluggable database name: Hub service: Maximum lag time: ANY SQL Translation Profile: Retention: 86400 seconds Failback : yes Replay Initiation Time: 300 seconds Drain timeout: Stop option: Session State Consistency: DYNAMIC GSM Flags: 0 Service is enabled Preferred instances: xifenfei2 Available instances: xifenfei1,xifenfei3 CSS critical: no Service uses Java: false [grid@xffdb1 ~]$
服务的其他操作
--调整服务的优先节点 srvctl modify service -db nxifenfei -service xifenfei -modifyconfig -preferred "xifenfei1" -available "xifenfei2,xifenfei3" srvctl stop service -db nxifenfei -service xifenfei srvctl start service -db nxifenfei -service xifenfei --切换服务所在节点 srvctl relocate service -db nxifenfei -service xifenfei -oldinst xifenfei2 -newinst xifenfei1 --删除服务 srvctl stop service -db nxifenfei -service xifenfei srvctl remove service -db nxifenfei -service xifenfei
Oracle 19c RAC 替换私网操作
19c的三节点集群,需要替换一个私网网卡(如果有足够的停机窗口有一个更加简单的方法,直接通过修改网卡名称实现替换,不过需要主机重启一次,参考:Linux 8 修改网卡名称)
1. 先在主机层面确认新配置网络能够相互ping通,在hosts文件加入私网信息,并且确认ssh 可以相互访问
ssh xffdb1-priv3 date;ssh xffdb2-priv3 date;ssh xffdb3-priv3 date;
2. 删除掉需要删除的网络上的asm监听和该network信息
[grid@xffdb1 ~]$ srvctl config listener -asmlistener Name: ASMNET1LSNR_ASM Type: ASM Listener Owner: grid Subnet: 172.16.16.0 Home: <CRS home> End points: TCP:1525 Listener is enabled. Listener is individually enabled on nodes: Listener is individually disabled on nodes: Name: ASMNET2LSNR_ASM Type: ASM Listener Owner: grid Subnet: 172.17.17.0 Home: <CRS home> End points: TCP:1526 Listener is enabled. Listener is individually enabled on nodes: Listener is individually disabled on nodes: [grid@xffdb1 ~]$ srvctl config asmnetwork ASM network 1 exists Subnet IPv4: 172.16.16.0// Subnet IPv6: Network is enabled Network is individually enabled on nodes: Network is individually disabled on nodes: ASM network 2 exists Subnet IPv4: 172.17.17.0// Subnet IPv6: Network is enabled Network is individually enabled on nodes: Network is individually disabled on nodes: [grid@xffdb1 ~]$ [grid@xffdb3 ~]$ srvctl config asm ASM home: <CRS home> Password file: +DATA/orapwASM Backup of Password file: +DATA/orapwASM_backup ASM listener: LISTENER ASM instance count: 3 Cluster ASM listener: ASMNET1LSNR_ASM,ASMNET2LSNR_ASM [grid@xffdb3 ~]$ crsctl status res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.chad ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.net1.network ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.ons ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.proxy_advm OFFLINE OFFLINE xffdb1 STABLE OFFLINE OFFLINE xffdb2 STABLE OFFLINE OFFLINE xffdb3 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.ASMNET2LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.OCR.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.DATADG.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.FRADG.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE xffdb2 STABLE ora.asm(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 Started,STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.asmnet2.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.cvu 1 ONLINE ONLINE xffdb2 STABLE ora.xffdb1.vip 1 ONLINE ONLINE xffdb1 STABLE ora.xffdb2.vip 1 ONLINE ONLINE xffdb2 STABLE ora.xffdb3.vip 1 ONLINE ONLINE xffdb3 STABLE ora.xifenfei.db 1 ONLINE ONLINE xffdb1 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE 2 ONLINE ONLINE xffdb2 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE 3 ONLINE ONLINE xffdb3 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE ora.qosmserver 1 ONLINE ONLINE xffdb2 STABLE ora.scan1.vip 1 ONLINE ONLINE xffdb2 STABLE -------------------------------------------------------------------------------- [grid@xffdb1 peer]$ srvctl update listener -listener ASMNET2LSNR_ASM -asm -remove -force [grid@xffdb1 peer]$ srvctl remove asmnetwork -netnum 2 -force PRCR-1028 : Failed to remove resource ora.asmnet2.asmnetwork PRCR-1072 : Failed to unregister resource ora.asmnet2.asmnetwork CRS-0245: User doesn't have enough privilege to perform the operation [root@xffdb1 ~]# source /home/grid/.bash_profile [root@xffdb1 ~]# srvctl remove asmnetwork -netnum 2 -force [root@xffdb1 ~]# [root@xffdb1 ~]# [root@xffdb1 ~]# crsctl status res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.chad ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.net1.network ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.ons ONLINE ONLINE xffdb1 STABLE ONLINE ONLINE xffdb2 STABLE ONLINE ONLINE xffdb3 STABLE ora.proxy_advm OFFLINE OFFLINE xffdb1 STABLE OFFLINE OFFLINE xffdb2 STABLE OFFLINE OFFLINE xffdb3 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.OCR.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.DATADG.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.FRADG.dg(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE xffdb2 STABLE ora.asm(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 Started,STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE xffdb1 STABLE 2 ONLINE ONLINE xffdb2 STABLE 3 ONLINE ONLINE xffdb3 STABLE ora.cvu 1 ONLINE ONLINE xffdb2 STABLE ora.xffdb1.vip 1 ONLINE ONLINE xffdb1 STABLE ora.xffdb2.vip 1 ONLINE ONLINE xffdb2 STABLE ora.xffdb3.vip 1 ONLINE ONLINE xffdb3 STABLE ora.xifenfei.db 1 ONLINE ONLINE xffdb1 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE 2 ONLINE ONLINE xffdb2 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE 3 ONLINE ONLINE xffdb3 Open,HOME=/u01/app/o racle/product/19c/db _1,STABLE ora.qosmserver 1 ONLINE ONLINE xffdb2 STABLE ora.scan1.vip 1 ONLINE ONLINE xffdb2 STABLE -------------------------------------------------------------------------------- [grid@xffdb2 peer]$ srvctl config listener -asmlistener Name: ASMNET1LSNR_ASM Type: ASM Listener Owner: grid Subnet: 172.16.16.0 Home: <CRS home> End points: TCP:1525 Listener is enabled. Listener is individually enabled on nodes: Listener is individually disabled on nodes: [grid@xffdb2 peer]$ srvctl config asmnetwork ASM network 1 exists Subnet IPv4: 172.16.16.0// Subnet IPv6: Network is enabled Network is individually enabled on nodes: Network is individually disabled on nodes:
3. 替换集群私网操作
[grid@xffdb1 ~]$ oifcfg getif bond0 192.168.20.0 global public ens9f0 172.16.16.0 global cluster_interconnect,asm ens9f1 172.17.17.0 global cluster_interconnect,asm [grid@xffdb1 ~]$ oifcfg setif -global ens6f0np0/172.18.18.0:cluster_interconnect,asm [grid@xffdb1 ~]$ oifcfg getif bond0 192.168.20.0 global public ens9f0 172.16.16.0 global cluster_interconnect,asm ens9f1 172.17.17.0 global cluster_interconnect,asm ens6f0np0 172.18.18.0 global cluster_interconnect,asm [grid@xffdb1 ~]$ oifcfg delif -global ens9f1/172.17.17.0 [grid@xffdb1 ~]$ oifcfg getif bond0 192.168.20.0 global public ens9f0 172.16.16.0 global cluster_interconnect,asm ens6f0np0 172.18.18.0 global cluster_interconnect,asm [grid@xffdb1 ~]$ oifcfg delif -global ens9f1/172.17.17.0 [grid@xffdb1 ~]$ oifcfg getif bond0 192.168.20.0 global public ens9f0 172.16.16.0 global cluster_interconnect,asm ens6f0np0 172.18.18.0 global cluster_interconnect,asm
4. 依次重启集群三个节点(ASMNET2LSNR_ASM监听需要人工kill),集群网络替换完成(因为asm listener已经有一个,另外一个私网不准备给他们加上asm listener),如果要增加可以进行如下操作
# srvctl add asmnetwork -netnum 2 -subnet 172.18.18.0 % srvctl add listener -asmlistener -l ASMNET1LSNR_ASM -subnet 172.18.18.0
如何修改集群的公网信息(包括 VIP) (Doc ID 1674442.1)
客户端使用 VIP(虚拟 IP)连接 Oracle 数据库的版本为 10g 和 11g 的集群环境。这些虚拟 IP 是和虚拟主机名对应的静态 IP 地址并且通过 DNS 解析(除非您使用了 11gR2 GNS)。
在安装 Oracle 集群管理软件时,用户会被要求为集群中的每一个节点输入一个虚拟 IP 和虚拟主机名。这些信息会被记录在 OCR (Oracle Cluster Registry)中,而且 HA 框架中的不同组件会依赖于这些 VIP。如果出于某种原因,需要修改 VIP、VIP 对应的主机名或者公网的子网、网络掩码等信息,请按照本文介绍的过程。
如果修改涉及到集群私网,请参考 Note 283684.1
情况1. 修改公网对应的主机名
集群公网对应的主机名是在安装时输入的,并且被记录在 OCR 中。这个主机名在安装之后是不能修改的。唯一的修改方法是删除节点,修改主机名,之后将节点重新添加到集群,或者直接重新安装集群软件,并完成后续的克隆配置。
情况2. 只修改公网 IP或者VIP, 但是不修改网卡、子网或网络掩码信息,或者只是修改MAC地址,而不需要修改其他信息
如果只需要修改公网 IP 地址或者VIP,而且新的地址仍然在相同的子网和相同的网络接口上,或者只是修改公网IP的MAC地址,IP/interface/subnet/netmask仍旧保持不变,集群层面不需要做任何修改,所有需要的修改是在 OS 层面反映 IP 地址的变化。
1. 关闭 Oracle 集群管理软件
2. 在网络层面,DNS 和 /etc/hosts 文件中修改 IP 地址,或者直接修改MAC地址
3. 重新启动 Oracle 集群管理软件
以上的修改可以使用滚动的方式完成,例如:每次修改一个节点。
情况3. 修改公网网卡,子网或网络掩码信息
如果修改涉及到了不同的子网(网络掩码)或者网卡,需要将 OCR 中已经存在的网卡信息删除并重新添加新的信息。
作为grid用户:
在以下的示例中子网从 10.2.156.0 被修改为 10.2.166.0,需要执行两个步骤 –首先‘delif’,接下来 ‘setif’:
% $CRS_HOME/bin/oifcfg/oifcfg delif -global <if_name>[/<subnet>]
% $CRS_HOME/bin/oifcfg/oifcfg setif -global <if_name>/<subnet>:public
例如:
% $CRS_HOME/bin/oifcfg delif -global eth0/10.X.156.0
% $CRS_HOME/bin/oifcfg setif -global eth0/10.X.166.0:public
然后,在操作系统层面进行修改。除非 OS 层面的修改需要重新启动节点,否则不需要重启 Oracle 集群管理软件。修改可以使用滚动的方式完成。
一旦公网信息被修改,与其相关的 VIP 和 SCAN VIP 也需要修改,请参考情况4和情况5。
注意:对于11gR2,上面命令要求集群在所有节点运行,否则报错PRIF-33 和 PRIF-32,比如:
[grid@racnode1 bin]$ ./oifcfg delif -global <if_name>/192.168.1.0
PRIF-33: Failed to set or delete interface because hosts could not be discovered
CRS-02307: No GPnP services on requested remote hosts.
PRIF-32: Error in checking for profile availability for host <nodename>2
CRS-02306: GPnP service on host “<nodename>2″ not found.
情况4. 修改 VIP 相关的公网信息
准备修改VIP
一般而言,只有 10.2.0.3 之前的版本需要完全的停机。从 10.2.0.3 开始,ASM 和数据库实例对 VIP 资源的依赖关系已经被删除,所以修改 VIP 不需要停止 ASM 和数据库实例,只有当修改 VIP 时产生的客户端连接会受影响。如果修改只涉及到特定的节点,那么只有连接到对应节点的客户端链接在修改时会受影响。
首先,请参考情况3以确保公网信息被修改。如果在 OS 层面的网络修改后发生了节点或者集群管理软件重启,VIP 将不会被启动,请跳到步骤“修改 VIP 和相关属性”。
获得当前的 VIP 配置
1. 获取当前设置
对于版本 10g 和 11gR1, 使用 Oracle 集群管理软件的拥有者执行下面的命令:
$ srvctl config nodeapps -n <nodename> -a
例如:
$ srvctl config nodeapps -n <nodename>1 -a
VIP exists.: /<nodename>1-vip/101.XX.XX.184/255.255.254.0/<if_name>
对于版本 11gR2, 使用 Grid Infrastructure 的拥有者执行下面的命令:
$ srvctl config nodeapps -a
例如:
$ srvctl config nodeapps -a
Network exists: 1/101.17.80.0/255.255.254.0/<if_name>, type static
VIP exists: /racnode1-vip/101.17.XX.184/101.17.80.0/255.255.254.0/<if_name>, hosting node <nodename>1
VIP exists: /racnode2-vip/101.17.XX.186/101.17.80.0/255.255.254.0/<if_name>, hosting node <nodename>2
2. 验证 VIP 状态
版本 10.2 和 11.1:
$ crs_stat -t
版本 11.2:
$ crsctl stat res -t
- 以上命令应该显示 VIPs 状态为 ONLINE
$ ifconfig -a
(HP 平台请使用 netstat –in, Windows 平台请使用 ipconfig /all)
- VIP 逻辑网卡对应公网网卡
停止资源
3. 停止 nodeapps 资源 (如果有必要的话,停止存在依赖关系的 ASM 和数据库资源):
对于版本 10g 和 11gR1, 使用 Oracle 集群管理软件的拥有者执行下面的命令:
$ srvctl stop instance -d <db_name> -i <inst_name> (对于 10.2.0.3 及以上版本,可以忽略)
$ srvctl stop asm -n <node_name> (对于 10.2.0.3 及以上版本,可以忽略)
$ srvctl stop nodeapps -n <node_name>
例如:
$ srvctl stop instance -d <DBNAME> -i <INSTANCENAME>1
$ srvctl stop asm -n <nodename>1
$ srvctl stop nodeapps -n <nodename>1
对于版本 11gR2, 使用 Grid Infrastructure 的拥有者执行下面的命令:
$ srvctl stop instance -d <db_name> -n <node_name> (可以忽略)
$ srvctl stop vip -n <node_name> -f
例如:
$ srvctl stop instance -d <DBNAME> -n <nodename>1
$ srvctl stop vip -n <nodename>1 -f
注意1: 对于版本 11gR2,需要使用 -f 选项停止 listener 资源,否则会报以下错误:
PRCR-1014 : Failed to stop resource ora.<nodename>1.vip
PRCR-1065 : Failed to stop resource ora.<nodename>1.vip
CRS-2529: Unable to act on ‘ora.<nodename>1.vip’ because that would require stopping or relocating ‘ora.LISTENER.lsnr’, but the force option was not specified
…
4. 验证 VIP 现在处于 OFFLINE 状态,并且 VIP 不再绑定到公网网卡
$ crs_stat -t (对于版本 11gR2,使用命令 $ crsctl stat res –t)
$ ifconfig -a
(HP 平台请使用 netstat –in, Windows 平台请使用 ipconfig /all)
修改 VIP 和相关属性
5. 确定新的 VIP 地址/子网/网络掩码或者 VIP 对应的主机名,在 OS 层面修改网络配置信息,确认新的 VIP 地址应经注册到 DNS 或者确认 /etc/hosts 文件(Unix/Linux 平台),\WINDOWS\System32\drivers\etc\hosts 文件(Windows平台)已经被修改。如果网卡信息被修改,确认在修改之前新的网卡在服务器上已经可用。
例如:
新VIP 地址:110.XX.XX.11 <nodename>1-nvip
新子网信息:110.11.70.0
新网络掩码:255.255.255.0
新网卡:<if_name>
6. 使用 root 用户修改 VIP 资源:
如果子网或网卡接口发生变化,请修改网络资源。
检查文档的语法是否正确,因为每个“srvctl modify network”命令选项可能不同。
srvctl modify network [-netnum network_number] [-subnet subnet/netmask
[/if1[|if2|...]]]
通过发出获取network_number
srvctl config network
# srvctl modify nodeapps -n <node> -A <new_vip_address or new_vip_hostname>/<netmask>/<[if1[if2...]]>
例如:
# srvctl modify nodeapps -n <nodename>1 -A <nodename>1-nvip/255.255.255.0/<if_name>
注意 1:从版本 11.2 开始,VIP 依赖于 network 资源(ora.net1.network),OCR 只记录 VIP 主机名或者 VIP 资源相关的 IP 地址。集群公网的属性(子网/网络掩码)通过网络资源记录。当 nodeapps 资源被修改后,network资源(ora.net1.network)相关的属性也会随之被修改。
从 11.2.0.2 开始,如果只修改子网/网络掩码信息,网络资源可以通过以下的 srvctl modify network 命令直接修改。
使用 root 用户:
# srvctl modify network -k <network_number>] [-S <subnet>/<netmask>[/if1[|if2...]]
例如:
# srvctl modify network -k 1 -S 110.XX.XX.0/255.255.255.0/<if_name>
如果其他属性没有变化,不需要修改 VIP 或 SCAN VIP。
注意 2:在12.1.0.1的版本上由于Bug 16608577 – CANNOT ADD SECOND PUBLIC INTERFACE IN ORACLE 12.1 ,srvctl modify network 的命令会失败并提示:
# srvctl modify network -k 1 -S 110.XX.XX.0/255.255.255.0/<if_name>
PRCT-1305 : The specified interface name “<if_name>2″ does not match the existing network interface name “<if_name>1″
需要通过以下workaround来解决:
# srvctl modify network -k 1 -S 110.XX.XX.0/255.255.255.0
# srvctl modify network -k 1 -S 110.XX.XX.0/255.255.255.0/<if_name>2
* 一个 11gR2 修改 VIP 主机名,但是不修改 IP 地址的例子。
例如:只把 VIP 主机名从 <nodename>1-vip 修改为 <nodename>1-nvip,IP 地址和其他属性保持不变。
如果 IP 地址保持不变,以上的命令将不会改变命令‘crsctl stat res ora.<nodename>1.vip -p’的输出中项目 USR_ORA_VIP 的值。请使用下面的命令:
# crsctl modify res ora.<nodename>1.vip -attr USR_ORA_VIP=<nodename>1-nvip
验证项目 USR_ORA_VIP 的改变:
# crsctl stat res ora.<nodename>1.vip -p |grep USR_ORA_VIP
注意:对于 Windows 平台,如果网卡名中包含了空格,那么网卡名需要包含在双引号(“)中。例如:
使用管理员用户或者软件安装用户:
> srvctl modify nodeapps -n <nodename>1 -A 110.XX.XX.11/255.255.255.0/”Local Area Connection 1″
7. 验证改变
$ srvctl config nodeapps -n <node> -a (10g and 11gR1)
$ srvctl config nodeapps -a (11gR2)
例如:
$ srvctl config nodeapps -n <nodename>1 -a
VIP exists.: /<nodename>1-nvip/110.11.70.11/255.255.255.0/<if_name>2
8. fpp 或 rhp 等其他工具使用此文件,需要保持最新。
允许编辑网络资源。
cd $GI_HOME/crs/install and backup the crsconfig_params file
cp $GI_HOME/crs/install/crsconfig_params $GI_HOME/crs/install/crsconfig_params.orig
然后以root用户编辑文件
vi $GI_HOME/crs/install/crsconfig_params
仅更改 CRS_NODEVIP、NETWORKS 和 NEW_NODEVIPS 的地址和子网地址
保存文件。
重新启动资源
9. 启动 nodeapps 和其它资源
对于版本 10g 和 11gR1, 使用 Oracle 集群管理软件的拥有者执行下面的命令:
$ srvctl start nodeapps -n <node_name>
$ srvctl start asm -n <node_name> (对于 10.2.0.3 及以上版本,可以忽略)
$ srvctl start instance -d <dbanme> -i <inst> (对于 10.2.0.3 及以上版本,可以忽略)
例如:
$ srvctl start nodeapps -n <nodename>1
$ srvctl start asm -n <nodename>1
$ srvctl start instance -d <DBNAME> -i <INSTANCE_NAME>1
对于版本 11gR2, 使用 Grid Infrastructure 的拥有者执行下面的命令:
$ srvctl start vip -n <node_name>
$ srvctl start listener -n <node_name>
$ srvctl start instance -d <db_name> -n <node_name> (可以忽略)
例如:
$ srvctl start vip -n <nodename>1
$ srvctl start listener -n <nodename>1
$ srvctl start instance -d <DBNAME> -n <nodename>1
注意:如果网络的属性做了修改,比如netmask 等做了修改,需要重新启动nodeapps
10. 验证新的 VIP 状态为 ONLINE 并且已经绑定到集群公网网卡
$ crs_stat -t (对于版本 11gR2,使用命令 $ crsctl stat res –t)
$ ifconfig -a
(HP 平台请使用 netstat –in, Windows 平台请使用 ipconfig /all)
11. 如果集群中的其它节点也需要类似的改变,请重复同样的步骤。
其它
12. 如果需要,修改 listener.ora, tnsnames.ora 和 LOCAL_LISTENER/REMOTE_LISTENER 参数反应 VIP 的改变。
注意: ASM和DB实例的LOCAL_LISTENER参数,是GI自动设置的。VIP的改变,LOCAL_LISTENER会自动识别,并生效。但是由于Bug 22824602,一些特定情况下。 LOCAL_LISTENER参数没有反应 VIP 的改变。workaround解决方法是重启受影响的节点的集群软件。
情况5:修改 SCAN VIP 相关的公网信息
对于 11gR2 Grid Infrastructure,客户端可以通过 SCAN 和 SCAN VIP 连接数据库。请参考下面的 Note 修改 SCAN VIP。
Note 952903.1 How to update the IP address of the SCAN VIP resources (ora.scan<n>.vip)
Note 972500.1 How to Modify SCAN Setting or SCAN Listener Port after Installation
发表在 Oracle RAC
评论关闭