Oracle更换存储磁盘,oracle11g crs在线更换asm磁盘

1、检查当前的磁盘的情况

--检查并确定需要替换的crsdg

State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name

MOUNTED  EXTERN  N         512   4096  1048576    102398   102308                0          102308              0             N  ARCHDG/

MOUNTED  NORMAL  N         512   4096  1048576     15342    14416             5114            4651              0             Y  CRSDG/

MOUNTED  EXTERN  N         512   4096  1048576    204797    19872                0           19872              0             N  DATADG/

MOUNTED  EXTERN  N         512   4096  1048576    102398   102272                0          102272              0             N  RECODG/

MOUNTED  EXTERN  N         512   4096  1048576     30718    26555                0           26555              0             N  REDO1/

MOUNTED  EXTERN  N         512   4096  1048576     30718    22416                0           22416              0             N  REDODG1/

MOUNTED  EXTERN  N         512   4096  1048576     30718    30623                0           30623              0             N  REDODG2/

在这里可以看到crsdg,这个dg就是需要我们替换其中的盘的

[oracle@ecc-prddb1 bin]$ ./ocrcheck

Status of Oracle Cluster Registry is as follows :

Version                  :          3

Total space (kbytes)     :     262120

Used space (kbytes)      :       2912

Available space (kbytes) :     259208

ID                       :  151943686

Device/File Name         :     +CRSDG

Device/File integrity check succeeded

Device/File not configured

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

通过这两步可以确定crsdg就是我需要替换的集群dg

--确定具体dg具体的盘

SQL> select name,group_number from v$asm_diskgroup;

NAME                           GROUP_NUMBER

------------------------------ ------------

ARCHDG                                    1

CRSDG                                     2

DATADG                                    3

RECODG                                    4

REDO1                                     5

REDODG1                                   6

REDODG2                                   7

PATH

--------------------------------------------------------------------------------

/dev/asm-disk1

/dev/asm-disk3

/dev/asm-disk2

--确定对应的物理盘

此步可以通过udev的配置文件获取

[oracle@ecc-prddb1 rules.d]$ more 99-oracle-asmdevices.rules

KERNEL=="sdb1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29883f322a11c7b78d1cb537fb9",NAME="asm-disk1",OWNER="oracle",GROUP="oinstall",MODE="0660"

KERNEL=="sdc1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c290f7420f49693713ee4a8d8965",NAME="asm-disk2",OWNER="oracle",GROUP="oinstall",MODE="0660"

KERNEL=="sdd1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c298291180106cb2a79963a50dc4",NAME="asm-disk3",OWNER="oracle",GROUP="oinstall",MODE="0660"

操作系统中,可以看盘的情况

[root@ecc-prddb1 ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xd5237e4e

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         652     5237158+  83  Linux

[root@ecc-prddb1 ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x4b723f55

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         652     5237158+  83  Linux

[root@ecc-prddb1 ~]# fdisk -l /dev/sdd

Disk /dev/sdd: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x123cff91

Device Boot      Start         End      Blocks   Id  System

/dev/sdd1               1         652     5237158+  83  Linux

每个盘的大小为5g,那么我们相应的也划分3个5g的盘进行替换

2、划分存储磁盘

--由于是虚拟机,所划分的盘的大小、个数与原来的相同

--属性配置与其它盘完全一致

3、配置asm盘操作

--扫描磁盘并分区

echo "- - -" > /sys/class/scsi_host/host0/scan

说明,可能有多个host+数字的情况,我们一次扫描不到,要多次,如下:

echo "- - -" > /sys/class/scsi_host/host1/scan

echo "- - -" > /sys/class/scsi_host/host2/scan

echo "- - -" > /sys/class/scsi_host/host3/scan

然后使用

[root@ecc-prddb1 ~]# fdisk -l

这样,如果盘未分区,就会在后面显示出来,我们找到对应的sd*,对其进行分区

[root@ecc-prddb1 ~]# fdisk /dev/sd*      根据扫描的结果,查看*所代表的字母

--获取磁盘id

[root@ecc-prddb1 ~]# scsi_id -g -u -d /dev/sd*  *代表新加入的盘

记下显示出来的字符串

--编辑udev文件

vi 99-oracle-asmdevices.rules

KERNEL=="sdb1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29883f322a11c7b78d1cb537fb9",NAME="asm-disk1",OWNER="oracle",GROUP="oinstall",MODE="0660"

注意要修改的地方:

KERNEL=="sdb1":此处要修改为对应的磁盘及分区,如扫描出来的是m,并且只做了一个分区,则国sdm1

RESULT=="36000c29883f322a11c7b78d1cb537fb9":上面扫描出来的磁盘id

NAME="asm-disk1":修改为我们命名,如我们上一个是11,为保持一致,我们修改为asm-disk12

修改保存后,重启udev即可

4、创建新的crsdg

要以采用图形界面asmca,或者使用命令也可以

create diskgroup ocrdg normal redundancy disk '/dev/asm-disk12','/dev/asm-disk13','/dev/asm-disk14' attribute 'compatible.asm'='11.2';

创建成功以后,可以在v$asm_diskgroup中看到该dg的名称和大小

5、替换原来的crsdg

--备份参数文件

SQL> show parameter spfile;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      +CRSDG/ecc-prddb-scan/asmparam

eterfile/registry.253.86406398

1

SQL> create pfile='/tmp/spfilebak0716.ora' from spfile;

File created.

这一步一定不少,否则会跟后续的工作带来很大的麻烦。在11g中,spfile是放在crsdg中的

--创建

[root@ecc-prddb1 bin]# ./ocrconfig -add  +OCRDG    刚才建的dg上面

创建成功后,可以通过以方式查看

[root@ecc-prddb1 ~]# ./ocrcheck -config

Oracle Cluster Registry configuration is :

Device/File Name         :      +CRSDG

Device/File Name         :      +OCRDG

[root@ecc-prddb1 ~]# more /etc/oracle/ocr.loc

#Device/file  getting replaced by device +OCRNEW

ocrconfig_loc=+CRSDG

ocrmirrorconfig_loc=+OCRDG

local_only=false

注意使用root用户执行的

--替换crsdg

检查当前crsdg磁盘情况

[oracle@ecc-prddb1 bin]$ ./crsctl query css votedisk

##  STATE    File Universal Id                File Name Disk group

--  -----    -----------------                --------- ---------

1. ONLINE   27d6c944f29b4fe1bfcb1c77b21a104b (/dev/asm-disk2) [CRSDG]

2. ONLINE   626f61e4d8484f01bf53cc7bcbf12883 (/dev/asm-disk1) [CRSDG]

3. ONLINE   595747f50d5f4f4abff80ba505a0db12 (/dev/asm-disk3) [CRSDG]

Located 3 voting disk(s).

备份当前crs信息

ocrconfig -export /tmp/ocr_20150716.dmp    --手动备份

ocrconfig -showbackup                      --自动备份

[oracle@ecc-prddb1 bin]$ ./ocrconfig -showbackup

ecc-prddb1     2015/07/16 07:39:26     /oracle/GRID/112/cdata/ecc-prddb-scan/backup00.ocr

ecc-prddb1     2015/07/16 03:36:58     /oracle/GRID/112/cdata/ecc-prddb-scan/backup01.ocr

ecc-prddb1     2015/07/15 23:33:07     /oracle/GRID/112/cdata/ecc-prddb-scan/backup02.ocr

ecc-prddb1     2015/07/15 23:33:07     /oracle/GRID/112/cdata/ecc-prddb-scan/day.ocr

ecc-prddb1     2015/07/08 16:14:26     /oracle/GRID/112/cdata/ecc-prddb-scan/week.ocr

执行替换

[oracle@ecc-prddb1 bin]$ crsctl replace votedisk +CRSDG

这条命令执行后,有一系列提示,最后会出现以下的提示

CRS-4266: Voting file(s) successfully replaced

完成以后,可以通过

./ocrcheck -config

./crsctl query css votedisk

more /etc/oracle/ocr.loc

进行再次验证。本次替换主要完成的是镜像转换,可以看到ocrdg为主要的了

创建asm参数文件

SQL> create spfile = '+OCRDG' FROM pfile='/tmp/spfilebak0716.ora';

6、删除旧的crsdg

[root@ecc-prddb1 bin]$  ./ocrconfig -delete +CRSDG

最后使用如下命令检查

./ocrcheck && ./crsctl query css votedisk

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29371470/viewspace-1742921/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值