Bo's Oracle Station

查看: 6487|回复: 10

rman备份异地恢复的问题

[复制链接]

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
发表于 2017-2-21 10:32:47 | 显示全部楼层 |阅读模式
唐老师:
    rman如果是关库冷备份的,可以用过duplicate在异地启动,并且课堂上建议源与目的的路径备份集路径一致。
    但是如果rman是用plus archivelog 热备出来,在异地怎么恢复出来?
    遇到几个想不通的地方,不知道怎么做是对的:
     1,首先异地没有控制文件,导致无法mount ,那么就无法手动识别从源拷贝过来的备份集,catalog start with 需要mount才能执行。
     2,我试过手动从源数据库trace一份控制文件出来修改后执行,遇到个问题:源是ASM的,trace出来的控制文件中,日志和数据文件路径是ASM路径,sql脚本执行不成功。
     3,后来干脆傻瓜做法,也不行,发现自己是不是更傻了,如下:
          1)在目的地建一个同名的库,然后  catalog start with 识别到备份集
          2)nomount数据,restore confilefile from  '带源数据库控制文件的备份集'  ,altat databae mount
          3) restore database  报错如下:
          RMAN> restore database;
          Starting restore at 2017-02-21:10:30:03
          using target database control file instead of recovery catalog
          allocated channel: ORA_DISK_1
          channel ORA_DISK_1: SID=69 device type=DISK
          RMAN-00571: ===========================================================
          RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
          RMAN-00571: ===========================================================
          RMAN-03002: failure of restore command at 02/21/2017 10:30:04
          RMAN-06026: some targets not found - aborting restore
          RMAN-06023: no backup or copy of datafile 4 found to restore
          RMAN-06023: no backup or copy of datafile 3 found to restore
          RMAN-06023: no backup or copy of datafile 2 found to restore
          RMAN-06023: no backup or copy of datafile 1 found to restore
          然后发现自己好像傻了,新建的目的数据库跟源数据库完全是两码事,dbid也不一样,是不是不可以这样搞,这属于低级错误??

唐老师,这种热备异地恢复出来,怎么做才最对的?

回复

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-21 14:58:07 | 显示全部楼层
duplicate时,刚开始肯定是nomount,这与有没有plus archivelog无关。
应该是课程时间隔远了,回顾下:
https://www.botangdb.com/forum.p ... &extra=page%3D3
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-2-21 16:45:19 | 显示全部楼层
是的,我需要回炉了,一度觉得自己rman已经很熟了,bcl做了3遍依然是这样的理解能力,哎!
不过当时这堂课,冷备份的恢复就始终没有做出来,失败了起码10次,原因目前还不知道。
我会抽时间再做的~
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-2-22 09:57:32 | 显示全部楼层
唐老师,下面这段,表示spfile完全与源数据库一样
duplicate target database to mydb
backup location '/home/oracle/backup2'
nofilenamecheck
spfile

如果源数据库内存4G(menory_target)
但目标数据库整个操作系统内存只有2G
这样是不是无法用这个rcv脚本做冷克隆?乃至包括热克隆也是一样的问题
我做的时候出现下面的提示,就是这个目标库内存不同造成的吧?
connected to auxiliary database (not started)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 02/22/2017 09:38:39
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04014: startup failed: ORA-00845: MEMORY_TARGET not supported on this system

那么这样的场景下,应该怎么做,可以在目标主机内存小很多的情况下,把数据库复制过去?
回复 支持 反对

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-23 09:57:49 | 显示全部楼层
lujiaguai 发表于 2017-2-22 09:57
唐老师,下面这段,表示spfile完全与源数据库一样
duplicate target database to mydb
backup location ' ...

这个一样可以通过改参数来解决,在rman克隆脚本中 “spfile“ 之后添加:
  1. duplicate target database to mydb
  2. backup location '/home/oracle/backup2'
  3. nofilenamecheck
  4. spfile
  5. set memory_max_target=2G
  6. set memory_target=2G
  7. ......
复制代码
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-2-23 15:25:25 | 显示全部楼层
唐老师,这样写的
run{
duplicate target database to orcl
backup location '/u01/backup/rman'
nofilenamecheck
spfile
set
memory_max_target=2G
set
memory_target=2G
set
control_files='+DATA,'+FRA'
set
db_file_name_convert='+DATA','+DATA'
set
log_file_name_convert='+DATA','+DATA','+FRA','+FRA'
set
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
set
db_create_file_dest=''
set
db_recovery_file_dest='+FRA';
}

但是执行的时候还是报错:
[oracle@test rman_scripts]$ rman auxiliary / cmdfile=/backup/rman_scripts/ecology.rcv
Recovery Manager: Release 11.2.0.4.0 - Production on Thu Feb 23 15:23:36 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to auxiliary database: ECOLOGY (not mounted)
RMAN> run{
2> duplicate target database to ecology
3> backup location '/u01/backup/rman'
4> nofilenamecheck
5> spfile
6> set
7> memory_max_target=2G
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "integer": expecting one of: "double-quoted-string, single-quoted-string"
RMAN-01007: at line 7 column 19 file: /backup/rman_scripts/ecology.rcv
回复 支持 反对

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-23 18:34:48 | 显示全部楼层
lujiaguai 发表于 2017-2-23 15:25
唐老师,这样写的
run{
duplicate target database to orcl

算成字节看下。
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-2-24 09:34:10 | 显示全部楼层
唐老师,改成字节,还是在第7行报错
[oracle@test rman_scripts]$ rman auxiliary / cmdfile=/backup/rman_scripts/orcl.rcv
Recovery Manager: Release 11.2.0.4.0 - Production on Fri Feb 24 09:32:15 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to auxiliary database: orcl (not mounted)
RMAN> run{
2> duplicate target database to ecology
3> backup location '/u01/backup/rman'
4> nofilenamecheck
5> spfile
6> set
7> memory_max_target=2048000
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "integer": expecting one of: "double-quoted-string, single-quoted-string"
RMAN-01007: at line 7 column 19 file: /backup/rman_scripts/ecology.rcv
回复 支持 反对

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-24 10:38:07 | 显示全部楼层
lujiaguai 发表于 2017-2-24 09:34
唐老师,改成字节,还是在第7行报错
[oracle@test rman_scripts]$ rman auxiliary / cmdfile=/backup/rman ...
  1. RMAN-01009: syntax error: found "integer": expecting one of: "double-quoted-string, single-quoted-string"
复制代码

memory_max_target=‘2048000’
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2017-2-24 11:53:52 | 显示全部楼层
唐sir:
还是有问题,冷克隆我就没成功过。。。。
听说新的课程就要开始了,有部分内容准备回炉~

RMAN> run{
2> duplicate target database to orcl
3> backup location '/u01/backup/rman'
4> nofilenamecheck
5> spfile
6> set
7> memory_max_target='2048000'
8> set
9> memory_target='2048000'
10> set
11> control_files='+DATA','+FRA'
12> set
13> db_file_name_convert='+DATA','+DATA'
14> set
15> log_file_name_convert='+DATA','+DATA','+FRA','+FRA'
16> set
17> audit_file_dest='/u01/app/oracle/admin/orcl/adump'
18> set
19> db_create_file_dest=''
20> set
21> db_recovery_file_dest='+FRA';
22> }
23>
24>
Starting Duplicate Db at 2017-02-24:11:46:58
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 02/24/2017 11:46:58
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01565: error in identifying file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Recovery Manager complete.

目录是存在的
[oracle@test rman_scripts]$ ls /u01/app/oracle/product/11.2.0/dbhome_1/dbs
  hc_orcl_2.dat  hc_orcl.dat  hc_rcat.dat init.ora  initorcl.ora  initrcat.ora  lkECOLOGY  lkORCL  lkRCAT  orapwecology  orapworcl  orapwrcat
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-3-28 17:49 , Processed in 0.042791 second(s), 24 queries .

快速回复 返回顶部 返回列表