zoukankan      html  css  js  c++  java
  • 管理 Oracle Cluster Registry(OCR)

    oracle的clusterware包含两个重要组件:OCR(包含本地组件OLR)和voting disks
      --OCR管理oracle clusterware和oracle rac数据库的配置信息
      --OLR位于每个节点本地,管理着本地节点的clusterware配置信息
      --voting disks管理成员关系信息。每个voting disk都必须能被集群中的所有节点访问。

    在12C中,必须将OCR和voting disks中放在asm中(12c不支持块设备和裸设备;12.2不再支持其他共享文件系统)。

    (11g文档是这么写的:必须将ocr和voting disk放在asm中,或者放在经过认证的集群文件系统中)

    11.2中,oracle oui不支持裸设备、块设备。但是如果是从之前版本升级上来的,可以继续支持块设备、裸设备。oracle肯定是建议使用asm。

    为了增加可用性,oracle建议配置多个voting disks文件。如果是使用了asm磁盘组。asm会确保voting disks被配置成了normal冗余或high冗余。如果是使用其他共享文件系统,需要手动指定多份设置。

    不需要停掉集群的情况下,可以动态添加、替换voting disks。


    管理OCR和OLR的工具有ocrconfig、ocrdump、ocrcheck
    OLR和OCR类似,只是位于集群中节点的本地,包含特定节点的配置信息。OLR包含clusterware的可管理信息,如不同服务之间的依赖关系,OHAS需要使用这些信息。OLR默认存放路径是grid_home/cdata/host_name.olr。

    1.迁移OCR到asm

    如果是从11.2之前升级到11.2,asm磁盘兼容性必须设置>=11.2;
    如果是从12c之前升级到12c,asm磁盘兼容性必须设置>=11.2.0.2。
    (1)查看当前运行版本

    $ crsctl query crs activeversion
    Oracle Clusterware active version on the cluster is [11.2.0.4.0]
    

    (2)在所有节点上启动asm
    (3)将ocr增加到asm磁盘组

    # ocrconfig -add +new_disk_group
    

    OCR会继承磁盘组的冗余性!

    (4)移除之前的存储配置

    # ocrconfig -delete old_storage_location
    

    2.从asm迁移到其他共享存储类型

    (1)查看当前运行版本

    $ crsctl query crs activeversion
    

    (2)添加新的文件作为ocr存放的位置

    # ocrconfig -add file_location
    

    (3)移除原先的asm配置

    # ocrconfig -delete +asm_disk_group
    

     

    3.增加一个OCR Location

    # ocrconfig -add +asm_disk_group | file_name
    

     

    4.移除一个OCR Location

    # ocrconfig -delete +asm_disk_group | file_name
    

      

    5.替换OCR位置

    (1)首先检查一下

    $ ocrcheck
    $ crsctl check crs
    

    (2)替换OCR位置

    # ocrconfig -replace current_ocr_location -replacement new_ocr_location
    
    如果只有一个ocr位置,只有先添加后删除
    # ocrconfig -add new_ocr_location
    # ocrconfig -delete current_ocr_location
    

      

    6.本地节点修复OCR

    如果集群在节点关闭之后发生了培训变更,而该节点是集群的唯一节点,在启动该节点前就要进行OCR修复了。
    修复OCR包含增加、删除、替换OCR。例如:

    # ocrconfig -repair -add /dev/sde1
    # ocrconfig -repair -replace current_ocr_location -repalcement target_ocr_location
    

    7.重载OCR

    OCR具有防止数据丢失的机制。如果配置了多份镜像的OCR,当clusterware无法访问镜像OCR位置,也不能确定当前可以访问的OCR位置是否包含最新的配置信息的时候,clusterware会阻止对当前可以访问的OCR的修改。
    此外,进程也会阻止该节点上的clusterware的启动。clusterware和数据库的alert日志都会受到报警信息。如果这个问题只是发生在某个节点,可以从其它节点启动集群数据库。
    如果集群中的任何节点都没法启动,用户可以选择修复OCR或者还原OCR。如果修复或还原都不行,还可以选择重载OCR。重载OCR需要重载所有的OCR,不过这种情况可能会导致部分信息丢失。
    修复就用ocrconfig -repair。如果要重载orc,使用命令ocrconfig -overwirte。
    在重载OCR之前,应该先进行尝试OCR修复。

    8.备份OCR
    (1)自动备份
    clusterware每隔四小时自动备份OCR文件。且会保留最近的三份OCR。由CRSD进行备份。此外,crsd还会做每天和每周一次备份。备份频率和保留期限是不可以调整的。
    (2)手动备份
    ocrconfig -manualbackup执行备份。OLR只是支持手动备份。
    (3)查看备份

    $ ocrconfig -showbackup
    db2     2017/09/03 14:32:04     /u01/app/11.2.0/grid/cdata/oradb-cluster/backup00.ocr
    db2     2017/09/03 10:32:03     /u01/app/11.2.0/grid/cdata/oradb-cluster/backup01.ocr
    db2     2017/09/03 06:32:03     /u01/app/11.2.0/grid/cdata/oradb-cluster/backup02.ocr
    db2     2017/09/02 02:32:00     /u01/app/11.2.0/grid/cdata/oradb-cluster/day.ocr
    db2     2017/08/26 06:32:31     /u01/app/11.2.0/grid/cdata/oradb-cluster/week.ocr
    

    (4)修改备份路径

    # ocrconfig -backuploc file_name (指定备份路径)
    

      

    9.还原OCR
    如果没有放在asm中:
    (1)查看列出节点

    # olsnodes
    

    (2)关闭clusterware

    # crsctl stop crs 
    如果关不了,可以强制关闭
    # crsctl stop crs -f
    

    (3)(如果是放在集群文件或者网络文件系统)还原OCR

    # ocrconfig -restore file_name
    

    (4)启动clusterware

    # crsctl start crs
    

      

    如果是asm,要完成以下步骤:
    (1)查看列出节点

    # olsnodes
    

    (2)关闭clusterware

    # crsctl stop crs 
    如果关不了,可以强制关闭
    # crsctl stop crs -f
    

    (3)启动clusterware
    只在某个节点执行,以exclusive模式启动

    # crsctl start crs -excl -nocrs
    忽略启动过程中产生的错误信息。
    

    (4)检查crsd进程是否运行

    $ crsclt stat res ora.crsd -init
    如果运行,要关闭掉crsd进程
    # crsctl stop resource ora.crsd -init
    

    (5)把asm磁盘组mount到本地。如果本地无法mount,先把asm中的磁盘组先drop掉。

    SQL> drop diskgroup disk_group_name force including contents;
    

    (6)还原OCR

    # ocrconfig -restore file_name
    

    (7)再次检查OCR

    # ocrcheck
    

    (8)关闭clusterware

    # crsctl stop crs -f
    

    (9)剩余节点修复OCR

    使用ocrconfig -repair -replace命令逐一执行
    

    (10)启动clusterware

    # crsctl start crs
    

    (11)验证

    $ cluvfy comp ocr -n all -verbose
    
    Verifying OCR Integrity ...PASSED
    
    Verification of OCR integrity was successful. 
    
    CVU operation performed:      OCR integrity
    Date:                         Sep 3, 2017 3:41:01 PM
    CVU home:                     /u01/app/12.2.0/grid/
    User:                         grid
    

      

    OCR问题诊断

    诊断工具有ocrdump、ocrcheck
    除了自动备份的OCR文件,也可以将OCR内容export和import,但是需要关闭才能获得一致性结果。

    ocrconfig -restore和ocrconfig -manualbackup命令使用的ocr文件格式是兼容的;ocrconfig -export和ocrconfig -import命令使用的ocr文件格式是兼容的。但是这前后两者却是不兼容的。

    import OCR(linux平台)

    (1)列出所有集群节点

    $ olsnodes
    

    (2)停止clusterware

    # crsctl stop crs 
    如果不能正常关闭,可以强制关闭
    # crsctl stop crs -f
    

    (3)在其中一个节点,以排他模式启动clusterware

    # crsctl start crs -excl 
    忽略启动过程中的报错信息
    检查crsd进程是否运行,如果运行要关闭它
    # crsctl stop resource ora.crsd -init
    

    (4)import OCR

    # ocrconfig -import file_name
    如果导入的是集群文件系统或网络文件系统,直接到步骤7
    

    (5)验证OCR的完整性

    # ocrcheck
    

    (6)关闭clusterware

    # crsctl stop crs -f
    

    (7)再次启动 clusterware

    # crsctl start crs
    

    (8)验证在集群所有节点上的OCR完整性

    $ cluvfy comp ocr -n all -version
    

      

    Oracle Local Registry(OLR)
    可以使用ocrcheck、ocrdump、ocrconfig加上参数-local来管理OLR

    1.检查OLR的状态
    # ocrcheck -local
    Status of Oracle Local Registry is as follows :
             Version                  :          4
             Total space (kbytes)     :     409568
             Used space (kbytes)      :       1060
             Available space (kbytes) :     408508
             ID                       : 1941521711
             Device/File Name         : /u01/app/12.2.0/grid/cdata/db12c1.olr
                                        Device/File integrity check succeeded
    
             Local registry integrity check succeeded
    
             Logical corruption check succeeded
    
    2.dump出OLR的内容
    # ocrdump -local
    
    3.导入导出OLR的内容
    # ocrconfig –local –export file_name
    # ocrconfig –local –import file_name
    
    4.手动备份OLR
    # ocrconfig –local –manualbackup
    
    5.还原OLR
    # crsctl stop crs
    # ocrconfig -local -restore file_name
    # ocrcheck -local
    # crsctl start crs
    $ cluvfy comp olr
    

      

  • 相关阅读:
    Hdu 4221 Greedy?
    Hdu 2955 Robberies
    Hdu 3309 Roll The Cube
    Hdu 2602 Bone Collector
    Hdu 2844 Coins
    Hdu 2255奔小康赚大钱
    Hdu 2120 Ice_cream's world I
    Hdu 2159 FATE
    Hdu 2102 A计划
    Hdu 2098分拆素数和
  • 原文地址:https://www.cnblogs.com/abclife/p/7469950.html
Copyright © 2011-2022 走看看