谢谢楼上指点。 我现在在做数据库的克隆,但是现在出现一个这样的问题,请再帮我看一下,谢谢。 我执行下面的脚本: run { set newname for datafile 1 to '/opt/oradata/orc_clone/system01.dbf'; set newname for datafile 2 to '/opt/oradata/orc_clone/undotbs01.dbf'; set newname for datafile 3 to '/opt/oradata/orc_clone/sysaux01.dbf'; set newname for datafile 4 to '/opt/oradata/orc_clone/users01.dbf'; set newname for datafile 5 to '/opt/oradata/orc_clone/rman_data.dbf'; duplicate target database to orcclone logfile '/opt/oradata/orc_clone/redo01.log' size 10M, '/opt/oradata/orc_clone/redo02.log' size 10M, '/opt/oradata/orc_clone/redo03.log' size 10M; }结果报错: executing command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting Duplicate Db at 15-MAY-09 using channel ORA_AUX_DISK_1 using channel ORA_AUX_DISK_2 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 05/15/2009 03:02:31 RMAN-05501: aborting duplication of target database RMAN-05517: temporary file /opt/oradata/orc_test/temp01.dbf conflicts with file used by target database上面说我的temp文件冲突,我不是很理解这个意思。请指教一下。
我现在改成这样: run { set newname for datafile 1 to '/opt/oradata/orc_clone/system01.dbf'; set newname for datafile 2 to '/opt/oradata/orc_clone/undotbs01.dbf'; set newname for datafile 3 to '/opt/oradata/orc_clone/sysaux01.dbf'; set newname for datafile 4 to '/opt/oradata/orc_clone/users01.dbf'; set newname for datafile 5 to '/opt/oradata/orc_clone/rman_data.dbf'; set newname for tempfile 1 to '/opt/oradata/orc_clone/temp01.DBF'; duplicate target database to orcclone logfile '/opt/oradata/orc_clone/redo01.log' size 10M, '/opt/oradata/orc_clone/redo02.log' size 10M, '/opt/oradata/orc_clone/redo03.log' size 10M; }就可以运行成功了。但是我使用SQLPLUS SYS/ORACLE@ORC_CLONE AS SYSDBA却连接不上去,这个是怎么回事啊。还有,我想请问一下,db_file_name_convert需要设置成什么值?
sorry,可以连接上了,刚才是我的ORACLE_SID设置不对,克隆数据库在执行完以上脚本就已经打开了。 但是我还是对db_file_name_convert这个参数有点疑问,查找资料是这样的解释: DB_FILE_NAME_CONVERT 用来创建一个以恢复为目的的备用数据库,它转换主数据库上的数据文件的文件名到备用数据库上的文件名,如果你在主数据库上添加了一个数据文件,你必须在备用数据库上添加相应的文件 string1 is the pattern of the primary database filenamestring2 is the pattern of the standby database filename请指点一下,谢谢。
SET ORACLE_SID=ORC_CLONE在使用连接:
sqlplus sys/oracle as sysdba我发现我连接的数据库还是原先的服务ORC_TEST,这是怎么回事呢,而且我也重新生成了PFILE和SPFILE文件,请教。
我现在在做数据库的克隆,但是现在出现一个这样的问题,请再帮我看一下,谢谢。
我执行下面的脚本:
run {
set newname for datafile 1 to '/opt/oradata/orc_clone/system01.dbf';
set newname for datafile 2 to '/opt/oradata/orc_clone/undotbs01.dbf';
set newname for datafile 3 to '/opt/oradata/orc_clone/sysaux01.dbf';
set newname for datafile 4 to '/opt/oradata/orc_clone/users01.dbf';
set newname for datafile 5 to '/opt/oradata/orc_clone/rman_data.dbf';
duplicate target database to orcclone logfile
'/opt/oradata/orc_clone/redo01.log' size 10M,
'/opt/oradata/orc_clone/redo02.log' size 10M,
'/opt/oradata/orc_clone/redo03.log' size 10M;
}结果报错:
executing command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting Duplicate Db at 15-MAY-09
using channel ORA_AUX_DISK_1
using channel ORA_AUX_DISK_2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/15/2009 03:02:31
RMAN-05501: aborting duplication of target database
RMAN-05517: temporary file /opt/oradata/orc_test/temp01.dbf conflicts with file used by target database上面说我的temp文件冲突,我不是很理解这个意思。请指教一下。
db_file_name_convert怎么设的?
run {
set newname for datafile 1 to '/opt/oradata/orc_clone/system01.dbf';
set newname for datafile 2 to '/opt/oradata/orc_clone/undotbs01.dbf';
set newname for datafile 3 to '/opt/oradata/orc_clone/sysaux01.dbf';
set newname for datafile 4 to '/opt/oradata/orc_clone/users01.dbf';
set newname for datafile 5 to '/opt/oradata/orc_clone/rman_data.dbf';
set newname for tempfile 1 to '/opt/oradata/orc_clone/temp01.DBF';
duplicate target database to orcclone logfile
'/opt/oradata/orc_clone/redo01.log' size 10M,
'/opt/oradata/orc_clone/redo02.log' size 10M,
'/opt/oradata/orc_clone/redo03.log' size 10M;
}就可以运行成功了。但是我使用SQLPLUS SYS/ORACLE@ORC_CLONE AS SYSDBA却连接不上去,这个是怎么回事啊。还有,我想请问一下,db_file_name_convert需要设置成什么值?
但是我还是对db_file_name_convert这个参数有点疑问,查找资料是这样的解释:
DB_FILE_NAME_CONVERT 用来创建一个以恢复为目的的备用数据库,它转换主数据库上的数据文件的文件名到备用数据库上的文件名,如果你在主数据库上添加了一个数据文件,你必须在备用数据库上添加相应的文件
string1 is the pattern of the primary database filenamestring2 is the pattern of the standby database filename请指点一下,谢谢。
功能和set newname for一样。还有什么疑问呢?
最后一个小问题,假设说我以后又在不定期的加DATAFILE,那我也需要手工把这些DATAFILE加入到我的脚本中,是这样么?如果是,能否有一个比较自动的方法克隆到克隆数据库呢?
我想是这样的一个流程,每天定时做克隆。放在fstab里面自动运行脚本。
然后我就不明白我的那个脚本应该怎么去写,当目标数据库的DATAFILE改变的时候,我是否需要去修改脚本。