赞
踩
今天要还原一台数据库
发现空间不足, 正好把加盘的完整操作记录下来
整体动作分两块
1. LINUX分区
2. ASM挂盘
增加硬盘空间
# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 10995.1 GB, 10995116277760 bytes, 21474836480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: gpt
Disk identifier: 38DF4DEE-51BC-40C3-BA2C-FA1891442BAC
# Start End Size Type Name
1 3999744 19531775 7.4G Microsoft basic primary
2 19531776 3925780479 1.8T Microsoft basic primary
3 7832031232 9785155583 931.3G Microsoft basic primary
4 3925780480 7832031231 1.8T Microsoft basic primary
Command (m for help): n
这里分区只有指定了空间, 其他都是默认
- Partition number (5-128, default 5):
- First sector (34-21474836446, default 9785155584):
- Last sector, +sectors or +size{K,M,G,T,P} (9785155584-21474836446, default 21474836446): 13691406335
Created partition 5
Command (m for help): p
Disk /dev/sdb: 10995.1 GB, 10995116277760 bytes, 21474836480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: gpt
Disk identifier: 38DF4DEE-51BC-40C3-BA2C-FA1891442BAC
再次查看分区已经建立完成
# Start End Size Type Name
1 3999744 19531775 7.4G Microsoft basic primary
2 19531776 3925780479 1.8T Microsoft basic primary
3 7832031232 9785155583 931.3G Microsoft basic primary
4 3925780480 7832031231 1.8T Microsoft basic primary
5 9785155584 13691406335 1.8T Linux filesyste
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
手动重读一次, 在这里遇到点问题, partition table 没有正常保存读取, 所以使用命令partprobe去重新读取
# partprobe
确认是否已经加载
- # fdisk /dev/sdb
- sdb sdb1 sdb2 sdb3 sdb4 sdb5
格式化
- # mkfs.xfs /dev/sdb5
- meta-data=/dev/sdb5 isize=512 agcount=4, agsize=122070336 blks
- = sectsz=4096 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=488281344, imaxpct=5
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=238418, version=2
- = sectsz=4096 sunit=1 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
ASM必须将盘作为裸盘使用, 且权限要修改
增加RAW盘
#vi /etc/rc.local
在文件末端新增以下代码(以下的raw5、sdb5以及oracle权限视情况修改)
-
- /usr/bin/raw /dev/raw/raw5 /dev/sdb5
- /usr/bin/chown -R 660 /dev/raw/raw5
- /usr/bin/chown -R oracle:dba /dev/raw/raw5
保存, 让下次开机生效
并且手动执行上述命令一次
- # ls /dev/raw/raw
- raw1 raw2 raw3 raw4 raw5 rawctl
进入GRID添加盘
- # su - oragrid
- $ sqlplus / as sysasm
查看当前空间
- > select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
-
-
- NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
- ------------------------------ ----------- ---------- ----------------------- --------------
- DATA MOUNTED 2838052 0 2838052
- FRA MOUNTED 953093 0 953093
- OCR MOUNTED 7525 0 7525
在群组DATA内新增空间
SQL> alter diskgroup DATA add disk '/dev/raw/raw5';
查询结果
- SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
-
- NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
- ------------------------------ ----------- ---------- ----------------------- --------------
- DATA MOUNTED 4745383 0 4745383
- FRA MOUNTED 953093 0 953093
- OCR MOUNTED 7525 0 7525
可以看到DATA空间由2838052增加到了4745383
本次扩容成功
可以用以下SQL随时查看rebalance 状态
select * from v$asm_operation;
写在最后:
有些说法会去调整rebalance power, 各位可视业务去调整该值, 由于现在存储基本上有负载功能, 且固态盘效率高, 在此就没做此调整
alter diskgroup datadg rebalance power 5;
这里rebalance power的级别从1到11中选择一个数值;数值越大,rebalance速度越快,对现有运行系统影响也越大。需要根据当时业务权衡选择适合的级别;
该命令只对本次rebalance操作有效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。