ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用RMAN迁移表空间碰到的问题(二)

利用RMAN迁移表空间碰到的问题(二)

原创 Linux操作系统 作者:zhengbao_jun 时间:2009-04-23 16:40:07 0 删除 编辑

尝试10.2的新特性RMANTRANSPORT TABLESPACE进行表空间的迁移过程,其中碰到了不少问题,简单总结一下。

这一篇介绍TRANSPORT TABLESPACE命令碰到的RMAN-20202错误。

利用RMAN迁移表空间碰到的问题(一):http://yangtingkun.itpub.net/post/468/480070

 

 

这个错误可能是比如容易碰到的一个错误:

bash-2.03$ rman target /

恢复管理: Release10.2.0.3.0 - Production on星期五19 01:42:22 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到目标数据库: TESTRAC (DBID=4291216984)

RMAN> RUN
q)g#p2D4ad2355072> {ITPUB个人空间zwo3_5@a]K
3> ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/data1/backup/%U';ITPUB个人空间["LZ|D P]#F
4> TRANSPORT TABLESPACE "TEST" DATAPUMP DIRECTORY D_OUTPUTITPUB个人空间@Qv%BgBW%a#O`
5> AUXILIARY DESTINATION '/data1/backup'
(O1L"bK'px cR2355076> DUMP FILE 'test_meta.dp' EXPORT LOG 'test_meta.log' IMPORT SCRIPT. 'test_imp.src'ITPUB个人空间*WNT/Z&i sk
7> TABLESPACE DESTINATION '/data1/oradata/test/test';
1[e5l*Ox:vp!q2355078> }

使用目标数据库控制文件替代恢复目录
vH0^/L-P/eK/eD235507
分配的通道: C1
C~+{(g,HKU235507
通道C1: sid=285实例=testrac2 devtype=DISK

RMAN-05026:警告:假定以下表空间集适用于指定的时间点

表空间列表要求具有UNDOITPUB个人空间0Y&E-[N2su!P
表空间SYSTEMITPUB个人空间^2vK/l[
表空间UNDOTBS1ITPUB个人空间(hy2{XkEHgl.E;qch
表空间UNDOTBS2

使用SID='cmja'创建自动实例

供自动实例使用的初始化参数:
0P%BD,J e(i235507db_name=TESTRACITPUB个人空间N^ g uw:pG
compatible=10.2.0.1.0ITPUB个人空间$S.B(h?+F~ u3[5P'Z8r.D
db_block_size=8192ITPUB个人空间 cosm#G7~
db_files=200
:x#ZUfQ"X5x235507db_unique_name=tspitr_TESTRAC_cmjaITPUB个人空间B/z h,q:\d_
large_pool_size=1M
!ssJc0F/^Wt u6Gf}5@235507shared_pool_size=110MITPUB个人空间n!B,bC[ LN&eB:j5C#UG
#No auxiliary parameter file used
x:j:D$NE;u235507db_create_file_dest=/data1/backup
|r gM2WD-e235507control_files=/data1/backup/cntrl_tspitr_TESTRAC_cmja.f


.\/e e{;~'xJ235507
启动自动实例TESTRAC

Oracle实例已启动

系统全局区域总计     205520896字节

Fixed Size                     2028912字节
.C%L6SF`.FI-^235507Variable Size                146803344
字节ITPUB个人空间v(AHha
Database Buffers              50331648
字节
BvC!v%W7n`P235507Redo Buffers                   6356992
字节ITPUB个人空间+d.t"P [z\"E
自动实例已创建

删除自动实例ITPUB个人空间7rR t$Q {:V*g-F
关闭自动实例ITPUB个人空间!S0pW\4{ yTz
Oracle
实例已关闭ITPUB个人空间 T}:iGm7f8s
自动实例已删除
y0W8pN.R235507
释放的通道: C1ITPUB个人空间?(N.|4_t AO)@&p,I
MAN-00571: ===========================================================
.rpd MW%^W235507RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============ITPUB个人空间'o(m o[#j&hT"Bv
RMAN-00571: ===========================================================
0G#]x5c{$v235507RMAN-03002: tranport tablespace
命令(01/09/2009 02:00:13)失败ITPUB个人空间 i'KV f eW4\)Y
RMAN-20202:
在恢复目录中未找到表空间ITPUB个人空间h#xu1I{Y)Kd
RMAN-06019:
无法转换表空间名称"TEST"

其实这个错误也很简单,就是RMAN在尝试执行表空间及时点恢复的时候,发现还原操作所需要的表空间在当前数据库备份中无法找到。

Oracle执行的这个表空间及时点恢复是一个数据库级的恢复,并非只需要目标表空间的备份。

除了目标表空间的备份以外,RMAN还需要SYSTEMSYSAUX以及UNDO表空间的备份,如果任意一个表空间的备份不存在,则就会导致上面的错误。

所以在执行TRANSPORT TABLESPACE命令之前,应该首先检查上面的表空间备份是否存在,如果不存在的话,应该首先执行备份操作。

其实RMAN完全可以设置的更加只能一些,因为备份对于RMAN是在简单不过的事情,如果发现个别表空间的备份不存在,RMAN完全可以先对所需的表空间进行备份,等到所有的备份完成后,在设置恢复的SCN到当时的系统SCN,然后执行表空间及时点的恢复。

如果对于产品环境而言,数据库的备份肯定不成问题,对于测试环境没有备份的情况,可以考虑先备份整个数据库,然后在执行TRANSPORT TABLESPACE命令。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/235507/viewspace-591589/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-08

  • 博文量
    209
  • 访问量
    865832