ASM下的存储更换迁移方案
- 格式:doc
- 大小:31.50 KB
- 文档页数:2
存储迁移方案概述存储迁移是指将数据从一个存储系统迁移到另一个存储系统的过程。
这可能出于多种原因,包括更新旧的存储设备、切换到更高性能的存储解决方案、实现存储设备的统一和集中管理等。
本文将介绍一个常见的存储迁移方案,以帮助企业顺利进行存储设备的迁移。
步骤1:需求分析在进行存储迁移之前,首先需要明确迁移的目的和需求。
这包括迁移的数据量、迁移的时间窗口、迁移的可用性要求等。
通过充分了解需求,可以确定合适的存储迁移方案。
步骤2:设计迁移计划根据需求分析的结果,设计一个合理的迁移计划是至关重要的。
迁移计划应该明确迁移的时间安排、迁移的顺序和优先级、迁移的风险评估等。
同时,还需要考虑业务的连续性,确保在迁移过程中对业务的影响最小化。
步骤3:数据准备在进行存储迁移之前,需要对数据进行备份和清理。
首先,对要迁移的数据进行备份,以防止数据丢失。
然后,对备份数据进行校验,确保数据的完整性。
此外,还可以对数据进行清理和压缩,以减小数据的体积和迁移的时间。
步骤4:迁移数据迁移数据是存储迁移的核心步骤。
有多种方法可以进行数据迁移,例如使用存储复制、存储快照、存储迁移工具等。
在选择迁移方法时,需要综合考虑迁移的效率、复杂性和对业务的影响。
同时,还需要确保数据的可用性和一致性。
步骤5:验证和测试在完成数据迁移之后,需要进行验证和测试,确保迁移的数据与源数据一致性。
可以通过比对迁移后的数据和源数据,或者通过应用程序的测试来进行验证。
如果发现问题,需要及时进行修复和重新迁移。
步骤6:部署和切换在确定迁移的数据已经验证通过后,可以部署新的存储设备并进行切换。
在进行切换之前,需要进行充分测试和演练,以确保切换的顺利进行,并最小化对业务的影响。
可以采用渐进式切换的方式,逐步将业务从旧存储设备迁移到新存储设备上。
步骤7:监控和优化一旦完成存储迁移,需要对新存储设备进行监控和优化。
监控可以实时监测存储设备的性能和可用性,及时发现并解决问题。
一、ASM文件迁移说明ASM文件迁移指的是将位于文件系统上的数据库文件迁移到ASM磁盘组里;或者是将位于ASM 磁盘组上的数据库文件迁移到文件系统上。
如下图所示:二、从文件系统迁移到ASM磁盘组第一步:修改spfilesql>alter system set control_files=’+dgdata1’,’+dgdata1’ scope=spfile;第二步:备份控制文件$rman target /rman>backup current controlfile format ‘/home/oracle/controlfile.ctl’;第三步:启动数据库到NOMOUNTrman>shutdown immediaterman>startup nomount备注:因为修改了spfile中控制文件的位置,所以数据库启动的时候会出现找不到控制文件的问题,所以将数据库启动到NOMOUNT状态,然后再恢复控制文件。
第四步:恢复控制文件rman>resotore controlfile from ‘/home/oracle/controlfile.ctl’;备注:RMAN根据spfile文件中control_files的值将控制文件恢复到指定路径下。
第五步:启动数据库到MOUNTrman>alter database mount;备注:因为控制文件已经恢复,系统可以顺利读取控制文件,所以将数据库启动到MOUNT以便进行下一步数据库文件的迁移。
第六步:复制数据库文件到ASM磁盘组rman>backup as copy database format ‘+dgdata1’;备注:backup as copy 命令是以副本的方式备份数据库,其作用和操作系统的COPY命令是一样的,只是二者的执行者不同而已。
至于数据库文件复制过去的名字则无需指定,它由ASM自动生成。
而且backup as copy 命令只备份数据文件,不备份日志文件,也不备份临时文件。
迁移数据库到不同的ASM DISKGROUP的三种解决方案1. 解决方案说明适用1。
如果你想移动到不同的ASM存储/硬件。
2。
如果你想改变冗余磁盘组当磁盘组中创建了一些外部冗余,那么它的正常或高冗余不能改变。
需要更改冗余可能因为:- DBA由于磁盘空间的限制想要切换普通/高冗余到外部冗余,或因使用外部方法维护冗余(如RAID 10等)的计划。
- 切换到ASM建立冗余,即由外部冗余转换为普通/高冗余注: - 请注意,此步骤已被内部测试实验。
不过,我们建议用户在生产环境中执行前最好在测试环境中测试这些步骤。
建议最好也有一个完整数据库的冷备份。
2.三种解决方案有三种方法来执行:1。
创建一个新的设计好的冗余的磁盘组并且移动现有的数据到新创建的磁盘组2。
在备份完数据并且创建一个新的具备设计冗余的磁盘组后,删除现有的磁盘组3. 利用ASM的热添加和删除磁盘的方式完成存储迁移3.方案一:创建一个新具备所需的冗余的磁盘组,移动现有的数据到新创建的磁盘组。
3.1. 查看当前磁盘组如果我们有额外的磁盘空间可用,那么我们可以创建一个新的磁盘组,从旧的磁盘组中移动文件到它。
- 首先,我们有一个外部冗余的磁盘组:SQL> select state,name from v$asm_diskgroup;STATE NAME----------- --------------------MOUNTED DGORIG3.2. 创建一个正常冗余的新的磁盘组:SQL > create diskgroup DGNEW normal redundancy failgroup<failgroup1_name> disk 'disk1_name' failgroup <failgroup2_name> disk 'disk2_name';/**********注意:新创建的磁盘在linux和unix操作系统下一定要先修改权限**********//SQL> select state,name,type from v$asm_diskgroup;STATE NAME TYPE----------- ------------------- ------MOUNTED DGORIG EXTERNMOUNTED DGNEW NORMAL3.3.备份和恢复控制文件SQL> show parameter db_nameNAME TYPE VALUE---------------- ----------- ----------------------------db_name string orcl10gSQL> alter database backup contro lfile to '+DGNEW';SQL> alter system setcontrol_files='+DGNEW\ORCL10G\CONTROLFILE\<system generated control file name from diskgroup DGNEW>' SCOPE=SPFILE;-- Connect to rman$ rman target /RMAN > shutdown immediate;RMAN > startup nomount;RMAN> restore contro lfile to '<new_diskgroup i.e +DGNEW> from'+DGORIG\ORCL10G\CONTROLFILE\mycontrol.ctl' (specify the original (old) location of contro lfile here) 'Mount数据库并且更新控制文件从v$controlfile/********注意:原始的控制文件名一定要全,否则报错****************/// 3.4.备份和恢复迁移数据库文件RMAN > alter database mount;RMAN> backup as copy database format '+DGNEW';使用“BACKUP AS COPY”,RMAN拷贝文件作为image copies,数据库文件的bit-for-bit拷贝被创建在硬盘上,这是与你用操作系统的命令如在unix上的cp或者Windows上的copy拷贝的同样文件的拷贝是一样的,但使用“BACKUP AS COPY”副本将被记录在RMAN信息库和RMAN恢复操作可以使用他们。
VMware虚拟机数据迁移方案虚拟机数据迁移是指将虚拟机中的数据从一个主机迁移到另一个主机的过程。
VMware虚拟机数据迁移方案是指在VMware 虚拟化环境中,如何高效、安全地迁移虚拟机数据。
下面将详细介绍VMware虚拟机数据迁移方案。
首先,VMware虚拟机数据迁移可以通过VMotion和Storage vMotion两种方式实现。
VMotion是一种基于网络的虚拟机迁移技术,它可以在不停机的情况下将虚拟机从一个主机迁移到另一个主机,同时保持虚拟机的运行状态。
Storage vMotion是一种基于存储的虚拟机迁移技术,它可以将虚拟机的存储数据从一个存储设备迁移到另一个存储设备,同时保持虚拟机在同一主机上的运行状态。
其次,实施VMware虚拟机数据迁移方案需要按照以下步骤进行。
步骤一:规划虚拟机数据迁移计划。
在规划阶段,需要确定虚拟机迁移的目标主机和存储设备,并评估目标主机和存储设备的性能和容量。
此外,还需要考虑迁移的时间窗口和可能的风险,以确保迁移过程的顺利进行。
步骤二:准备迁移环境。
在准备阶段,需要确保源主机和目标主机之间的网络连接正常,并且目标主机上已经安装了相应的虚拟化软件。
此外,还需要在目标存储设备上创建足够的空间来存放虚拟机的数据。
步骤三:进行虚拟机迁移。
在迁移阶段,可以选择使用VMotion或Storage vMotion进行虚拟机迁移。
如果选择使用VMotion进行虚拟机迁移,需要将虚拟机的运行状态从源主机迁移到目标主机,并将虚拟机的内存、CPU和设备状态迁移到目标主机。
如果选择使用Storage vMotion进行虚拟机迁移,需要将虚拟机的存储数据从源存储设备迁移到目标存储设备,并在迁移过程中保持虚拟机的运行状态。
步骤四:验证迁移结果。
在验证阶段,可以使用VMware vSphere客户端或其他管理工具检查虚拟机迁移的结果。
可以检查虚拟机的运行状态、网络连接和存储设备的可访问性,以确保迁移过程的成功。
存储迁移方案1. 引言存储迁移是指将数据从一个存储设备迁移到另一个存储设备的过程。
在实际应用中,存储迁移方案可以用于数据中心搬迁、存储设备升级、数据备份等场景。
本文将介绍存储迁移的概念、常见的存储迁移方案以及一些建议和注意事项。
2. 存储迁移概述存储迁移是指将数据从一个存储设备复制到另一个存储设备的过程。
在存储迁移过程中,需要考虑数据的完整性、迁移的效率以及对业务的影响。
存储迁移包括以下几个步骤:•数据备份:将源存储设备中的数据进行备份,以确保在迁移过程中数据的安全性和完整性。
•数据复制:将备份的数据复制到目标存储设备。
•数据验证:对目标存储设备中的数据进行验证,确保数据的正确性和一致性。
•业务切换:将业务从源存储设备切换到目标存储设备,确保业务的连续性和可用性。
3. 常见的存储迁移方案3.1 基于网络传输的存储迁移基于网络传输的存储迁移方案是指通过网络将源存储设备中的数据复制到目标存储设备的过程。
常见的基于网络传输的存储迁移方案包括:•基于带宽控制的迁移:在迁移过程中,根据网络带宽的情况来控制数据传输的速度,以避免对正常业务的影响。
•基于增量数据的迁移:在第一次完整迁移之后,只传输源存储设备和目标存储设备之间的增量数据,以减少迁移时间和网络带宽的压力。
3.2 基于存储设备的迁移基于存储设备的迁移方案是指通过存储设备本身提供的迁移功能将数据从源存储设备复制到目标存储设备的过程。
常见的基于存储设备的迁移方案包括:•使用存储设备厂商提供的数据迁移工具:不同的存储设备厂商提供了各种各样的数据迁移工具,可以帮助用户快速完成存储迁移。
•使用存储虚拟化技术:存储虚拟化技术可以将不同厂商的存储设备抽象为一个统一的存储池,用户可以通过存储虚拟化管理软件来完成存储迁移。
4. 存储迁移的建议和注意事项在进行存储迁移时,需要考虑以下一些建议和注意事项:•提前规划:在进行存储迁移之前,需要提前规划好迁移的时间窗口、迁移的顺序以及迁移的步骤和流程。
如何将数据库从文件系统迁移到ASM存储里由于ASM磁盘组里的文件不能通过普通的操作系统命令访问,因此如果要将数据库从文件系统迁移到ASM磁盘组里,则必须通过RMAN。
注意,迁移之前,如果启用了闪回数据库功能,则需要先关闭闪回数据库功能。
将数据库整体迁移到ASM的过程如下所示(本数据库启用了归档):<!--[if !supportLists]-->1)<!--[endif]-->修改初始化参数control_files和Flash Recovery Area:SQL> alter database backup controlfile to '/u01/control.ctl';SQL> alter system set control_files='+DgroupA' scope=spfile;SQL> alter system set db_recovery_file_dest='+DgroupB';<!--[if !supportLists]-->2)<!--[endif]-->正常关闭数据库。
SQL> shutdown immediate;<!--[if !supportLists]-->3)<!--[endif]-->启动RMAN,并将数据库启动到nomount阶段。
[oracle@book ora10g]$ rman target /RMAN> startup nomount;<!--[if !supportLists]-->4)<!--[endif]-->恢复刚才备份的控制文件,由于我们设置了初始化参数control_files,将其指向了磁盘组DgroupA,因此恢复出来的控制文件会存放在DgroupA里。
RMAN> restore controlfile from '/u01/control.ctl';Starting restore at 18-OCT-07using target database control file instead of recovery catalogallocated channel: ORA_DISK_1……output filename=+DGROUPA/ora10g/controlfile/current.256.636273263Finished restore at 18-OCT-07<!--[if !supportLists]-->5)<!--[endif]-->将数据库mount起来。
在ASM磁盘组之间移动文件的首选方法是使用RMAN。
RMAN对于自动存储管理至关重要,负责跟踪ASM文件名以及删除过时的ASM文件。
由于无法通过正常的操作系统接口访问ASM文件,因此RMAN是复制ASM文件的首选方式。
注意:从12c开始,您可以使用ALTER DATABASE MOVE DATAFILE SQL语句来重命名或重新定位在线数据文件。
以下示例将数据文件从Oracle ASM的一个位置移动到另一个Oracle ASM 位置。
ALTER DATABASE MOVE DATAFILE '+dgroup_01/data/orcl/datafile/user1.dbf' TO '+dgroup_02/data/orcl/datafile/user1.dbf';移动数据文件从一个磁盘组到另一个磁盘组的步骤如下:1) 确定要移动的数据文件2) 确定要将文件移动到的目标磁盘组3) 将文件离线4) 使用RMAN或DBMS_FILE_TRANSFER将文件复制到新的磁盘组5) 重命名文件以指向新的位置6) 恢复文件7) 将文件上线8) 验证新文件的位置9) 删除原始位置的文件以下是详细过程:1)确定要移动的数据文件在数据库实例中执行SQL:ORCL> SELECT FILE_NAME FROM DBA_DATA_FILES:+ASMDSK2/orcl/datafile/users.256.565313879 <======= Move this to ASMDSK1.+ASMDSK1/orcl/sysaux01.dbf+ASMDSK1/orcl/undotbs01.dbf+ASMDSK1/orcl/system01.dbf2)确定要将文件移动到的目标磁盘组在ASM实例中执行SQL:ASM> SELECT GROUP_NUMBER, NAME FROM V$ASM_DISKGROUP;GROUP_NUMBER NAME------------ ---------1 ASMDSK13)将文件离线4)使用RMAN或DBMS_FILE_TRANSFER将文件复制到新的磁盘组方法一:使用DBMS_FILE_TRANSFER包SQL:ORCL>create or replace directory orcl1 as '+asmdsk1/orcl/datafile';SQL:ASM> Alter disgroup asmdsk2 add directory '+asmdsk2/test';SQL:ORCL> create or replace directory orcl2 as '+asmdsk2/test';SQL:ORCL>BEGINDBMS_FILE_TRANSFER.COPY_FILE(source_directory_object => 'ORCL1',source_file_name => 'users.259.565359071',destination_directory_object => 'ORCL2',destination_file_name => 'USERS01.DBF');END; Database altered.方法二:使用RMAN copy$ rman target system@orcl10target database Password:connected to target database: ORCL (DBID=1089529226)RMAN>RMAN> COPY DATAFILE '+ASMDSK2/orcl/datafile/users.256.565313879' TO '+ASMDSK1';Starting backup at 03-AUG-05using target database controlfile instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=146 devtype=DISKchannel ORA_DISK_1: starting datafile copyinput datafile fno=00004name=+ASMDSK2/orcl/datafile/users.256.565313879output filename=+ASMDSK1/orcl/datafile/users.259.565359071 tag=TAG20050803T121109 recid=2 stamp=565359071channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03Finished backup at 03-AUG-055)重命名文件以指向新的位置6)恢复文件7)将文件上线8)验证新文件的位置9)删除原始位置的文件注意:大多数自动存储管理文件不需要手动删除,因为作为Oracle管理的文件,当它们不再需要时会被自动移除。
异构存储虚拟化迁移方案异构存储虚拟化迁移方案主要利用存储异构虚拟化和特定功能,如华为的SmartMigration,将源存储中的数据迁移到目标存储。
具体步骤包括:1.接管源存储:通过异构虚拟化功能接管源存储。
2.数据迁移:通过SmartMigration功能进行在线数据迁移,迁移完成后将源存储在线退出出网。
此外,还有其他一些步骤需要注意,包括:1.LUN(逻辑单元号)分配:为虚拟主机服务器分配LUN,并扫描新的存储设备。
2.VM(虚拟机)配置:在VM中添加裸机映射磁盘LUN,并进行默认设置。
3.软件安装:在VM上安装CDP(持续数据保护)软件,并重启VM,添加软件相关的序列号。
4.数据备份:完成从源磁盘到裸磁盘的数据备份操作。
5.VM关闭与删除:关闭VM,并在VM上删除裸映射的磁盘LUN。
6.新VM创建与启动:新建虚拟机,添加裸映射磁盘LUN以启动系统(显示还原模式)。
7.LUN划分与分配:在目标存储上划分一个大LUN给虚拟主机服务器,并从大LUN分配磁盘给刚启动的系统,格式化分配的新磁盘。
8.数据恢复:完成从源裸磁盘到新LUN的数据还原操作。
9.重启与完成:重启系统,使用备份磁盘启动,完成整个系统的业务数据迁移。
这个方案的优势在于它可以在不中断业务的情况下进行数据的在线迁移,从而提高了数据迁移的效率和灵活性。
同时,它也支持跨平台的迁移,使得不同虚拟化平台之间的数据迁移成为可能。
但请注意,具体的迁移方案可能会因具体的业务需求、源存储和目标存储的类型、以及所使用的虚拟化技术等因素而有所不同。
因此,在实施任何迁移方案之前,都应该进行详细的规划和测试,以确保迁移的成功和数据的完整性。
数据库更换存储迁移方案生产数据库环境数据库版本: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=allLUN映射到ORACLE1.编辑/etc/udev/rules.d/50-udev.rules文件,添加新存储映射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备份数据1.开启数据库归档,启动到mount下,alter database archivelog2.备份参数文件c reate pfile=’/home/oracle/backup/init.ora’ from spfile;3.备份数据库export ORACLE_SID= zgdb1rman target / log='/tmp/rman_full.log' append <<EOFrun{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 databaseformat '/home/oracle/backup/full_%d_%T_%s_%p';backup current controlfile format '/home/oracle/backup/ctl_%d_%T_%s_%p';}EOF4.备份密码文件cp $ORACLE_HOME/dbs/initpwzgdb1 /home/oracle/backup/5.数据库还原startup pfile=’/home/oracle/backup/init.ora’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=zgdb.dmp logfile=expdp.log schemas=hsman exclude=statistics cluster=n parallel=8;4.恢复数据impdp system/oracle directory=backup dumpfile=zgdb.dmp logfile=impdp.log schemas=hsman cluster=n parallel=8ASM迁移详细步骤集群迁移实施步骤1.grid用户下,使用asmca添加新的ASM组ocrvoting,3个10G LUN,采用normal方式;2.grid用户下,添加votediskcrsctl query css votediskcrsctl replace votedisk ocrvotingcreate pfile='/home/grid/asmpfile.ora' from spfile;create spfile='+ocrvoting' from pfile='/home/grid/asmpfile.ora';3.root用户下迁移ocrocrcheckocrconfig -add +ocrvotingocrconfig -replace +vocrvoting -replacement +crsdgocrconfig -delete +crsdgsqlplus / as sysasmalter diskgroup crsdg dismount;drop diskgroup crsdg including contents;4.检查votedisk和ocr状态crsctl query css votediskocrcheck数据迁移实施步骤1.查看数据磁盘状态sqlplus / as sysdbacol GROUP_NUMBER format 99col state format a10col name format a15col path format a20col failgroup format a20set line 200select 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磁盘的分布。
ASM是10g版本后oracle大力推荐的一种数据文件存储方式,也是以后的一个重点方向.尽管现在asm在稳定性和一些操作上还存在不少问题,但已经有越来越多的企业把核心系统部署架构到上面.
本文重点不在于探讨ASM的优劣问题,爱青菜与爱白菜的人总有自己的理由支持自己的喜好.
朋友有套系统需要更换存储,数据库文件部署在asm上,需要尽量短的停机时间完成此次存储更换。
由于不涉及异构的迁移转换,迁移起来也不难,无需借助三方的工具来完成这次高可用切换.当然,ASM下的一些特性也为我们做迁移提供了更多的选择方案.
针对该环境,列几种选择方案(以下操作都在新存储已挂载在主机上的情况下).
1.利用ASM的热添加和删除磁盘的方式完成存储迁移.
该方案充分发挥了asm管理磁盘数据的能力.
简要步骤:
(1).划分raw或者asm disk,并检查或更改asm参数,例如asm_disktring,使得新存储的asm disk对ASM实例可识别
(2).将新存储disk添加到现有的asm diskgroup中.
SQL>alter diskgroup < asm_group_name > add disk '< asm_disk_path >';
(3).删除旧存储对应的asm disk
SQL>alter diskgroup < asm_group_name > drop disk < asm_disk_name >;
注意:以上2步,通过观察v$asm_operation视图来判断数据重组的进度,注意删除disk的时候,确保整个diskgroup有足够的空间。
如果asm disk比较多,可以一个一个的分步执行减缓系统压力.有点可惜的是,在10g版本中,oracle 不支持asm diskgroup冗余类型的转换, 也没有直接提供删除failgroup的方法,否则以添加镜像failgroup的方式来完成这次数据迁移,个人觉得有更强的可控性和更低的风险.
优缺点:
该方案可以实现迁移过程中系统的零停机,但整个操作进度不可控,数据重组过程中我们无法把握进度和风险,如果你对ASM产品足够信任,该方案不失一用
2.利用Switch copy的方式完成存储迁移
Switch copy并不是只能在ASM下才能用,但asm对数据文件的管理使得switch copy变得异常简单,免去了手工输入大量脚本的工作。
简要步骤:
(1).在新存储上创建新的diskgroup
SQL>create diskgroup < asm_group_name > external redundancy disk '< asm_disk_path >';
(2).整库在线backup copy到新diskgroup上
RMAN> backup as copy database format '+< asm_group_name >';
(3).修改参数文件control_files,停db并启动到nomount状态,迁移
controlfile到新diskgroup,mount做switch copy
1.RMAN>restore controlfile from '+< old_asm_diskgroup_name >/...';
2.RMAN>alter database mount;
3.RMAN> switch database to copy;
4.RMAN> recover database;
5.RMAN>alter database open;
(4).迁移temp和logfile
在新diskgoup上创建新的temp表空间;添加新logfile到新diskgroup,删
除旧的temp、logfile.
(5).其他善后
修改db_create_file_dest、db_create_online_log_dest_*、
archive_log_dest_*等参数/卸载旧diskgroup等
注意:需要注意保留日志的完整性,从backup copy开始到switch copy这段时间的归档日志/在线日志不能丢失,recover需要这部分日志,recover的时间决定了整个迁移的停机时间.
优缺点:
该方案风险可控,但需要评估从backup copy开始到switch copy这段时间的日志生成量,如果这段时间窗产生了大量的日志(有可能backup过程比较久而且db一直很忙,有很多事务和日志产生,或者 backup之后并不是马上做switch,这期间也产生了很多日志),那势必会增加迁移过程的停机时间.如果这段时间日志生成量有限,整个停机时间也会相当短.
3.一般方法:
利用物理datagurd等.
该方案风险最小,失败最容易回退.操作上整个停机时间一般不会超过10分钟.。