简介:日常工作中,会遇到很多数据库迁移的工作内容,当我们检查源机器和目标机器的数据盘空间对比,发现目标机器的空间不够时,需要申请扩容。
扩容步骤:
1.使用root用户分别在两个节点验证扩容后的硬盘是否存在
[orarquat@rqerpvura04 ~]$ sudo su -
fdisk -l|grep sd
Disk /dev/sdr: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Disk /dev/sds: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Disk /dev/sdt: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
节点2
检查扩容后的硬盘
fdisk -l|grep sd
Disk /dev/sdr: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Disk /dev/sds: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Disk /dev/sdt: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
节点一操作:
经过与验证新添加的硬盘为/dev/sdr、dev/sds、/dev/sdt
分别在两个节点查看3个硬盘的id是否一致
命令:
smartctl -a /dev/sdr
2.验证无误后,为新添加的硬盘配置ASM磁盘,配置磁盘分区
分别配置新添加3个硬盘分区
fdisk /dev/sdr
fdisk /dev/sds
fdisk /dev/sdt
以/dev/sdr为例:
(1)配置fdisk /dev/sdr
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xd43058cb 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
操作: 敲击字母“n”键 新建分区
说明:欢迎界面,输入帮助指令或操作指令。
(2)提示2
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
操作: 敲击字母“p”键 选择主分区
说明:请选择主分区,或扩展分区
(3)提示3
Select (default p): p
分区号 (1-4,默认 1):1
操作: 敲击数字“1”键
说明:选择分区号
(4)提示4
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
操作:敲击回车键
说明:选择磁盘开始的扇区
(5)提示5
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1T
操作:输入分区大小“+1G” 后回车
说明:选择磁盘分区结束的扇区,即分区大小,根据实际情况划分
(6)提示6
命令(输入 m 获取帮助):p
磁盘 /dev/sdr:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4b694ce1
设备 Boot Start End Blocks Id System
/dev/sdr1 2048 2099199 1048576 83 Linux
操作:敲击字母“p”键
说明:查询分区信息
(7)提示7
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
操作:敲击字母“w”键
说明:保存分区信息并自动退出分区工具
(2)同样的方法配置fdisk /dev/sds
(3)同样的方法配置配置fdisk /dev/sdt
3.创建asm硬盘
节点1操作:
命名尽量做到规范:NEW_DATA_DISK0
oracleasm createdisk NEW_DATA_DISK08 /dev/sdr1
oracleasm createdisk NEW_DATA_DISK09 /dev/sds1
oracleasm createdisk NEW_DATA_DISK10 /dev/sdt1
节点2刷新
oracleasm scandisks
4.登录sysasm用户将asm硬盘增加到diskgroup RQUATDATA中
su - grid
sqlplus / as sysasm
查看刚才创建的硬盘
SQL> set lines 200 pages 50000
col name for a25
col path for a55
select group_number,disk_number,name,path,total_mb/1024 total_G,mode_status,repair_timer from v$asm_disk order by group_number,disk_number;SQL> SQL> SQL>
GROUP_NUMBER DISK_NUMBER NAME PATH TOTAL_G MODE_ST REPAIR_TIMER
------------ ----------- ------------------------- ------------------------------------------------------- ---------- ------- ------------
2047.99609 ONLINE 0
1 1 DATADG_0001 /dev/oracleasm/disks/NEW_DATA_DISK08 1023.99609 ONLINE 0
1 2 DATADG_0002 /dev/oracleasm/disks/NEW_DATA_DISK09 1023.99609 ONLINE 0
1 3 DATADG_0003 /dev/oracleasm/disks/NEW_DATA_DISK10 1023.99609 ONLINE 0
将查询到的硬盘添加到RQUATCDB
alter diskgroup DATA add disk '/dev/oracleasm/disks/NEW_DATA_DISK08';
alter diskgroup DATA add disk '/dev/oracleasm/disks/NEW_DATA_DISK09';
alter diskgroup DATA add disk '/dev/oracleasm/disks/NEW_DATA_DISK10';
查看添加进去的磁盘是否成功
--asm.sql
column name format a20
column free_mb format 999,999,999
select name,to_char(sysdate,'YYYY-MM-DD HH24:MI') SYSTEM_DATETIME from v$database;
select (select name from v$database) db_name,name diskgroup_name,total_mb,free_mb,round(free_mb/total_mb*100,1) FREE_Uti_PCT from v$asm_diskgroup order by 4;
提示:向asm磁盘组中添加,删除,resize等操作都将会引起asm实例rebalacne。
查看进度rebalance:
select group_number,operation,state,est_work,est_rate,est_minutes,error_code from v$asm_operation;