use*_*727 6 oracle oracle-11g-r2 rman
我正在尝试使用 rman 备份将我的数据库 ( 11.2.0.4 ) A迁移到另一台机器。目前,在源机中,redo log文件,temp文件存放在目录foo( /foo
)下。在目标机器中,我想将这些文件存储在目录栏 ( /bar
) 下。在过去的实践中,我所做的是为这些文件创建foo,并在恢复完成后手动将这些文件移动到bar。RMAN 是一个如此强大的工具,我认为必须有一些简单的方法来满足我的要求。到目前为止,通过搜索谷歌,我得到了一个有用的临时文件 rman 命令:
set newname for tempfile <fileno> to '<path>'
Run Code Online (Sandbox Code Playgroud)
重做文件好像没有类似的命令。在使用此命令执行恢复之前,我有几个问题要问:
alter database open resetlogs
恢复完成后打开( )数据库时,存在重做日志文件和临时文件。rman 会自动为数据库创建这个吗?我找不到有关此主题的可靠 oracle 文档。您可以使用 pfile 并在 pfile 中设置以下内容,也可以使用 spfile 并执行启动 nomount 来设置以下变量。您可以拥有任意数量的目录,模式仍然是:'','','','','',''...
alter system set db_file_name_convert='/foo/','/bar/' scope=spfile;
alter system set log_file_name_convert='/foo/','/bar/' scope=spfile;
Run Code Online (Sandbox Code Playgroud)
您还可以在克隆/恢复命令上指定重做。
DUPLICATE DATABASE TO mytest BACKUP LOCATION '/mybackup/mytest'
LOGFILE
GROUP 1 ('/mybackup/mytest/redo01a.log', '/mybackup/mytest/redo01b.log') SIZE 256M REUSE,
GROUP 2 ('/mybackup/mytest/redo02a.log', '/mybackup/mytest/redo02b.log') SIZE 256M REUSE,
GROUP 3 ('/mybackup/mytest/redo03a.log', '/mybackup/mytest/redo03b.log') SIZE 256M REUSE
NOFILENAMECHECK;
Run Code Online (Sandbox Code Playgroud)