–crsctl管理集群相关的操作:
-启动和关闭Oracle集群
-启用和禁用Oracle集群后台进程
-注册集群资源
-srvctl 管理Oracle 资源相关操作
-启动和关闭数据库实例和服务(dbdao.com oracle 11g OCM培训)
在Oracle Grid安装的home路径下的命令行工具crsctl和srvctl用来管理Oracle集群。使用crsctl可以监控和管理任何集群节点的集群组件和资源。srvctl工具提供了类似的功能,来监控和管理Oracle相关的资源,例如数据库实例和数据库服务。crsctl命令只能是集群管理者来运行,srvctl命令可以是其他用户,例如数据库管理员来使用。
crsctl 工具可以被用来控制Oracle集群。
当一个节点上包含的Oracle 集群被启动,Oracle 集群包含的脚本会自动的通过/etc/init.d/ohasd启动脚本启动。当crsctl工具被用来禁用Cluster Ready Services(crs)自启动时,相关的启动状态信息会被放置到SLCS_SRC控制文件,防止随机器重启而启动。使用下列语法来检查CRS的状态(dbdao.com oracle 11g OCM培训):
在应用补丁或者计划内的中断时,你可能需要手动控制Oracle集群的堆栈。你可以使用crsctl stop crs命令停止Oracle集群和使用crsctl start crs命令启动。
crsctl 工具可以被用来验证Oracle 集群的状态
crsctl 工具可以被用来在指定的节点和跨节点上验证集群的状态(dbdao.com oracle 11g OCM培训)。crsctl相关的控制命令需要root身份,check 命令不需要root身份,并且可以被Oracle集群软件所有者用户执行。在指定的节点上运行crsctl check crs 命令可以检查整体的健康。也可使用单个进程命令来对进程进行检查,crsctl check <daemon> (crsd,evmd和cssd)
决定 Oracle 集群控制文件的位置
2个Oracle 集群主要的配置文件类型是仲裁盘和 Oracle Cluster Registry(OCR)
Oracle 集群使用2种主要文件类型:仲裁盘和OCR。每个可以有多个副本。可以使用crsctl query css votedisk命令在任何节点上来决定仲裁盘的位置。这个不需要CSS后台进程是启动的,并且这个命令可以被Gird的拥有者执行。因为OCR文件总是在共享存储上面,所以可以在任何节点上使用 cat /etc/oracle/ocr.loc来确定OCR的位置。
注意:OCR 也可以使用ocrcheck 工具来放置,其中使用的路径是在PATH环境变量中提供的路径(dbdao.com oracle 11g OCM培训)。
检查Oracle 集群配置文件的完整性
下面的命令可以用来检查Oracle集群配置文件的完整性
备份仲裁盘
在之前的版本,使用dd命令进行仲裁盘备份时安装后的必须任务。在Oracle 集群 11gR2,使用dd命令备份和重建仲裁盘将可能导致丢失仲裁盘,所以这个步骤不被支持。
手动备份仲裁盘将不再需要,因为仲裁盘数据会自动的作为任何配置变更在OCR中备份,并且仲裁盘数据在任何增加仲裁盘时自动的重建。
恢复仲裁盘
如果你在非ASM存储上有多个仲裁盘,你可以使用下列命令来移除裁盘,和将其增加会你的环境,path是仲裁盘的绝对路径(dbdao.com oracle 11g OCM培训):
注意:你可以不关闭集群,将仲裁盘从非ASM存储迁移到ASM上。使用ASM磁盘组来管理仲裁盘,你必须设置compatible.asm属性为11.2.0.0
增加,删除或迁移仲裁盘
作为root用户使用下列命令来增加一个或多个仲裁盘到非ASM存储:
增加仲裁盘到ASM:
在非ASM存储上,使用仲裁盘B替换仲裁盘A,首先增加仲裁盘B,然后删除仲裁盘A:
使用crsctl replace votedisk命令可以替换ASM中的仲裁盘。使用这个命令你不需要删除任何仲裁盘(dbdao.com oracle 11g OCM培训)。
使用root用户执行下列命令来移除一个仲裁盘,替换voting_disk_GUID变量为一个或多个空格分隔的,你想移除的全局唯一磁盘表示符(GUID):
将仲裁盘从非ASM迁移到ASM或者反过来,需要在下列命令中指定ASM磁盘组名称或到非ASM存储设备的路径:
你可以在集群中的任意节点上运行这个命令。
-每4小时:CRS保存至少3个副本
-在每天的最后:CRS保存至少2个副本
-在每周的最后:CRS保存至少2个副本(dbdao.com oracle 11g OCM培训)
储存在OCR中的信息比在仲裁盘中的更灵活。Oracle集群自动的对OCR文件执行常规的备份。它们是物理备份。只有一个节点负载执行这些备份,但是这个任务在发生中断的时候,可以传输到集群中任意其他的节点上。每个自动产生的OCR备份文件默认目标位置在<GridHome>/cdata/<cluster name>目录中。
自动的备份是每4小时调度一次,但是只有一定数量的文件被保留。对于4小时间隔备份来说,只保留最近3个备份,最新的备份会覆盖最旧的备份。在每天的最后,一个备份会生成,并且保留最近的2个。在一周的最后,一个备份产生,并且保留最近的2个。总之,需要存储的自动备份不应该超过7个:4小时的,8小时的,12小时的,24小时的,48小时的,7天的,14天的。4小时间隔的备份不是基于天的,是集群启动时间的一个偏移时间。
备份文件的名称不能变更,其名称如下:backup00.ocr,backup01.ocr, backup02.ocr, day.ocr, day_.ocr, week.ocr 和 week_.ocr.
因为默认情况下,自动备份只在主节点上被执行到本地文件系统上,建议将OCR自动备份位置变更到集群中所有节点共享的位置,使用ocrconfig -backuploc <newlocation>命令。这个命令需要一个绝对路径参数来指定新位置。这个位置将被自动和手动备份使用。你不能自定义备份的频率,备份保留的份数和备份文件的名称。如果主节点上的CRS关闭,其他的节点变成主节点,备份将在这个节点上恢复。如果备份位置没有被变更到一个普通共享的位置,备份可能会出项跨节点存在。如果在调度备份期间,所有的CRS关闭,在重启时,备份不会立即发生,并且备份时间将被重置。这可能会导致比标准的4小时间隔更长的时间间隔进行自动备份(dbdao.com oracle 11g OCM培训)。
由于OCR 信息的重要性,也建议你对自动产生的物理备份创建副本。你可以使用备份软件来备份自动生成的备份文件,建议在不同的设备上每天对自定备份进行备份。
注:不要将自动OCR备份放置到ASM集群文件系统上存储(ACFS)。
增加,替换和修复OCR位置
你不能在正在运行Oracle集群的节点上执行这个操作。
你可以在完全安装了Oracle Grid和更新之后,增加一个OCR位置。Oracle集群可以管理多达5个OCR位置。作为root,运行下列命令在增加OCR位置到ASM或者其他的存储设备(dbdao.com oracle 11g OCM培训):
为了替换当前OCR位置,使用下列命令,destination_file或+ASM_disk_group表明当前个目标位置:
当一个节点停止时,如果配置变更,那么可能需要修复一个OCR配置。修复一个OCR配置涉及到增加,删除或者替换一个OCR位置。为了修复OCR配置,使用root用户在停止了集群的节点上运行ocrconfig命令:
这个操作只会变更你运行命令的节点的OCR配置。例如,如果OCR位置是/dev/sde1,使用命令语法 ocrconfig -repair add /dev/sde1在这个节点来修复这其OCR配置。
删除一个OCR位置
移除一个OCR位置,至少有一个其他的OCR必须在线。你可以移除一个OCR位置来减少OCR关联开销,或者在你移动OCR到一个冗余存储例如RAID时关闭OCR镜像。
使用root身份,执行下列步骤从Oracle集群环境中移除一个OCR位置:
1.确保至少有一个不是将要移除的其他OCR位置是在线的。
2.在集群中任意节点上运行下列命令来从ASM中或其他位置移除一个OCR位置:
file_name变量可以是一个设备名或者一个文件名。这个命令在集群运行时会在所有节点上更新OCR配置(dbdao.com oracle 11g OCM培训)。
警告:不要在只有一个活动OCR位置在线时视图执行OCR移除命令,否则你会得到一个错误。你不能移除最后一个OCR文件。
迁移OCR位置到ASM
在oracle 集群11g R2 中,为了提高Oracle集群存储管理性,默认情况下,OCR配置是使用的ASM。Oracle 集群使用ASM磁盘组,你可以是用EM来管理数据库和集群存储。但是,如果你是从一个低版本的Oracle数据升级而来的,可以将OCR位置迁移到ASM,以提高Oracle 集群存储的管理。使用ocrconfig来将OCR位置迁移到ASM:
1.确保Oracle 集群已经升级到11g R2。运行下列命令来验证当前的版本:
2.在集群中的节点上使用ASMCA来配置和启动ASM,并创建一个磁盘组至少有1GB的空间并至少是普通的冗余。
3.为了增加一个OCR位置到ASM磁盘组,确保集群是运行的,并且使用root用户运行下列命令:
4.为了移除不在使用的OCR位置,使用root用户运行下列命令:
注意:OCR继承磁盘组的冗余度。如果你想为OCR使用高冗余度,在创建的时候,你必须为高冗余度配置对应的磁盘组(dbdao.com oracle 11g OCM培训)。
从ASM迁移OCR到其他共享存储
1.确保Oracle集群升级到了11g R2版本。运行下列命令来验证当前的版本:
2.创建一个有下列权限的共享文件:root,oinstall,640,确保至少挂载300MB的空间。
3.增加文件作为OCR位置,确保集群stack是运行的,并且使用root运行下列命令:
如果你想增加更多的OCR位置,可以多次运行这个命令(dbdao.com oracle 11g OCM培训)。
4.为了移除不再使用的OCR位置,使用root身份运行下列命令:
如果有多个OCR位置,你可以运行这个命令多次。
当配置发生了重要的变更后,建议按需进行手动的备份。
于仲裁不同,OCR文本变化会很快,尤其是高可用框架。如果重要的大量工作被完成,会导致OCR的修改,建议在自动备份发生之前进行手动的备份或者执行导出。这个按需的备份可以在,还没有进行自动备份时出现OCR损坏或丢失后进行信息重建。
不允许在执行手动备份时指定名称。一个文件名称格式为backup_<date>_<time>.ocr的文件将被创建,并且会放置到默认的备份位置。当执行一个手动备份时,其不会影响自动备份间隔。export命令会创建一个二进制的逻辑备份文件来保存OCR的键和值(dbdao.com oracle 11g OCM培训)。
大多数的配置变更不仅仅会变更OCR内容,还会创建文件和数据库对象。当你重建OCR是,这些变更通常不会被重建。如果一个配置变更失败了,不要作为修正,执行重建OCR到之前的配置。这可能导致OCR中的内容与系统中其他的部分状态不匹配。
使用下列步骤在UNIX基础的系统上进行OCR的重建:
1.使用 ocrconfig -showback命令来确认OCR的备份。你可以在任何节点上使用oracle用户执行这个命令。这个输出告诉你哪个节点上可以检索到自动备份和手动备份。使用auto 或manul 参数来选择显示策略
2.在节点上使用crsctl stop cluster -all命令停止Oracle集群stack
3.停止oracle HA服务,使用root用户在所有节点执行crsctl stop crs。
4.使用步骤1中的文件来进行重建,file_name就是你想重建的OCR文件名:
确保你指定的的OCR设备在OCR配置文件中(/etc/oracle/ocr.loc)存在并且这个OCR设备有效。
5.使用root用户,在所有节点上使用crsctl start crs 重启Oracle HA服务
6.使用其他用户grid 执行cluvfy comp ocr -n all 命令来验证ocr的完整性(dbdao.com oracle 11g OCM培训)。
注:这个步骤其实是有问题的,正确的步骤应该是:
使用下列步骤在UNIX基础的系统上进行OCR导入:
1.明确你想导入的OCR导出文件,导入文件是之前使用 ocrconfig -export file_name命令产生的。
2.在每个节点上使用root用户执行crsctl stop crs命令来停止Oracle集群(dbdao.com oracle 11g OCM培训)。
3.使用下列命令将步骤1中导入的文件导入,file_name是你想导入的的OCR信息:
4.在每个节点使用crsctl stsart crs命令重启 Oracle HA 服务。
5.运行下列命令来验证OCR 完整性,-n all参数 检索所有节点的配置:
–这个和物理重建差不多,只是使用的文件不一样,命令一个是import 一个是restore
ocrcheck -local |
在Oracle 集群11g R2,每个集群中的每个节点为节点指定资源有一个本地注册,成为OLR。每个节点上的多个进程同时读取和写访问特定节点上的OLR,不管Oracle 集群是否正在运行或者完全的工作。
OLR提供了各种Oracle 集群进程来访问关键配置信息,即使Oracle 集群在这个节点并不运行。其中一个功能就是在集群进程启动的时候,帮助找到ASM存储和OCR和仲裁盘。在启动进程过程中,OLR被关联来确定仲裁盘的确切位置。这使得节点可以加入集群,在这个初始节点后,ASM被启动。在ASM启动之后,进程需要完整OCR才能启动,然后集群启动过程完成。
默认情况下,OLR位于 grid_home/cdata/hostname.olr。你可以使用ocrcheck,ocrdump和ocrconfig工具的-local选项 来管理OLR。例如使用ocrcheck工具来检查状态(dbdao.com oracle 11g OCM培训):
你可以使用OCRDUMP工具来显示OLR的内容到文本终端程序,例如:
你可以使用OCRCONFIG工具在OCR上执行管理任务。将OLR导出到一个文件:
导入指定文件到OLR:
在本地节点上修改OLR文件:
olr关键字伴随 -repair选项只在使用-local时有效。