> 데이터 베이스 > MySQL 튜토리얼 > RMAN duplicate 异机恢复

RMAN duplicate 异机恢复

WBOY
풀어 주다: 2016-06-07 17:26:53
원래의
1031명이 탐색했습니다.

开发人员把一张比较重要的表truncate了,于是找到我们,便做了一次异机恢复,恢复出这张表。下面是事后我在vm上做的一次实验,完

前不久,,因为开发人员把一张比较重要的表truncate了,于是找到我们,便做了一次异机恢复,恢复出这张表。
下面是事后我在vm上做的一次实验,完全复制,当然也可以设置时间,scn,恢复到过去某个时间点。

1.语句准备
select 'set newname for datafile '||file_id||' to "/home/Oracle/oradata/s1/'||substr(file_name,25)||'";' from dba_data_files;
select 'set newname for tempfile '||file_id||' to "/home/oracle/oradata/s1/'||substr(file_name,25)||'";' from dba_temp_files;
select 'group '||a.group#||' (''/home/oracle/oradata/s1/'||substr(member,25)||''')size '||bytes||' reuse,'
from v$logfile a,v$log b
where a.GROUP#=b.GROUP#;

2.复制相关文件到s2(备份目录,日志目录,flash_recovery_area可用nfs将s1的目录mount到s2,注意目录权限问题)

复制inits1.ora并添加(路径一样则可省略)
db_file_name_convert=('/home/oracle/oradata/s1','/home/oracle/oradata/s1')
log_file_name_convert=('/home/oracle/oradata/s1','/home/oracle/oradata/s1')
db_unique_name=s2
及相关对于的修改

复制tnsnames.ora,备份文件,归档文件,flash_recovery_area ,与dump相关的admin目录

创建oradata/s1目录

3.启动s2到nomount状态

startup nomount

如果采用nfs挂载应先在s2上执行

SQL>Alter system set events '10298 trace name context forever,level 32'

否则会报

ORA-27054: NFS file system where the file is created or resides is not mounted with correct options

4.执行
rman target 'sys/fishcat@s1' auxiliary /
-----set newname 路径一样可省略
run{
set newname for datafile 7 to "/home/oracle/oradata/s1/test01.dbf";
set newname for datafile 6 to "/home/oracle/oradata/s1/vip01.dbf";
set newname for datafile 5 to "/home/oracle/oradata/s1/example01.dbf";
set newname for datafile 4 to "/home/oracle/oradata/s1/users01.dbf";
set newname for datafile 3 to "/home/oracle/oradata/s1/sysaux01.dbf";
set newname for datafile 2 to "/home/oracle/oradata/s1/undotbs01.dbf";
set newname for datafile 1 to "/home/oracle/oradata/s1/system01.dbf";
set newname for tempfile 1 to "/home/oracle/oradata/s1/temp01.dbf";
duplicate target database to s2 nofilenamecheck logfile
group 3 ('/home/oracle/oradata/s1/redo03.log')size 52428800 reuse,
group 2 ('/home/oracle/oradata/s1/redo02.log')size 52428800 reuse,
group 1 ('/home/oracle/oradata/s1/redo01.log')size 52428800 reuse;
}

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿