您的位置:首页 > 其它

11g Rman新特性SET NEWNAME

2013-04-16 09:22 513 查看
曾经写过一篇关于如何将RAC的备份异地恢复到单点上的实验过程,连接如下:
http://blog.csdn.net/jyjxs/article/details/8727492
其中用到了RMAN的SET NEWNAME选项,在10g中针对每个数据文件都要set newname一下,如果数据文件多达上百个可能就要晕菜了!

前几天偶然翻看文档发现11g新特性,可以根据表空间set newname。

RMAN支持下列命令列出的优先顺序:

1、SET NEWNAME FOR DATAFILE and SET NEWNAME FOR TEMPFILE

2、SET NEWNAME FOR TABLESPACE

3、SET NEWNAME FOR DATABASE

也就是说不光支持表空间的重新制定,还包括数据文件及整个数据库的重新制定。

————————————————————————————————————————————

变量 概述

—————————————————————————————————————————————

%b 指定的文件名 ​​的目录路径中剥离。例如,如果一个数据文件被命名为/ ORADATA /prod/ financial.dbf,%b可以代表financial.dbf结果。

%f 指定新的名称生成的数据文件的绝对文件号。例如,如果被复制的数据是文件2,然后%F产生的值为2。

%I 指定DBID

%N 指定表空间名称

%U 指定的格式如下:data-D-%d_id-%I_TS-%N_FNO-%f

————————————————————————————————————————————

一、使用SET NEWNAME制定新的文件名:

RUN

{

SET NEWNAME FOR DATAFILE 1 TO '/oradata1/system01.dbf';

SET NEWNAME FOR DATAFILE 2 TO '/oradata2/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 3 TO '/oradata3/undotbs01.dbf';

SET NEWNAME FOR DATAFILE 4 TO '/oradata4/users01.dbf';

SET NEWNAME FOR DATAFILE 5 TO '/oradata5/users02.dbf';

SET NEWNAME FOR TEMPFILE 1 TO '/oradatat/temp01.dbf';

DUPLICATE TARGET DATABASE TO dupdb

SKIP TABLESPACE tools

LOGFILE

GROUP 1 ('/duplogs/redo01a.log',

'/duplogs/redo01b.log') SIZE 4M REUSE,

GROUP 2 ('/duplogs/redo02a.log',

'/duplogs/redo02b.log') SIZE 4M REUSE;

}

二、使用SET NEWNAME制定新的表空间和新的文件名

RUN

{

SET NEWNAME FOR TABLESPACE USERS TO '/ ORADATA%f /%b';

SET NEWNAME FOR DATAFILE 1 TO '/ oradata1/system01.dbf ';

SET NEWNAME FOR DATAFILE 2 TO '/ oradata2/sysaux01​​.dbf ' ;

SET NEWNAME FOR DATAFILE 3 TO '/ oradata3/undotbs01.dbf ';

SET NEWNAME FOR TEMPFILE 1 TO '/ oradatat/temp01.dbf ';

DUPLICATE TARGET DATABASE TO dupdb

SKIP TABLESPACE tools


LOGFILE

GROUP 1('/ duplogs/redo01a.log ',

'/ duplogs/redo01b.log')SIZE 4M REUSE,

GROUP 2('/ duplogs/redo02a.log ',

' / duplogs/redo02b.log')SIZE 4M REUSE;

}

三、使用SET NEWNAME制定新的数据库

RUN

{

SET NEWNAME FOR DATABASE '/ ORADATA /%U';

DUPLICATE TARGET DATABASE TO dupdb

SKIP TABLESPACE tools


LOGFILE

GROUP 1('/ duplogs/redo01a.log',

'/ duplogs/redo01b.log)SIZE 4M REUSE,

GROUP 2('/ duplogs/redo02a.log',

' / duplogs/redo02b.log')SIZE 4M REUSE;

}

下表为SET NEWNAME FOR database转换后的结果:

变换前的文件名表空间名数据文件号转换为'/oradata/%U'格式后的结果
.../system01.dbf


SYSTEM

1

/oradata/data-D-PROD_id-87650928_TS-SYSTEM_FNO-1

.../sysaux01.dbf

SYSAUX

2
/oradata/data-D-PROD_id-87650928_TS-SYSAUX_FNO-2

.../undotbs01.dbf

UNDOTS

3
/oradata/data-D-PROD_id-87650928_TS-UNDOTS_FNO-3

.../users01.dbf

USERS

4
/oradata/data-D-PROD_id-87650928_TS-USERS_FNO-4

.../users02.dbf

USERS

5
/oradata/data-D-PROD_id-87650928_TS-USERS_FNO-5

.../temp01.dbf

TEMP

1
/oradata/data-D-PROD_id-87650928_TS-TEMP_FNO-1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: