返回顶部
首页 > 资讯 > 数据库 >duplicate命令中有pfile、logfile、*_file_name_convert、nofilenamecheck的案例
  • 339
分享到

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

2024-04-02 19:04:59 339人浏览 独家记忆
摘要

总结 1、pfile选项说明使用的rman命令执行的那端的一个文件 如果rman在源端开启,则pfile放在源端上,如果ramn在目标端开启,则pfile放在目标端上 2、logfile表示在duplica

总结
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
您可能感兴趣的文档:

--结束END--

本文标题: duplicate命令中有pfile、logfile、*_file_name_convert、nofilenamecheck的案例

本文链接: https://lsjlt.com/news/49846.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • duplicate命令中有pfile、logfile、*_file_name_convert、nofilenamecheck的案例
    总结 1、pfile选项说明使用的rman命令执行的那端的一个文件 如果rman在源端开启,则pfile放在源端上,如果ramn在目标端开启,则pfile放在目标端上 2、logfile表示在duplica...
    99+
    2024-04-02
  • Linux中find命令的使用示例有哪些
    小编给大家分享一下Linux中find命令的使用示例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、主要内容 用文件名查找文件用文件名查找文件,...
    99+
    2023-06-16
  • Linux中10个有用的命令行补全例子
    在 Linux 系统中,当你输入一个命令,再按两次TAB 键,就会列出所有以你输入字符开头的可用命令。这并不新鲜,可能你已经知道了。这个功能被称作命令行补全bash completion。默认情况下,bas...
    99+
    2022-06-04
    命令行 例子 有用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作