ASM 磁盘组也可以当成AIX的VG来用
作者:八神 | 分类: 大话技术 | 标签: 大话技术 | 日期:2008-07-21
当多台AIX连接相同的SAN存储时,存储lun可以同时输出到各个主机,这样VG可以在各个主机自由的切换,
为拷贝转移文件提供了极大的便利,现在发现ASM也可以这么做
我们的RAC环境是4个linux接点加一个linux standby
存储输出是4个lun ,disk[1,2,3,4],每个512G,每个lun都同时输出到5台主机,
其中disk1,disk2作为4个RAC接点的共享磁盘,做了裸设备,并创建了asm磁盘组 mydiskgroup
disk3,disk4作为standby的磁盘,也做了asm磁盘组 diskgroupstb
现在rac里面已经导入了点数据,数据库有400G,要做standby,走网络拷贝到备机上感觉太慢了,就试了下上面的想法
1.备机上卸载磁盘组diskgroupstb
@>shutdown immediate;
ASM diskgroups dismounted
ASM instance shutdown
2.4个rac接点的ASM参数文件修改asm_diskstring
@>alter system set asm_diskstring=’/opt/oracle/oradata/myasm/disk[1,2,3,4]‘ scope = spfile;
System altered.
3.重起asm,并挂上diskgroupstb
@>startup force;
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2143704 bytes
Variable Size 256621096 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
@>show parameter string
NAME TYPE VALUE
———————————— ———– ——————————
asm_diskstring string /opt/oracle/oradata/myasm/disk
[1,2,3,4]
@>alter diskgroup diskgroupstb mount;
Diskgroup altered.
ASMCMD> ls -l
State Type Rebal Name
MOUNTED EXTERN N DISKGROUPSTB/
MOUNTED EXTERN N MYDISKGROUP/
4.开始备份
alter database create standby controlfile as ‘+DISKGROUPSTB/datafile/control01.ctl’;
run
{
copy datafile ‘+MYDISKGROUP/datafile/system01.dbf’ to ‘+DISKGROUPSTB/datafile/system01.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/sysaux01.dbf’ to ‘+DISKGROUPSTB/datafile/sysaux01.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/undotbs01.dbf’ to ‘+DISKGROUPSTB/datafile/undotbs01.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/undotbs2.dbf’ to ‘+DISKGROUPSTB/datafile/undotbs2.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/undotbs3.dbf’ to ‘+DISKGROUPSTB/datafile/undotbs3.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/undotbs4.dbf’ to ‘+DISKGROUPSTB/datafile/undotbs4.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/tbs_big_test.dbf’ to ‘+DISKGROUPSTB/datafile/tbs_big_test.dbf’ ;
copy datafile ‘+MYDISKGROUP/datafile/tbs_statspack01.dbf’ to ‘+DISKGROUPSTB/datafile/tbs_statspack01.dbf’;
copy datafile ‘+MYDISKGROUP/datafile/tbs_test_sunwg.dbf’ to ‘+DISKGROUPSTB/datafile/tbs_test_sunwg.dbf’ ;
}
两个接点同时做rman,速度大概有300M/S,这个比起网络传输,可是快的多了
5.拷贝完成,RAC接点全部dismount掉diskgroupstb
@>alter diskgroup diskgroupstb dismount;
Diskgroup altered.
6.回到备机,挂上diskgroupstb,standby就可以直接启动了
@>startup;
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2143704 bytes
Variable Size 256621096 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
[oracle@hack5 dbs]$ asmcmd
ASMCMD> ls -l
State Type Rebal Name
MOUNTED EXTERN N DISKGROUPSTB/
ASMCMD> cd DISKGROUPSTB
ASMCMD> ls -l
Type Redund Striped Time Sys Name
Y SWORD/
N archive/
N datafile/
ASMCMD> cd datafile
ASMCMD> ls -l
Type Redund Striped Time Sys Name
N control01.ctl => +DISKGROUPSTB/SWORD/CONTROLFILE/Backup.256.660528811
N sysaux01.dbf => +DISKGROUPSTB/SWORD/DATAFILE/SYSAUX.258.660528931
N system01.dbf => +DISKGROUPSTB/SWORD/DATAFILE/SYSTEM.257.660528893
N tbs_big_test.dbf => +DISKGROUPSTB/SWORD/DATAFILE/TBS_BIG_TEST.264.660530865
N tbs_statspack01.dbf => +DISKGROUPSTB/SWORD/DATAFILE/TBS_STATSPACK.265.660532623
N tbs_test_sunwg.dbf => +DISKGROUPSTB/SWORD/DATAFILE/TBS_TEST_SUNWG.260.660529175
N undotbs01.dbf => +DISKGROUPSTB/SWORD/DATAFILE/UNDOTBS1.259.660528967
N undotbs2.dbf => +DISKGROUPSTB/SWORD/DATAFILE/UNDOTBS2.261.660529203
N undotbs3.dbf => +DISKGROUPSTB/SWORD/DATAFILE/UNDOTBS3.262.660530331
N undotbs4.dbf => +DISKGROUPSTB/SWORD/DATAFILE/UNDOTBS4.263.660530599
ASMCMD>
alter database add standby logfile group 17 ‘+DISKGROUPSTB/datafile/redostb01.log’ size 512M;
alter database add standby logfile group 18 ‘+DISKGROUPSTB/datafile/redostb02.log’ size 512M;
alter database add standby logfile group 19 ‘+DISKGROUPSTB/datafile/redostb03.log’ size 512M;
alter database add standby logfile group 20 ‘+DISKGROUPSTB/datafile/redostb04.log’ size 512M;
@>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
Database altered.
@>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.
@>ALTER DATABASE OPEN READ ONLY;
Database altered.
@>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
Database altered.



asm 就是一个套了马甲的的lvm 和一个cluster 文件系统
diskgroup 就是vg
file 就是lv
hoterran @ July 21, 2008 |
不错的,我想过这样应该是可行的,不过没测过。你们这么一测又给我们迁移数据提供了一些思路。
blue_prince @ July 21, 2008 |
不错,顶,顶!!
vogts @ July 21, 2008 |
按照hoterran说的,ASM确实是套了个马甲,这样做的话即使standby只有一个接点,发生故障的时候,只要RAC的机器不坏,都是可以作到迅速接管的,不用担心什么切换到standby了撑不住应用的压力
八神 @ July 22, 2008 |
对于不同存储用asm add disk ,drop diks 来reblance 迁移数据也是不错的
hoterran @ July 24, 2008 |
很不错的想法和做法!活学活用了!很好的思路!
Rain@DNA @ July 30, 2008 |
不错,很好的创意!
battleman @ August 19, 2008 |