当前位置:编程学习 > 网站相关 >>

迁移ASM文件之backup as copy tablespace

在Oracle 10g数据库中,如果需要将ASM实例中一个磁盘组的数据文件转移到另一个磁盘组上。可以采用以前传统的文件系统的方式迁移,也可以采用表空间级别拷贝的方式迁移。
例如有一个库sdb,users表空间的数据文件都在vg1磁盘组上,现在要移动vg2磁盘组上,这样操作一下就能完成这个任务。
backup as copy tablespace users format '+vg2';
switch tablespace users to copy;
这两个命令需要在rman下操作,因为只有rman下才能管理ASM磁盘组中的文件。
 
 
测试环境为oracle 10.2.0.4 for linux x86,以下为测试过程。
 
第一步,检查环境,确认users表空间,并将数据库重启到mounted状态。
 
[oracle@db-172-17-2-8 bdump]$ export ORACLE_SID=sdb
[oracle@db-172-17-2-8 bdump]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Feb 19 16:47:13 2013
 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> select name from v$tablespace
  2  ;
 
NAME
------------------------------
USERS
UNDOTBS1
SYSTEM
SYSAUX
OFCARDQUERY
TEMP
 
6 rows selected.
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
 
Total System Global Area 1610612736 bytes
Fixed Size                  2084296 bytes
Variable Size             385876536 bytes
Database Buffers         1207959552 bytes
Redo Buffers               14692352 bytes
Database mounted.
 
第二步,使用rman工具copy表空间,再switch。这个switch操作完成了数据字典的修改。
 
[oracle@db-172-17-2-8 bdump]$ rman target /
 
Recovery Manager: Release 10.2.0.4.0 - Production on Tue Feb 19 16:48:20 2013
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
connected to target database: SDB (DBID=2245827732, not open)
 
RMAN>  backup as copy tablespace users format '+vg2';
 
Starting backup at 19-FEB-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=151 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00005 name=+VG1/sdb/users02.dbf
output filename=+VG2/sdb/datafile/users.285.807814137 tag=TAG20130219T164857 recid=17 stamp=807814139
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile fno=00004 name=+VG1/sdb/users01.dbf
output filename=+VG2/sdb/datafile/users.284.807814141 tag=TAG20130219T164857 recid=18 stamp=807814141
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 19-FEB-13
 
RMAN>  switch tablespace users to copy;
 
datafile 4 switched to datafile copy "+VG2/sdb/datafile/users.284.807814141"
datafile 5 switched to datafile copy "+VG2/sdb/datafile/users.285.807814137"
 
RMAN> recover database;
 
Starting recover at 19-FEB-13
using channel ORA_DISK_1
 
starting media recovery
media recovery complete, elapsed time: 00:00:00
 
Finished recover at 19-FEB-13
 
 
第三步,open数据库,检查一下。
 
[oracle@db-172-17-2-8 bdump]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Feb 19 16:49:51 2013
 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> alter database open;
 
Database altered.
 
SQL> select name from v$datafile;
 
NAME
--------------------------------------------------------------------------------
+VG1/sdb/system01.dbf
+VG1/sdb/undotbs01.dbf
+VG1/sdb/sysaux01.dbf
+VG2/sdb/datafile/users.284.807814141
+VG2/sdb/datafile/users.285.807814137
+VG1/sdb/ofcardquery01.dbf
 
6 rows selected.
 
SQL> 
 
从结果中,我们可以看到users表空间的两个数据文件已经移动vg2中了。再到ASM实例下rm掉原来的users表空间所属的文件,就最终完成了这个迁移工作。
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,