Oracle 11g rac 生产环境asm磁盘迁移

一.配置存储

CRSDATAARCH
旧存储/dev/sddlmaa/dev/sddlmai/dev/sddlmag
OCRDATAARCH
新存储/dev/sddlmab/dev/sddlmaj/dev/sddlmah
/dev/sddlmad
/dev/sddlmaf

先配置好存储设备,使操作系统能够看到新增加的硬盘。

[root@racdb1 rules.d]# fdisk -l |grep /dev/sddlm
Disk /dev/sddlmaa: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmab: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmac: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmad: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmae: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmaf: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sddlmag: 214.7 GB, 214748364800 bytes, 419430400 sectors
Disk /dev/sddlmah: 214.7 GB, 214748364800 bytes, 419430400 sectors
Disk /dev/sddlmai: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Disk /dev/sddlmaj: 536.9 GB, 536870912000 bytes, 1048576000 sectors

查看grid用户已经识别的硬盘

[root@racdb1 rules.d]# ll /dev/sddlm* | grep grid
brw-rw---- 1 grid asmadmin 251,   0 Sep 16 15:46 /dev/sddlmaa
brw-rw---- 1 grid asmadmin 251,  32 Sep 10 08:22 /dev/sddlmac
brw-rw---- 1 grid asmadmin 251,  64 Sep 10 08:22 /dev/sddlmae
brw-rw---- 1 grid asmadmin 251,  96 Sep 16 15:46 /dev/sddlmag
brw-rw---- 1 grid asmadmin 251, 128 Sep 16 15:46 /dev/sddlmai

二、配置udev(两个节点都需要操作)

1.修改规则文件

[root@racdb1 ~]# cp -r /etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules.bak
[root@racdb2 ~]# vim /etc/udev/rules.d/99-oracle-asmdevices.rules
SUBSYSTEM=="block", KERNEL=="sddlmaa", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmac", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmae", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmag", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmai", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmab", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmad", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmaf", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmah", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="sddlmaj", GROUP="asmadmin", OWNER="grid", MODE="0660"

2.加载规则文件
加载规则文件(如果规则文件修改后只需加载规则文件无需重新启动udev)

 /sbin/udevadm control --reload-rules
 /sbin/udevadm trigger --type=devices --action=change

3.检查磁盘可用性

[root@racdb1 ~]# ll /dev/sddlm* | grep grid
brw-rw---- 1 grid asmadmin 251,   0 Sep 20 10:06 /dev/sddlmaa
brw-rw---- 1 grid asmadmin 251,  16 Sep 20 10:06 /dev/sddlmab
brw-rw---- 1 grid asmadmin 251,  32 Sep 20 10:06 /dev/sddlmac
brw-rw---- 1 grid asmadmin 251,  48 Sep 20 10:06 /dev/sddlmad
brw-rw---- 1 grid asmadmin 251,  64 Sep 20 10:06 /dev/sddlmae
brw-rw---- 1 grid asmadmin 251,  80 Sep 20 10:06 /dev/sddlmaf
brw-rw---- 1 grid asmadmin 251,  96 Sep 20 10:06 /dev/sddlmag
brw-rw---- 1 grid asmadmin 251, 112 Sep 20 10:06 /dev/sddlmah
brw-rw---- 1 grid asmadmin 251, 128 Sep 20 10:06 /dev/sddlmai
brw-rw---- 1 grid asmadmin 251, 144 Sep 20 10:06 /dev/sddlmaj
[grid@racdb1 ~]$ asmcmd lsdsk
/dev/sddlmaa
/dev/sddlmag
/dev/sddlmai
[grid@racdb1 ~]$ asmcmd lsdsk --candidate
/dev/sddlmab
/dev/sddlmac
/dev/sddlmad
/dev/sddlmae
/dev/sddlmaf
/dev/sddlmah
/dev/sddlmaj
SQL> sqlplus / as sysdba
set linesize 200 pages 1000;
col name format a16;
col path format a30;
col HEADER_STATUS format a16;
select name,path,HEADER_STATUS,TOTAL_MB from v$asm_disk;

NAME             PATH                           HEADER_STATUS      TOTAL_MB
---------------- ------------------------------ ---------------- ----------
                 /dev/sddlmae                   CANDIDATE                 0
                 /dev/sddlmac                   CANDIDATE                 0
                 /dev/sddlmaf                   CANDIDATE                 0
                 /dev/sddlmad                   CANDIDATE                 0
                 /dev/sddlmab                   CANDIDATE                 0
                 /dev/sddlmah                   CANDIDATE                 0
                 /dev/sddlmaj                   CANDIDATE                 0
CRS_0000         /dev/sddlmaa                   MEMBER                 2048
DATA_0000        /dev/sddlmai                   MEMBER               512000
ARCH_0000        /dev/sddlmag                   MEMBER               204800

10 rows selected.

三、创建新的ocr磁盘组orc

sqlplus / as sysasm
col name form a20
col COMPATIBILITY form a20
col DATABASE_COMPATIBILITY form a20
select name,state,total_mb,free_mb,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;

NAME                 COMPATIBILITY        DATABASE_COMPATIBILI
-------------------- -------------------- --------------------
ARCH                 11.2.0.0.0           10.1.0.0.0
CRS                  11.2.0.0.0           10.1.0.0.0
DATA                 11.2.0.0.0           10.1.0.0.0

###创建磁盘组compatible与之前查询出来的结果保持一致。

SQL> create diskgroup ocr external redundancy disk '/dev/sddlmab', '/dev/sddlmad','/dev/sddlmaf' attribute 'compatible.rdbms'='10.1.0.0.0','compatible.asm'='11.2.0.0.0';

Diskgroup created.

四、备份原ocr和votedisk

[root@racdb1 ~]# mkdir -p /backup/20220909
[root@racdb1 ~]# /u01/app/11.2.0/grid/bin/ocrconfig -export /backup/20220909/ocr_20220909.exp
dd if=/dev/sddlmaa of=/backup/20220909/votedisk_20220909_ocr1.bak

五、迁移OCR磁盘组

1.查看原OCR为+CRS

[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          3
         Total space (kbytes)     :     262120
         Used space (kbytes)      :       2892
         Available space (kbytes) :     259228
         ID                       :  696587786
         Device/File Name         :       +CRS

2.另一个需要先挂载OCR磁盘组

SQL> alter diskgroup OCR mount;

Diskgroup altered.

3.添加为OCR添加磁盘组OCR

[root@racdb1 ~]$ /u01/app/11.2.0/grid/bin/ocrconfig -add +OCR

4.再次查看OCR已经多了一个磁盘组OCR了。

[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          3
         Total space (kbytes)     :     262120
         Used space (kbytes)      :       2888
         Available space (kbytes) :     259232
         ID                       :  696587786
         Device/File Name         :       +CRS
                                    Device/File integrity check succeeded
         Device/File Name         :       +OCR
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

         Cluster registry integrity check succeeded

         Logical corruption check bypassed due to non-privileged user

[grid@racdb1 ~]$ more /etc/oracle/ocr.loc
#Device/file  getting replaced by device +OCR
ocrconfig_loc=+CRS
ocrmirrorconfig_loc=+OCR
local_only=false

5.替换OCR

[root@racdb1 ~]# /u01/app/11.2.0/grid/bin/ocrconfig -replace +CRS -replacement +OCR
PROT-29: The Oracle Cluster Registry location is already configured

6.删除原来的OCR:CRS磁盘组。

/u01/app/11.2.0/grid/bin/ocrconfig -delete +CRS

7.再次查看ocr只看到磁盘组OCR了。

[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          3
         Total space (kbytes)     :     262120
         Used space (kbytes)      :       2888
         Available space (kbytes) :     259232
         ID                       :  696587786
         Device/File Name         :       +OCR

创建pfile
create pfile=‘/u01/app/11.2.0/grid/dbs/asmpfile.ora’ from spfile;
create spfile=‘+OCR’ from pfile=‘/u01/app/11.2.0/grid/dbs/asmpfile.ora’;

六、迁移votedisk

[grid@racdb1 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   217fca4d97bc4fe7bffafa8f995201e3 (/dev/sddlmaa) [CRS]
Located 1 voting disk(s).
[grid@racdb1 ~]$ crsctl replace votedisk +OCR
Successful addition of voting disk 2ebcd42944624f57bfe06f96692b66fa.
Successful deletion of voting disk 217fca4d97bc4fe7bffafa8f995201e3.
Successfully replaced voting disk group with +OCR.
CRS-4266: Voting file(s) successfully replaced
[grid@racdb1 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   2ebcd42944624f57bfe06f96692b66fa (/dev/sddlmab) [OCR]
Located 1 voting disk(s).

六、删除原来的OCR和votedisk:CRS磁盘组。

col c form a30
set linesize 200
col name form a20
col COMPATIBILITY form a20
col DATABASE_COMPATIBILITY form a20
select inst_id,name||' '||path c,HEADER_STATUS,mount_status from gv$asm_disk order by 1,2;
select name,state,total_mb,free_mb,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;
停止crs
/u01/app/11.2.0/grid/bin/crsctl stop crs
启动crs
/u01/app/11.2.0/grid/bin/crsctl start crs
/u01/app/11.2.0/grid/bin/crsctl stat res -t
卸载
SQL> alter diskgroup CRS dismount;

另一节点

停止crs
/u01/app/11.2.0/grid/bin/crsctl stop crs
启动crs
/u01/app/11.2.0/grid/bin/crsctl start crs
/u01/app/11.2.0/grid/bin/crsctl stat res -t
删除磁盘组
SQL> drop diskgroup ocr including contents;

Diskgroup dropped.

七、迁移数据库存储

[grid@racdb1 ~]$ sqlplus  / as sysasm
alter diskgroup data add disk '/dev/sddlmaj' drop disk DATA_0000 rebalance power 10;
##ASM_POWER_LIMIT范围是0~11,0:表示不进行rebalance,值越大, rebalance速度越快。
##该命令相当于下面2条命令
##alter diskgroup DATA add disk '/dev/sddlmaj' rebalance power 10;
##alter diskgroup DATA drop disk 'DATA_0000' rebalance power 10;
select sofar,EST_MINUTES from gv$asm_operation;
##如果没有数据代表sam磁盘平衡操作完成。
alter diskgroup ARCH add disk '/dev/sddlmah'  drop disk ARCH_0000    rebalance power 10;
select sofar,EST_MINUTES from gv$asm_operation;
##如果没有数据代表sam磁盘平衡操作完成。

八、清除udev规则文件多余部分。

查询目前数据库用到的asm磁盘信息:

col c form a30
set linesize 200
col name form a20
col COMPATIBILITY form a20
col DATABASE_COMPATIBILITY form a20
select inst_id,name||' '||path c,HEADER_STATUS,mount_status from gv$asm_disk order by 1,2;
select name,state,total_mb,free_mb,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;

在节点1删除多余的asm磁盘信息。

cp /etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules.bak2

vim /etc/udev/rules.d/99-oracle-asmdevices.rules

加载规则文件(如果规则文件修改后只需加载规则文件无需重新启动udev)

 /sbin/udevadm control --reload-rules
 /sbin/udevadm trigger --type=devices --action=change
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值