ITPub博客

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

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

原创 Linux操作系统 作者:yangtingkun 时间:2009-03-13 23:03:19 0 删除 编辑

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

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

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

 

 

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

bash-2.03$ rman target /

恢复管理器: Release 10.2.0.3.0 - Production on 星期五 1 9 01:42:22 2009

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

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

RMAN> RUN
2> {
3> ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/data1/backup/%U';
4> TRANSPORT TABLESPACE "TEST" DATAPUMP DIRECTORY D_OUTPUT
5> AUXILIARY DESTINATION '/data1/backup'
6> DUMP FILE 'test_meta.dp' EXPORT LOG 'test_meta.log' IMPORT SCRIPT. 'test_imp.src'
7> TABLESPACE DESTINATION '/data1/oradata/test/test';
8> }

使用目标数据库控制文件替代恢复目录
分配的通道: C1
通道 C1: sid=285 实例=testrac2 devtype=DISK

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

表空间列表要求具有 UNDO
表空间 SYSTEM
表空间 UNDOTBS1
表空间 UNDOTBS2

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

供自动实例使用的初始化参数:
db_name=TESTRAC
compatible=10.2.0.1.0
db_block_size=8192
db_files=200
db_unique_name=tspitr_TESTRAC_cmja
large_pool_size=1M
shared_pool_size=110M
#No auxiliary parameter file used
db_create_file_dest=/data1/backup
control_files=/data1/backup/cntrl_tspitr_TESTRAC_cmja.f


启动自动实例 TESTRAC

Oracle 实例已启动

系统全局区域总计     205520896 字节

Fixed Size                     2028912 字节
Variable Size                146803344
字节
Database Buffers              50331648
字节
Redo Buffers                   6356992
字节
自动实例已创建

删除自动实例
关闭自动实例
Oracle
实例已关闭
自动实例已删除
释放的通道: C1
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: tranport tablespace
命令 ( 01/09/2009 02:00:13 ) 失败
RMAN-20202:
在恢复目录中未找到表空间
RMAN-06019:
无法转换表空间名称"TEST"

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

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

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

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

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

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

 

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10437590