利用RMAN转移数据文件

将数据文件从文件系统转移为裸设备,很简单,记录一下操作。

1. 从v$datafile中找到需要转换的数据文件file#
2. 从dba_data_files中找到数据文件所在的表空间名称,因为restore之前要将相关表空间offline才可以
3. 创建好相应的目的裸设备
4. 数据库必须处于归档状态

在RMAN中运行如下命令:

run{
sql “alter tablespace ADMASDB_DEFAULT offline”;
allocate channel d1 TYPE DISK;
set newname for datafile 136 to ‘/home/oracle/oradata/admas/roralv08’;
set newname for datafile 164 to ‘/home/oracle/oradata/admas/roralv5G_3’;
restore datafile 136;
restore datafile 164;
switch datafile all;
recover datafile 136;
recover datafile 164;
sql “alter tablespace ADMASDB_DEFAULT online”;
}

6 Comments Add yours

  1. says:

    请教RMAN

  2. says:

    请教RMAN备份时备份时system01.d错误“超出损坏块限制0 ,ora-19583”,请问如何修复才能backup?
    恳请赐教!

  3. kamus says:

    1. 用dbv检查坏块
    2. 如果有以前的rman备份,尝试block recover
    3. 如果没有,尝试设置rman里面的maxcorrupt参数,允许跳过坏块备份

  4. says:

    非常感谢。真是个热心的大虾。
    再问一个问题:
    在oracle9i中怎么样移动system01.dbf到其他位置?

  5. kamus says:

    1. shutdown数据库
    2. 启动到mount状态
    3. 把system01.dbf在操作系统级别转移到其它位置
    4. alter database rename datafile修改控制文件中的指向
    5. 启动数据库

  6. says:

    谢谢!

Leave a Reply

Your email address will not be published. Required fields are marked *