【rman】异机恢复——目录不同--set newname datafile

今天想要做下异机恢复,由于原库与现库的目录不同,所以要转换一下。脑中第一反应就是db_file_name_convert,可是设置好这个参数之后发现不行,restore根本没有转换,还会报错:

channel ORA_DISK_1: reading from backup piece /orabak/oracle_bak/fullrac_EPTDB_821_1_20130802
ORA-19870: error reading backup piece /orabak/oracle_bak/fullrac_EPTDB_821_1_20130802
ORA-19504: failed to create file "/dev/rrac_lv02_20g"
ORA-27040: file create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied


于是查了下db_file_name_convert这个参数。

DB_FILE_NAME_CONVERT

PropertyDescription
Parameter typeString
SyntaxDB_FILE_NAME_CONVERT = 'string1' , 'string2' , 'string3' , 'string4' , ...

Where:

  • string1 is the pattern of the primary database filename

  • string2 is the pattern of the standby database filename

  • string3 is the pattern of the primary database filename

  • string4 is the pattern of the standby database filename

You can use as many pairs of primary and standby replacement strings as required. You can use single or double quotation marks.

The following are example settings that are acceptable:

DB_FILE_NAME_CONVERT = '/dbs/t1/','/dbs/t1/s_','dbs/t2/ ','dbs/t2/s_'

Default valueThere is no default value.
ModifiableALTER SESSION
BasicNo

DB_FILE_NAME_CONVERT is useful for creating a duplicate database for recovery purposes. It converts the filename of a new datafile on the primary database to a filename on the standby database. If you add a datafile to the primary database, you must add a corresponding file to the standby database. When the standby database is updated, this parameter converts the datafile name on the primary database to the datafile name on the standby database. The file on the standby database must exist and be writable, or the recovery process will halt with an error.

If you specify an odd number of strings (the last string has no corresponding replacement string), an error is signalled during startup. If the filename being converted matches more than one pattern in the pattern/replace string list, the first matched pattern takes effect. There is no limit on the number of pairs that you can specify in this parameter (other than the hard limit of the maximum length of multivalue parameters).

Set the value of this parameter to two strings. The first string is the pattern found in the datafile names on the primary database. The second string is the pattern found in the datafile names on the standby database.

You can also use DB_FILE_NAME_CONVERT to rename the datafiles in the clone control file when setting up a clone database during tablespace point-in-time recovery.

可以看出,这个参数只能在建立备库使用,在做异机恢复时该参数不起作用。


于是只能用set newname datafile 1 to ‘…’;之后再restore,restore之后需要switch datafile all;
run
{      
set newname for datafile 1 to '/ora/oradata/eptdb/rrac_system_2g';
set newname for datafile 2 to '/ora/oradata/eptdb/rrac_undo1_5g';
restore database;
switch datafile all;


操作成功,没有报错!








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>