1、环境与筹备
- oracle 11gR2 RAC +
- 施行前平安起见,操作之前停数据库实例、ASM实例
2、节点1、2磁盘信息
- 查看磁盘信息及新增加磁盘;
共享磁盘信息:ls -l /dev/asm*
需新增加磁盘:ls -l /dev/sd* udev形式将新磁盘配置为ASM共享磁盘(节点1、2都要执行)
查看磁盘的UUID:for disk in `ls /dev/sd*`do echo $disk /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=$diskdone
cd /etc/udev/rules.d
增加vi 99-oracle-asmdevices.rulesKERNEL=="sd?", ENV{ID_SERIAL}=="36000d310008ec3000000000000000036", SYMLINK+="asm_ocr", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000d310008ec3000000000000000016", SYMLINK+="asm_data", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000d310008ec3000000000000000035", SYMLINK+="asm_fra", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000d310008ec300000000000000002c", SYMLINK+="asm_bak", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000d310008ec3000000000000000039", SYMLINK+="asm_data3", OWNER="grid", GROUP="asmadmin", MODE="0660"
- 重启udev服务
start_udev - 查看/dev/sdh是否已为/dev/asm-diskh格局的asm磁盘
s -l /dev/asm* 向ASM磁盘组中加盘(grid用户的sysasm)
SQL>select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS,MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;SQL>alter diskgroup data add disk '/dev/asm-data3';SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS,MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
增加完磁盘之后,oracle会主动做重均衡rebalance操作,能够通过视图查看
SQL> select * from v$asm_operation;SOFAR:就是目前为止移动的AU数量EST_WORK:预计要移动的AU数量EST_RATE:预计每分钟移动的AU数量EST_MINUTES:预计移动多少分钟重均衡的过程就是从其余的磁盘向新磁盘移动数据的过程,如果数据量很大,这个工夫会很长,能够更改power值加快速度,默认power值为1,可依据存储性能将此值设置大一些(power取值0-11),数据均衡结束还原power值即可SQL> show parameter asm_power_limitSQL> alter diskgroup data_dg rebalance power 11;注:power=0是进行rebalance操作或也可在加盘时间接增加rebalance指令,如下:SQL> alter diskgroup data_dg add disk '/dev/asm-diskh' rebalance power 8;注:如增加磁盘报错(新增磁盘不为全新盘,有旧数据在外头),可应用dd命令将磁盘头信息革除掉dd if=/dev/zero of=/dev/sdd bs=4096 count=256 --磁盘头信息大小个别是1M。
删除ASM磁盘
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002'; --依照name来删除或:SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002' rebalance power 8;SQL> select * from v$asm_operation;SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
相干材料:
http://the7.net/news/show-735...
https://www.361shipin.com/blo...