duplicate命令中有pfile、logfile、*_file_name_convert、nofilenamecheck的案例

发布时间:2020-08-17 13:04:06 作者:lusklusklusk
来源:ITPUB博客 阅读:135
总结
1、pfile选项说明使用的rman命令执行的那端的一个文件
如果rman在源端开启,则pfile放在源端上,如果ramn在目标端开启,则pfile放在目标端上
2、logfile表示在duplicate命令中生成目标端的文件,和rman命令在哪端执行无关
logfile的生成的文件在目标端,logfile选项时必须指定size
3、一般操作时,除非自己清楚源端和目标端的datafile、online redo log文件不在同一个共享的目录中,否则不要加上nofilenamecheck
4、如果pfile或spifle中指定了*_file_name_convert参数,但是duplicate命令中重新指定了db_file_name_convert、logfile选择,则会覆盖掉pfile或spifle中指定了*_file_name_convert参数的设置,见如下logfile、*_file_name_convert、nofilenamecheck选项中5、6的实验


pfile选项
前提条件
源端端目标端在不同机器,不共享/u01/app/oracle/oradata/prod1路径,各自都有自己的/u01/app/oracle/oradata/prod1目录

源端的logfile位于路径/u01/app/oracle/oradata/prod1,目标端的pfile或spfile没有指定任何db_file_name_convert和log_file_name_convert参数

源端文件/home/oracle/initprod1std.ora(SGA=800M,process=200)
目标端pfile文件/home/oracle/initprod1std.ora(SGA=700M,process=190)
目标端pfile文件$ORACLE_HOME/dbs/initprod1std.ora(SGA=600M,process=180)
目标端spfile文件$ORACLE_HOME/dbs/spfileprod1std.ora(SGA=600M,process=180)


1、rman在源端服务器上执行,目标端没有/home/oracle/initprod1std.ora,目标端没有spfile,目标端使用$ORACLE_HOME/dbs/initprod1std.ora
run {
duplicate target database to prod1std from active database
pfile=/home/oracle/initprod1std.ora
LOGFILE
  '/u02/log01.dbf' size 1024M,
  '/u02/log02.dbf' size 1024M,
  '/u02/log03.dbf' size 1024M
NOFILENAMECHECK;
}
目标端的结果
SGA=800M
process=200
db_data_files.file_name和源端一样
v$logfile.member路径为/u02
说明使用了源端的文件/home/oracle/initprod1std.ora,并且在目标端生成了rman命令中的logfile

2、rman在源端服务器上执行,目标端没有/home/oracle/initprod1std.ora,目标端有$ORACLE_HOME/dbs/initprod1std.ora,目标端使用spfile启动$ORACLE_HOME/dbs/spfileprod1std.ora
run {
duplicate target database to prod1std from active database
pfile=/home/oracle/initprod1std.ora
LOGFILE
  '/u02/log01.dbf' size 1024M,
  '/u02/log02.dbf' size 1024M,
  '/u02/log03.dbf' size 1024M
NOFILENAMECHECK;
}
报错RMAN-05597: Database started with server parameter file and PFILE clause used in command

3、rman在源端服务器上执行,源端服务器上没有/home/oracle/initprod1std.ora,目标端没有/home/oracle/initprod1std.ora,目标端没有spfile,目标端使用$ORACLE_HOME/dbs/initprod1std.ora
run {
duplicate target database to prod1std from active database
pfile=/home/oracle/initprod1std.ora
LOGFILE
  '/u02/log01.dbf' size 1024M,
  '/u02/log02.dbf' size 1024M,
  '/u02/log03.dbf' size 1024M
NOFILENAMECHECK;
}
报错RMAN-04017: startup error description: LRM-00109: could not open parameter file '/home/oracle/initprod1std.ora'

4、rman在源端服务器上执行,源端服务器上没有/home/oracle/initprod1std.ora,目标端有/home/oracle/initprod1std.ora,目标端没有spfile,目标端使用$ORACLE_HOME/dbs/initprod1std.ora
run {
duplicate target database to prod1std from active database
pfile=/home/oracle/initprod1std.ora
LOGFILE
  '/u02/log01.dbf' size 1024M,
  '/u02/log02.dbf' size 1024M,
  '/u02/log03.dbf' size 1024M
NOFILENAMECHECK;
}
报错RMAN-04017: startup error description: LRM-00109: could not open parameter file '/home/oracle/initprod1std.ora'

3、4说明使用的是源端的文件/home/oracle/initprod1std.ora




logfile、*_file_name_convert、nofilenamecheck选项
源端端目标端在不同机器,不共享/u01/app/oracle/oradata/prod1路径,各自都有自己的/u01/app/oracle/oradata/prod1目录

1、源端的logfile位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile没有指定任何db_file_name_convert、log_file_name_convert参数
run {duplicate target database to prod1std from active database;}
报错
RMAN-05501: aborting duplication of target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/example01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/users01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/undotbs01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/sysaux01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/system01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo03.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo02.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo01.log conflicts with a file used by the target database

2、源端的logfile位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile没有指定任何db_file_name_convert、log_file_name_convert参数
run {duplicate target database to prod1std from active database nofilenamecheck;}
目标端的结果
db_data_files.file_name和源端一样
v$logfile.member和源端一样

3、源端的logfile位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile没有指定任何db_file_name_convert、log_file_name_convert参数
run {duplicate target database to prod1std from active database db_file_name_convert=('/u01/app/oracle/oradata/prod1','/u01/app/oracle/oradata/prod1std');}
报错
RMAN-05501: aborting duplication of target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo03.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo02.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/prod1/redo01.log conflicts with a file used by the target database

4、源端的logfile位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile没有指定任何db_file_name_convert、log_file_name_convert参数
run {duplicate target database to prod1std from active database 
db_file_name_convert=('/u01/app/oracle/oradata/prod1','/u01/app/oracle/oradata/prod1std') 
logfile 
'/u01/app/oracle/oradata/prod1std/redo01.log' size 50M,
'/u01/app/oracle/oradata/prod1std/redo02.log' size 50M,
'/u01/app/oracle/oradata/prod1std/redo03.log' size 50M;
}
目标端结果
db_data_files.file_name在/u01/app/oracle/oradata/prod1std目录下
v$logfile.member在/u01/app/oracle/oradata/prod1std路径下

5、源端的dbfile,logfile都位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile指定
db_file_name_convert='/u01/app/oracle/oradata/prod1/', '/u01/app/oracle/oradata/prod1std/'
log_file_name_convert='/u01/app/oracle/oradata/prod1/', '/u01/app/oracle/oradata/prod1std/'
run {duplicate target database to prod1std from active database;
}
目标端结果
db_data_files.file_name在/u01/app/oracle/oradata/prod1std目录下
v$logfile.member在/u01/app/oracle/oradata/prod1std路径下

6、源端的dbfile,logfile都位于路径/u01/app/oracle/oradata/prod1,目标端的使用spfile启动,spfile指定
db_file_name_convert='/u01/app/oracle/oradata/prod1/', '/u01/app/oracle/oradata/prod1std/'
log_file_name_convert='/u01/app/oracle/oradata/prod1/', '/u01/app/oracle/oradata/prod1std/'
run {duplicate target database to prod1std from active database 
db_file_name_convert=('/u01/app/oracle/oradata/prod1','/u01/app/oracle/oradata/data2') 
logfile 
'/u01/app/oracle/oradata/data2/redo01.log' size 50M,
'/u01/app/oracle/oradata/data2/redo02.log' size 50M,
'/u01/app/oracle/oradata/data2/redo03.log' size 50M;
}
目标端结果
db_data_files.file_name在/u01/app/oracle/oradata/data2目录下
v$logfile.member在/u01/app/oracle/oradata/data2路径下




logfile选项时不加size时报错
run {duplicate target database to prod1std from active database
db_file_name_convert=('/u01/app/oracle/oradata/prod1','/u01/app/oracle/oradata/prod1std')
logfile 
'/u01/app/oracle/oradata/prod1std/redo01.log',
'/u01/app/oracle/oradata/prod1std/redo02.log',
'/u01/app/oracle/oradata/prod1std/redo03.log';}
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "comma": expecting one of: "size"
RMAN-01007: at line 1 column 208 file: standard input
推荐阅读:
  1. Concepts:Request 和 Task
  2. 总结case与convert 的区别decimal(6,2) number(6,2) 前面都是总长度

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

convert logfile duplicate

上一篇:jbpm学习

下一篇:kubernetes实践之五十五:kubectl之配置kubeconfig

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》