阅读量:7
CentOS环境下Oracle数据库存储扩展方法
在CentOS系统中扩展Oracle数据库存储,需根据存储架构(本地LVM、ASM)选择对应步骤。以下是具体方法及注意事项:
一、本地LVM存储扩展(适用于单实例Oracle)
若Oracle数据库部署在本地LVM分区(如/home/oracle),可通过添加物理磁盘→创建物理卷→扩展卷组→扩展逻辑卷→调整文件系统的流程实现扩容。
1. 添加新物理磁盘并分区
使用fdisk或parted工具对新磁盘(如/dev/sdb)进行分区,设置分区类型为Linux LVM(Hex代码8e):
fdisk /dev/sdb
# 依次输入:n(新建分区)→ p(主分区)→ 默认分区号 → +5G(分区大小)→ t(修改分区类型)→ 8e → w(保存并退出)
同步磁盘分区表:
partprobe /dev/sdb
2. 创建物理卷(PV)
将新分区初始化为物理卷:
pvcreate /dev/sdb1
3. 扩展卷组(VG)
将物理卷添加到Oracle数据库所在的卷组(如centos-home):
vgextend centos-home /dev/sdb1
4. 扩展逻辑卷(LV)
扩展逻辑卷大小(如增加5G):
lvextend -L +5G /dev/centos/home
5. 调整文件系统大小
根据文件系统类型选择对应命令:
- XFS文件系统(推荐):
xfs_growfs /dev/mapper/centos-home - EXT4文件系统:
resize2fs /dev/mapper/centos-home
注意事项
- 扩容前需备份重要数据;
- 若Oracle数据库目录(如
/home/oracle)挂载在LVM上,调整文件系统后无需重新挂载; - 若为EXT4文件系统,需确保
/etc/fstab中未注释挂载选项,避免重启失败。
二、ASM存储扩展(适用于RAC/单实例Oracle)
若Oracle使用ASM(Automatic Storage Management)管理存储,可通过添加磁盘→在线扫盘→创建ASM磁盘→添加至磁盘组→自动Rebalance的流程扩容。
1. 添加新存储磁盘
在存储设备上划分新磁盘(如/dev/sdh、/dev/sdi),并通过多路径绑定(若有)生成可用路径。
2. 在线扫盘(RAC环境必须)
在所有节点上执行以下命令,识别新增磁盘:
for host in /sys/class/scsi_host/host*; do echo "- - -" > $host/scan; done
3. 创建ASM磁盘
- 方式1:直接使用裸盘(需root权限):
oracleasm createdisk ASM_DISK1 /dev/sdh1 oracleasm createdisk ASM_DISK2 /dev/sdi1 - 方式2:使用分区(如
/dev/sdh1):oracleasm createdisk ASM_DISK1 /dev/sdh1
4. 扫描并列出ASM磁盘
oracleasm scandisks
oracleasm listdisks # 确认新磁盘(如ASM_DISK1、ASM_DISK2)已列出
5. 扩展ASM磁盘组
登录Grid用户,使用ALTER DISKGROUP命令将新磁盘添加至目标磁盘组(如DATADG),并指定Rebalance power(1-11,数值越大速度越快):
alter diskgroup DATADG add disk 'ASM_DISK1', 'ASM_DISK2' rebalance power 5;
6. 验证扩容结果
select group_number, name, total_mb, free_mb, usable_file_mb from v$asm_diskgroup where name = 'DATADG';
或使用ASM命令:
asmcmd lsdg
注意事项
- 扩容前需检查ASM磁盘组状态(
v$asm_diskgroup)、集群状态(crsctl check cluster); - Rebalance过程会消耗系统资源,建议在非高峰时段执行;
- 若磁盘组为
NORMAL冗余模式,需确保新增磁盘数量满足冗余要求(如2路镜像需至少2块新磁盘)。
关键说明
- LVM vs ASM选择:ASM是Oracle推荐的存储管理方案,尤其适用于RAC环境,具备自动Rebalance、镜像保护等功能;
- RAC环境注意事项:所有节点需同步执行扫盘、创建磁盘步骤,确保集群一致性;
- 性能影响:Rebalance过程可能影响数据库性能,可通过调整
power limit参数控制速度。