ITPub博客

首页 > 数据库 > Oracle > oracle asm在线替换dg盘操作

oracle asm在线替换dg盘操作

原创 Oracle 作者:datapeng 时间:2015-07-15 15:43:33 0 删除 编辑
1、检查当前的磁盘的情况
MOUNTED  EXTERN  N         512   4096  1048576    102398   102222                0          102222              0             N  ARCHDG/
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/
注意,重做日志、归档日志已经替换,只需替换datadg便可以了
SQL> select GROUP_NUMBER,name from v$asm_diskgroup;


GROUP_NUMBER NAME
------------ ------------------------------
           1 ARCHDG
           0 CRSDG
           3 DATADG                                     ---此盘需要替换,磁盘组号为3
           4 RECODG
           0 REDODG2
           0 REDODG1
           7 REDO1


通过确认,盘为:/dev/asm-disk4


[oracle@ecc-prddb1 rules.d]$ more 99-oracle-asmdevices.rules
KERNEL=="sde1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29a5e6738762b229b31b4f8052a",NAME="asm-disk4",OWNER="oracle",GROUP="oinstall",MODE="0660"




Disk /dev/sde: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 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: 0xbec85102


   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1       26108   209712478+  83  Linux


SQL> select name,total_mb,free_mb from v$asm_diskgroup;


NAME                             TOTAL_MB    FREE_MB
------------------------------ ---------- ----------
ARCHDG                             102398     102339
CRSDG                                   0          0
DATADG                             204797      19872
RECODG                             102398     102272
REDODG2                                 0          0
REDODG1                                 0          0
REDO1                               30718      26555


要替换的盘确实是/dev/sde1,大小为200g


[oracle@ecc-prddb1 bin]$ ./ocrcheck -config
Oracle Cluster Registry configuration is :
         Device/File Name         :     +CRSDG
此命令是检查crs是否是datadg上面,因为有些不规范的磁盘规划,会与数据盘放在一起,此次不在一起。




2、划磁盘到该机器


注意:
--要求所划盘为sas盘
--所划盘的大小不得小于替换的磁盘
--磁盘的属性配置,与其它盘相同


3、操作系统对此盘进行处理


--分区
fdisk /dev/sd*    注意,当时划出来的编号是什么就是什么,可能会sdn\sdm模式


--扫描磁盘
echo "- - -" > /sys/class/scsi_host/host0/scan
在此目录下,查看有多少个host+数据的目录,可能第一个不正确,需要继续执行下面的
依次执行,由此获取到ssid
或者使用如下命令
scsi_id -g -u -d /dev/sdb


--编辑udev里的配置文件
99-oracle-asmdevices.rules
其格式如下:
KERNEL=="sde1",BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",RESULT=="36000c29a5e6738762b229b31b4f8052a",NAME="asm-disk4",OWNER="oracle",GROUP="oinstall",MODE="0660"
注意:
--36000c29a5e6738762b229b31b4f8052a这一串要更改为上面扫描出来的结果
--KERNEL=="sde1",这个需要根据磁盘进行更改
--NAME="asm-disk4",需要根据磁盘命名进行更改


4、添加磁盘到磁盘组


SQL> select GROUP_NUMBER,DISK_NUMBER,STATE,REDUNDANCY,TOTAL_MB,FREE_MB,name,path,failgroup from v$asm_disk order by GROUP_NUMBER;


GROUP_NUMBER DISK_NUMBER STATE    REDUNDA   TOTAL_MB    FREE_MB NAME                           PATHFAILGROUP
------------ ----------- -------- ------- ---------- ---------- ------------------------------ --------------------------------
           1           0 NORMAL   UNKNOWN     102398     102339 ARCHDG_0000                    /dev/asm-disk8ARCHDG_0000
           3           0 NORMAL   UNKNOWN     204797      19872 DATADG_0000                    /dev/asm-disk4DATADG_0000
           4           0 NORMAL   UNKNOWN     102398     102272 RECODG_0000                    /dev/asm-disk5RECODG_0000
           7           0 NORMAL   UNKNOWN      30718      26555 REDO1_0000                     /dev/asm-disk9REDO1_0000


10 rows selected.
找到刚才加入的磁盘。刚刚加入的,是没有磁盘组的


--执行添加盘的操作
SQL> alter diskgroup DATADG add disk '/dev/asm-disk11' rebalance power 11; 
--rebalance power 11,
说的是并行度,需要考虑当时的性能确定,本次操作建议在4或者5就行了,不必太大
通过以下语句来查看完成的进度
SQL> select * from V$ASM_OPERATION;
如果仍有数据在上面跑,不可对原磁盘进行删除。此语句可以查看进度


5、删除磁盘操作
SQL> alter diskgroup DATADG drop disk 'DATADG_0000' rebalance power 11;
SQL> select * from V$ASM_OPERATION;
查看进度
如果上述查询没有了,就证明已经完成,按如下语句进行查看添加是否成功。
SQL> select a.NAME GROUP_NAME,a.TOTAL_MB,a.FREE_MB GROUP_FREE_MB,b.OS_MB,b.FREE_MB,b.name,b.path from v$asm_diskgroup a,v$asm_disk b where a.GROUP_NUMBER=b.GROUP_NUMBER;

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

请登录后发表评论 登录
全部评论

注册时间:2013-12-06

  • 博文量
    228
  • 访问量
    2684259