0
点赞
收藏
分享

微信扫一扫

Oracle 19c RAC ASM磁盘扩容

云竹文斋 2022-04-13 阅读 78
armoracle

简介:日常工作中,会遇到很多数据库迁移的工作内容,当我们检查源机器和目标机器的数据盘空间对比,发现目标机器的空间不够时,需要申请扩容。

扩容步骤
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;
举报

相关推荐

0 条评论