zoukankan      html  css  js  c++  java
  • Oracle RAC 11GR2更换主机不换存储--ASM磁盘组异机挂载 推荐 原创

    Oracle RAC 11GR2更换主机不换存储--ASM磁盘组异机挂载 推荐 原创
    hbxztc2021-05-16 15:44:51博主文章分类:Oracle
    文章标签RAC ASM文章分类Oracle数据库阅读数841
    
    背景
    生产上有套RAC,主机已运行超5年,最近一段时间经常出现物理主机无故宕机的状态,宕机没有规律,而且是两个节点交替宕机,看监控宕机前主机负载也不高,硬件厂商看过也没找出具体原因。于是想把主机换掉,但由于数据量较大将近50T,搭建DataGuard耗时长,还需要double的存储空间,不合适。就想到只把集群相关的LUN映射到新集群中,在新集群中MOUNT磁盘组做迁移。下面是测试环境的基本步骤。
    
    前期准备工作
    安装新主机
    用户、权限、目录、软件版本、PSU版本与旧集群一致
    安装集群及打PSU步骤省略,新集群只划分OCR和ACFS的磁盘用于安装集群软件及配置ACFS共享目录。
    
    /usr/sbin/groupadd -g 508 oinstall
    /usr/sbin/groupadd -g 502 dba
    /usr/sbin/groupadd -g 503 oper
    /usr/sbin/groupadd -g 504 asmadmin
    /usr/sbin/groupadd -g 506 asmdba
    /usr/sbin/groupadd -g 507 asmoper
    /usr/sbin/useradd -u 508 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid
    /usr/sbin/useradd -u 509 -g oinstall -G dba,oper,asmdba,asmadmin -d /home/oracle oracle
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    划分旧集群存储到新集群
    在存储上把旧集群的磁盘映射到新集群上,只映射数据般和备份盘。
    配置多路径,把旧集群多路径配置multipath.conf和udev中的配置文件复制到新集群中,注意不要把新集群的配置覆盖掉
    
    正式切换
    停止旧集群
    停止ogg
    cd /odc
    ./ggsci
    stop *
    stop mgr !
    1.
    2.
    3.
    4.
    复制/odc目录下所有文件到新集群
    停止数据库
    srvctl stop database -d racdb
    1.
    集群集群 (两个节点)
    crsctl stop crs  
    1.
    集群禁止自启动 (两个节点)
    crsctl disable crs  
    1.
    修改集群中的物理IP,并重启网卡 (两个节点)
    配置新集群ASM实例
    # ACFS为已有配置,是新集群ACFS共享磁盘使用,DATA为旧集群中的数据磁盘组。
    sqlplus / as sysdba
    alter system set asm_diskgroups='ACFS DATA' scope=both sid='+ASM1'; 
    alter system set asm_diskgroups='ACFS DATA' scope=both sid='+ASM2'; 
    #在新集群mount磁盘组 (两个节点) 
    sqlplus / as sysasm
    SQL> alter diskgroup data mount;
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    配置数据库
    复制旧集群文件到新集群
    scp /oracle/db11g/dbs/* oracle@11.111.26.xx:/oracle/db11g/dbs/  
    scp /oracle/db11g/network/admin/tnsnames.ora oracle@11.111.26.xx:/oracle/db11g/network/admin/   
    1.
    2.
    创建必要目录
    mkdir -p /oracle/admin/racdb/adump
    1.
    注册数据库服务
    srvctl add database -d racdb -o $ORACLE_HOME
    srvctl add instance -d racdb -i racdb1 -n racdb1
    srvctl add instance -d racdb -i racdb2 -n racdb2
    1.
    2.
    3.
    启动数据库
    #如果scan名称与旧集群中不一致,则需要修改spfile中的remote_listener参数
    create pfile='/home/oracle/pfile_racdb.ora' from spfile='';
    vi /home/oracle/pfile_racdb.ora #修改为新的scan:1521
    create spfile='' from pfile='/home/oracle/pfile_racdb.ora';
    srvctl start database -d racdb
    1.
    2.
    3.
    4.
    5.
    配置OGG
    cd /odc
    ./ggsci
    start mgr
    start *
    1.
    2.
    3.
    4.
    修改新集群中的所有IP地址
    # 停止集群
    crsctl stop crs 
    # 修改bond0网卡地址,并重启网卡
    # 修改新集群 /etc/hosts
    # 启动新集群
    crsctl start crs 
    # 修改scanip
    srvctl config scan
    srvctl stop scan_listener
    srvctl stop scan
    srvctl status scan
    
    srvctl modify scan -n 11.111.26.x
    
    srvctl config scan
    srvctl start scan
    srvctl start scan_listener
    
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    配置备份目录dbbak
    旧集群导出vg
    umount /dbbak
    umount /dbbak2
    vgchange -a n vg_dbbak
    vgchange -a n vg_dbbak2
    vgexport vg_dbbak
    1.
    2.
    3.
    4.
    5.
    新集群导入vg
    vgimport vg_dbbak
    vgimport vg_dbbak2
    mount /dev/vg_dbbak/lv_dbbak /dbbak
    mount /dev/vg_dbbak/lv_dbbak2 /dbbak
    1.
    2.
    3.
    4.
    后续操作
    复制/home/oracle目录文件到对应节点
    scp -r /home/oracle/* oracle@11.111.26.xx:/home/oracle
    1.
    配置定时任务
    复制两个节crontab中的所有任务到新集群对应的节点
    配置zabbix监控
    其他需要复制划修改的步骤
    回退步骤
    关闭新集群所有服务
    # 停止ogg
    cd /odc
    ./ggsci
    stop *
    stop mgr !
    # 停止数据库
    srvctl stop database -d racdb
    # 停止集群(两个节点)
    crsctl stop crs
    # 停止集群自启动(两个节点)
    crsctl disable crs
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    修改新旧集群物理IP信息及/etc/hosts配置
    vi /etc/sysconfig/network-scripts/ifcfg-bond0
    vi /etc/hosts
    1.
    2.
    启动旧集群所有服务,包含ogg
    # 开启集群自启动(两个节点)
    crsctl enable crs
    # 启动集群(两个节点)
    crsctl start crs
    # 启动数据库
    srvctl start database -d racdb
    # 启动ogg
    cd /odc
    ./ggsci
    start mgr
    start *
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    挂载备份目录到旧集群
    新集群导出vg
    umount /dbbak
    umount /dbbak2
    vgchange -a n vg_dbbak
    vgchange -a n vg_dbbak2
    vgexport vg_dbbak
    1.
    2.
    3.
    4.
    5.
    旧集群导入vg,并挂载lv
    vgimport vg_dbbak
    vgimport vg_dbbak2
    mount /dev/vg_dbbak/lv_dbbak /dbbak
    mount /dev/vg_dbbak/lv_dbbak2 /dbbak
    1.
    2.
    3.
    4.
    启动应用验证
  • 相关阅读:
    phpstorm实现分屏展示代码
    Yii2 JWT
    JSON Web Token 入门教程
    Linux常用命令: zip、unzip 压缩和解压缩命令
    yii2表单提交CSRF验证
    解决jquery click事件执行两次
    《Inside C#》笔记(十二) 委托与事件
    MVC与单元测试实践之健身网站(七)-日程与打卡
    《Inside C#》笔记(十一) 运算符重载
    MVC与单元测试实践之健身网站(七)-添加计划
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/15484437.html
Copyright © 2011-2022 走看看