admin 管理员组

文章数量: 887021


2024年1月16日发(作者:八种逻辑门电路符号)

数据库更换存储迁移方案

生产数据库环境

数据库版本:Oracle 11g R2 RAC (11204)

数据存储方式:共享存储,ASM管理

ASM 组及名字: crsdg,datadg

数据库实例名:zgdb1,zgdb2

数据库数据量:100G

操作系统版本:RedHat 5.8

数据迁移实施步骤流程

目前数据库的数据是存放在和其他业务共用的存储上,此次实施的目的是将数据迁移到新的

存储上而不影响业务正常运行,迁移方案主要利用ASM重平衡特性实现更换存储迁移数据,时间

需要预计2天左右,大体迁移步骤就是如下几步操作:

1 .首先保证新存储和RAC当前节点间的可用性;

2 .将新存储划分LUN给2台数据库服务器,2台数据库服务器不替换,可以重新规划存储方案

或者保持原存储方案,目前依照原存储规划方案;

3 . LUN磁盘映射给ORACLE集群,通过asmca或者asm命令行添加到ASM组中;

4 .迁移原OCR和votedisk表决盘到新ASM组;

5 .给现有ASM磁盘组添加ASM磁盘(新存储分配的),进行数据DATADG迁移,采用ASM重平衡的

方式;

6 .删除原存储的ASM磁盘;

7 . 检查系统、集群、数据库日志;

新存储映射流程

存储划分LUN映射

1 .存储和服务器之间连线;

2 .划分存储LUN,保证LUN数量及大小与之前旧存储划分一致;

3 .在数据库服务器安装多路径软件,保证2台服务链路一致;

4 .检查链路是否一致 powermt display dev=all

LUN映射到ORACLE

1 .编辑/etc/udev/rules.d/ 文件,添加新存储映射

SUBSYSTEM=="block", KERNEL=="emcpowera", GROUP="asmadmin", OWNER="grid", MODE="0660"

SUBSYSTEM=="block", KERNEL=="emcpowerb", GROUP="asmadmin", OWNER="grid", MODE="0660"

SUBSYSTEM=="block", KERNEL=="emcpowerc", GROUP="asmadmin", OWNER="grid", MODE="0660"

SUBSYSTEM=="block", KERNEL=="emcpowerd", GROUP="asmadmin", OWNER="grid", MODE="0660"

SUBSYSTEM=="block", KERNEL=="emcpowere", GROUP="asmadmin", OWNER="grid", MODE="0660"

SUBSYSTEM=="block", KERNEL=="emcpowerf", GROUP="asmadmin", OWNER="grid", MODE="0660"

2 .启动udev_start,识别存储路径

3 .切到grid用户,使用ASMCA,添加新的ASM磁盘组

数据库双重备份

数据库迁移实施之前,先把当前数据进行备份,防止迁移异常之后,能够及时恢复数据,使

用2种方式对数据库进行备份;

方式一:rman备份数据

2.备份参数文件

create pfile=’/home/oracle/backup/’ from spfile;

3.备份数据库

export ORACLE_SID= zgdb1

rman target / log='/tmp/rman_' append <

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

backup as compressed backupset filesperset 6 database

format '/home/oracle/backup/full_%d_%T_%s_%p';

backup current controlfile format '/home/oracle/backup/ctl_%d_%T_%s_%p';

}

EOF

4 .备份密码文件

cp $ORACLE_HOME/dbs/initpwzgdb1 /home/oracle/backup/

5 .数据库还原

startup pfile=’/home/oracle/backup/’nomount;

restore controlfile from '/home/oracle/rman/ctl_ ';

alter database mount;

restore database;

recover database;

alter database open;

方式二:数据泵方式进行数据库备份

1. 创建directory目录

create directory backup as '/home/oracle/backup';

2. 授权导出用户权限

grant read,write on directory backup to system;

3. 备份数据

expdp system/oracle directory=backup dumpfile= logfile= schemas=hsman

exclude=statistics cluster=n parallel=8;

4. 恢复数据

impdp system/oracle directory=backup dumpfile= logfile= schemas=hsman cluster=n

parallel=8

ASM迁移详细步骤

集群迁移实施步骤

1. grid用户下,使用asmca添加新的ASM组ocrvoting,3个10G LUN,采用normal方式;

2. grid用户下,添加votedisk

crsctl query css votedisk

crsctl replace votedisk ocrvoting

create pfile='/home/grid/' from spfile;

create spfile='+ocrvoting' from pfile='/home/grid/';

3. root用户下迁移ocr

ocrcheck

ocrconfig -add +ocrvoting

ocrconfig -replace +vocrvoting -replacement +crsdg

ocrconfig -delete +crsdg

sqlplus / as sysasm

alter diskgroup crsdg dismount;

drop diskgroup crsdg including contents;

4. 检查votedisk和ocr状态

crsctl query css votedisk

ocrcheck

数据迁移实施步骤

1 . 查看数据磁盘状态

sqlplus / as sysdba

col GROUP_NUMBER format 99

col state format a10

col name format a15

col path format a20

col failgroup format a20

set line 200

select

GROUP_NUMBER,DISK_NUMBER,STATE,REDUNDANCY,TOTAL_MB,FREE_MB,name,path,failgroup from

v$asm_disk order by GROUP_NUMBER;

2 .迁移数据磁盘组数据(PATH),时间较长;

SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER1' rebalance power 11;

Diskgroup altered.

SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER2' rebalance power 11;

Diskgroup altered.

SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER3' rebalance power 11;

Diskgroup altered.

由于指定rebalance power 11, ASM会自动均衡ASM磁盘组DATA里面存放的数据在各ASM磁

盘的分布。

3 .删除就存储磁盘(name),时间较长

alter diskgroup data drop disk 'BACK_VOL1' rebalance power 11;

alter diskgroup data drop disk 'DATA_VOL2' rebalance power 11;

alter diskgroup data drop disk 'DATA_VOL3' rebalance power 11;

alter diskgroup back drop disk 'DATA_VOL4' rebalance power 11;

ASM不但向磁盘组中加入新磁盘时会做rebalance,在删除ASM磁盘时也会rebalance,将该

磁盘上的数据rebalance到其他该磁盘组的磁盘中。

4 .删除旧ASM盘配置信息

编辑/etc/udev/rules.d/ 文件

udev_start

检查新存储及数据库集群状态

数据库迁移工作至此结束,将中间件及应用开启,检查数据库状态,集群状态,存储状态等。


本文标签: 数据库 迁移 数据 磁盘 备份