Oracle 11g Rac Votedisk、OCR以及各种资源的管理

原文地址:https://blog.youkuaiyun.com/sunjiapeng/article/details/9531639

题:Oracle 11g Rac 维护相对与10g而言难度有些许的增加,命令也多了一些,下面对11g rac 的Votedisk、OCR以及各种资源维护时用到的一些命令进行总结,方便日后查看。


 

管理Votedisk文件

检查Votedisk状态

$ crsctl query css votedisk

 

在新位置增加一个votedisk

$ crsctl add css votedisk +data

 

迁移到其他磁盘组

$ crsctl replace votedisk +database

 

如果votedisk损坏,需要恢复,必须要以root用户先将Clusterware启动到"exclusive"模式

#crsctl start crs -excl

 

以root用户关闭和启动Clusterware服务

# crsctl stop crs [-f] ----f 代表强制

# crsctl start crs

 

管理OCR文件

对OCR进行手工备份

#ocrconfig -manualbackup

 

查看备份的OCR文件

#ocrconfig -showbackup

 

查看OCR备份文件的内容

#ocrdump -backupfile backup_file_name

 

对OCR备份文件进行恢复

#ocrconfig -restore file_name

 

以root用户在磁盘组DATABASE中创建一个OCR文件

#ocrconfig -add +database

 

删除多余的OCR文件

#ocrconfig -delete +database

 

把OCR文件从磁盘组DATA迁移到磁盘组DATABASE

#ocrconfig -replace +data -replacement +database

 

管理RAC集群的各种资源

对数据库实例,可以通过以下的命令分别查看状态、关闭实例、启动实例。可以通过-i 选项指定一个或多个实例,或者通过-n选项指定节点的名称

$srvctl status instance -d prod -i prod1,prod2

Instance prod1 is running on node ora1

Instance prod2 is running on node ora2

$srvctl stop instance -d prod -i prod1,prod2

$srvctl start instance -d prod -i prod1,prod2

 

对于数据库,可以通过以下命令查看数据库状态,关闭数据库,启动数据库,实际上,当把所以数据库实例关闭时,数据库也随之关闭

$srvctl status database -d prod

Instance PROD1 is running on node ora1

Instance PROD2 is running on node ora2

$srvctl stop database -d prod

$srvctl start database -d prod

 

在关闭数据库时,可以在srvctl命令后通过-o选项指定NORMAL,TRANSACTIONAL、IMMEDIATE、ABORT这几个关键字之一。

在启动数据库时,也可以在命令后通过-o选项指定OPEN、MOUNT、NOMOUNT这几个关键字之一

$srvctl start database -d prod -o mount

$srvctl stop database -d prod -o immediate

 

对于数据库监听器,可以通过以下几个命令启动和关闭,通过-n选项指定一个或多个节点名称

$srvctl status listener

$srvctl stop listener -n ora1

$srvctl start listener -n ora1,ora2

 

对于ASM实例,可以通过以下命令查看状态、启动和关闭实例,通过-n选项指定节点名称,也可通过-o选项指定OPEN、MOUNT、 NOMOUNT以及NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT来启动或关闭实例,当所有ASM实例关闭时,ASM磁盘组也将随之关闭

$srvctl status asm -n ora1,ora2

$srvctl start asm -n ora1,ora2

$srvctl stop asm -n ora1,ora2 -o abort

 

对于ASM磁盘组,可以通过以下命令查看状态、关闭和启动磁盘组。通过-n选项指定节点,如果Clusterware或者数据库正在访问ASM磁盘组中文件,则磁盘组不能被关闭,在srvctl命令中通过-f选项强制关闭磁盘组

$srvctl status diskgroup -g dg1 -n ora1,ora2

$srvctl stop diskgroup -g dg1 -n ora1,ora2 -f

$srvctl start diskgroup -g dg1 -n ora1,ora2

 

对于VIP和SCAN,也可以通过srvctl命令查看状态已经启动和关闭。当这两种资源被关闭后,这样的IP地址将从操作系统中消失。对于SCAN,需要在命令中通过-i选项指定其编号。对于VIP,需要通过-i选项指定其名称

$srvctl status scan -i 1

$srvctl status vip -i ora1-vip

 

通过srvctl及其enable、disable、remove、add等子句,可以对各种资源进行激活、禁止、删除、添加等操作,当一个资源被禁止后,它将无法随着RAC的启动而启动,除非被再次激活。当一个资源被删除后,它将从OCR中消失。在添加一个数据库监听器时需要指定监听器所使用的端口号以及数据库软件的安装目录。

$srvctl enable listener -l LISTENER -n ora1

$srvctl disable listener -l LISTENER -n ora1

$srvctl remove listener -l LISTENER

$srvctl add listener -l LISTENER -p 1521 -o /s01/app/oracle

 

注:以上命令看似简单,但是11g rac 由于参数增多,且各参数细分度不够,容易敲错命令。希望读者在进行生产库维护的时候要格外小心,以免造成不必要的麻烦。

 

QQ:      584307876

作者:    Seven

原文链接:http://blog.youkuaiyun.com/sunjiapeng/article/details/9531639

邮箱:    seven_ginna@foxmail.com

<think>我们正在处理一个Oracle 11g RAC环境中向OCR组添加新磁的问题。根据引用内容,我们需要注意OCR组可能包含OCRVoting Disk,所以操作需要谨慎。 步骤: 1. 首先,确保新磁已经准备好,并且在所有节点上可见(例如,通过ASMLib或udev配置)。 2. 使用root用户在一个节点上执行以下操作。 具体步骤: a. 检查当前磁组状态路径: 我们可以通过`asmcmd lsdg`查看磁组,通过`asmcmd lsdsk`查看磁。 b. 添加新磁OCR组(假设OCR组名为`OCRVOTE`,新磁路径为`/dev/oracleasm/disks/NEWDISK`): - 使用`asmcmd`工具添加磁: ``` asmcmd ASMCMD> volcreate -G OCRVOTE -s <size> <volume_name> <device_path> 或者 ASMCMD> lsdsk ASMCMD> chdg -add <diskgroup_name> <disk_path> 但是,在11g中,我们通常使用SQL命令来添加磁。 ``` 或者使用SQL*Plus连接到ASM实例: ``` sqlplus / as sysasm SQL> ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK; ``` 注意:在RAC环境中,需要确保在ASM实例中执行,并且所有节点都可见该磁。 3. 验证磁组: ``` SQL> SELECT name, path, group_number FROM v$asm_disk; ``` 4. 重新平衡磁组(自动): 添加磁后,ASM会自动进行重新平衡操作。可以通过以下视图监控: ``` SQL> SELECT * FROM v$asm_operation; ``` 5. 检查OCRVoting Disk的冗余是否满足要求: 由于OCRVoting Disk需要高可用,确保磁组有足够的故障组(failgroup)冗余(例如NORMAL冗余需要至少两个故障组,HIGH冗余需要至少三个)。 如果之前只有两个磁(例如两个故障组),现在添加第三个磁,我们需要考虑故障组的配置。在添加磁时,可以指定故障组: ``` ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK FAILGROUP <failgroup_name>; ``` 如果磁组是NORMAL冗余,那么需要至少两个故障组。我们可以将新磁添加到已有的故障组或创建一个新的故障组。但是,为了高可用,通常建议每个磁一个故障组,并且分布在不同的存储上。 6. 更新OCRVoting Disk的配置(如果需要): 一般情况下,添加磁OCR组后,OCRVoting Disk会自动扩展到新磁上。但为了确保,我们可以检查OCRVoting Disk的状态。 检查OCR: ``` ocrcheck ``` 检查Voting Disk: ``` crsctl query css votedisk ``` 如果发现它们没有使用新添加的磁,可能需要重新配置Voting Disk(注意:重新配置Voting Disk需要谨慎,最好在Oracle Support指导下进行)。但通常不需要,因为ASM磁组会自动管理。 7. 注意事项: - 操作前备份OCRVoting Disk(如果可能)。 - 确保在维护窗口进行,因为重新平衡可能会影响性能。 - 确保新磁的大小性能与现有磁相似。 根据引用[5],在11g中,我们还可以通过添加NFS磁作为voting disk来扩展,但这里我们只是添加本地磁到现有的OCR组。 如果遇到问题,可以参考官方文档(如引用[3][4])或Oracle Support文档(如引用[5])。 相关问题: 1. 在Oracle RAC中,如何从OCR组中移除磁? 2. 添加磁OCR组后,如何验证OCRVoting Disk的完整性? 3. 在Oracle 11g RAC中,如何调整OCR组的冗余级别?</think>### 向 OCR组添加新磁的步骤(Oracle 11g RAC) 1. **准备工作** - 确保新磁已物理连接并配置为 ASM 磁(使用 `oracleasm createdisk` 或 `udev` 规则) - 验证所有节点识别新磁(`/dev/oracleasm/disks/` 下可见)[^2] - 备份 OCR Voting Disk: ```bash ocrconfig -export /backup/ocr_exp.dmp crsctl query css votedisk ``` 2. **添加磁到磁组** ```sql ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK FAILGROUP NEWFG; /* 指定故障组 */ ``` - 使用 ASM 实例执行(`sqlplus / as sysasm`) - 冗余要求: - **NORMAL 冗余**:至少 3 个故障组 - **HIGH 冗余**:至少 5 个故障组[^5] 3. **验证磁组状态** ```sql SELECT name, path, failgroup FROM v$asm_disk; /* 确认新磁在线 */ SELECT group_number, name, state FROM v$asm_diskgroup; /* 检查磁组状态 */ ``` 4. **重新配置集群资源** ```bash crsctl stop has -f /* 停止集群服务 */ crsctl start has /* 启动集群服务 */ crsctl check cluster -all /* 验证所有节点状态 */ ``` 5. **关键检查点** - OCR 完整性:`ocrcheck` - Voting Disk 状态:`crsctl query css votedisk` - 磁组挂载状态:`asmcmd lsdg -g OCRVOTE`[^1][^4] **注意事项**: 1. 操作需在 **root** **grid** 用户下执行 2. 确保新磁与现有磁 **相同大小性能** 3. 添加后 ASM 会自动重平衡数据(监控 `v$asm_operation`) 4. 若 OCR/Voting Disk 在独立磁组,优先使用 `crsctl replace votedisk` 命令[^5] > 引用官方文档建议:重大变更前需验证存储配置兼容性(参考 [Oracle Support Doc 1421588.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1421588.1))[^3][^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值