不用catalog的RMAN备份与恢复,请帮忙解决。

[复制链接]
查看11 | 回复9 | 2008-1-2 08:53:08 | 显示全部楼层 |阅读模式
平台:win2k+ora 9.2
rman nocatalog
configure controlfile auto backup on
backup tag 'name' format 'name' database
shutdown
delete controlfile,datafile,spfile
仅有控制文件和参数文件的的一个自动备份(两者是一个文件)
还有一个name文件。
能否恢复?步骤如何?
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
restore controlfile,then restore all datafiles,then recover database using archive logs
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
没专门做过这种情况的测试,我的恢复思路:
1、进入RMAN,设置DBID。
2、恢复参数文件、控制文件(指定备份文件的路径)。
3、RESTORE 数据库。
4、RECOVER DATABASE。
5、、、、
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
解决方法:
startup nomount(以默认参数文件启动)
restore spfile from autobackup
restore controlfile from autobackup
restore database
recover database
我没有验证数据是否完整,应该不会丢。
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
最初由 ZALBB 发布
[B]没专门做过这种情况的测试,我的恢复思路:
1、进入RMAN,设置DBID。
2、恢复参数文件、控制文件(指定备份文件的路径)。
3、RESTORE 数据库。
4、RECOVER DATABASE。
5、、、、 [/B]

如果原系统完全崩溃,只有rman的备份文件,设置dbid可以恢复数据库嘛?
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
refer:
http://www.eygle.com/archives/2005/03/eoarmanaeoeoaee.html
http://www.eygle.com/archives/2005/03/eoaoracle9iaeoo.html
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
1 设置DBID
2 设置CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/XX/XX/XX/%F'
3 restore controlfile from autobackup. 这样你最近以前所有的备份信息就都在CF上了
4 做不完全恢复 基于 SCN或者LOG SEQUENCE
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
Recovery Manager: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.
RMAN> connect target sys/yappjczadmin@tns

radb
connected to target database (not started)
RMAN> restore spfile from autobackup;
Starting restore at 29-3月 -05
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/29/2005 11:09:09
RMAN-12010: automatic channel allocation initialization failed
RMAN-06403: could not obtain a fully authorized session
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
RMAN> startup mount
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file 'C:\ORACLE\ORA92\DATABASE\INITORADB.ORA
'
trying to start the Oracle instance without parameter files ...
Oracle instance started
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 03/29/2005 11:09:35
ORA-00209: control file blocksize mismatch, check alert log for more info
RMAN> set dbid = 2303776906
executing command: SET DBID
RMAN> restore spfile from autobackup;
Starting restore at 29-3月 -05
using channel ORA_DISK_1
channel ORA_DISK_1: looking for autobackup on day: 20050329
channel ORA_DISK_1: autobackup found: c-2303776906-20050329-00
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 29-3月 -05
RMAN> restore controlfile from autobackup;
Starting restore at 29-3月 -05
using channel ORA_DISK_1
channel ORA_DISK_1: looking for autobackup on day: 20050329
channel ORA_DISK_1: autobackup found: c-2303776906-20050329-00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/29/2005 11:14:00
ORA-19504: failed to create file "C:\ORACLE\ORA92\DATABASE\CTL1ORADB.ORA"
ORA-27086: skgfglk: unable to lock file - already in use
OSD-04002: unable to open file
O/S-Error: (OS 5) 拒绝访问。
RMAN> shutdown
Oracle instance shut down
RMAN> startup nomount
database is already started
RMAN> restore controlfile from autobackup;
Starting restore at 29-3月 -05
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=13 devtype=DISK
channel ORA_DISK_1: looking for autobackup on day: 20050329
channel ORA_DISK_1: autobackup found: c-2303776906-20050329-00
channel ORA_DISK_1: controlfile restore from autobackup complete
replicating controlfile
input filename=D:\CONTROLFILE\CONTROL01.CTL
output filename=E:\CONTROLFILE\CONTROL02.CTL
output filename=F:\CONTROLFILE\CONTROL03.CTL
Finished restore at 29-3月 -05
RMAN> startup mount
database is already started
database mounted
RMAN> restore database;
Starting restore at 29-3月 -05
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to C:\ORACLE\ORADATA\ORADB\SYSTEM01.DBF
restoring datafile 00002 to C:\ORACLE\ORADATA\ORADB\UNDOTBS01.DBF
restoring datafile 00003 to C:\ORACLE\ORADATA\ORADB\CWMLITE01.DBF
restoring datafile 00004 to C:\ORACLE\ORADATA\ORADB\DRSYS01.DBF
restoring datafile 00005 to C:\ORACLE\ORADATA\ORADB\EXAMPLE01.DBF
restoring datafile 00006 to C:\ORACLE\ORADATA\ORADB\INDX01.DBF
restoring datafile 00007 to C:\ORACLE\ORADATA\ORADB\ODM01.DBF
restoring datafile 00008 to C:\ORACLE\ORADATA\ORADB\TOOLS01.DBF
restoring datafile 00009 to C:\ORACLE\ORADATA\ORADB\USERS01.DBF
restoring datafile 00010 to C:\ORACLE\ORADATA\ORADB\XDB01.DBF
restoring datafile 00011 to C:\ORACLE\ORADATA\ORADB\OEM_REPOSITORY.DBF
channel ORA_DISK_1: restored backup piece 1
piece handle=E:\FULL03280924.BAK tag=FULL03280924 params=NULL
channel ORA_DISK_1: restore complete
Finished restore at 29-3月 -05
RMAN> recover database;
Starting recover at 29-3月 -05
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 1 is already on disk as file D:\REDO\REDO01A.LOG
archive log filename=D:\REDO\REDO01A.LOG thread=1 sequence=1
media recovery complete
Finished recover at 29-3月 -05
RMAN> alter database open noresetlogs;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01005: syntax error: found "identifier": expecting one of: "resetlogs, ;"
RMAN-01008: the bad identifier was: noresetlogs
RMAN-01007: at line 1 column 21 file: standard input
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01005: syntax error: found ";": expecting one of: "allocate, alter, backup,
beginline, blockrecover, catalog, change, connect, copy, create, crosscheck, co
nfigure, duplicate, debug, delete, drop, exit, endinline, host, {, library, list
, mount, open, print, quit, recover, register, release, replace, report, renorma
lize, reset, restore, resync, rman, run, rpctest, set, setlimit, sql, spool, sta
rtup, shutdown, send, show, test, upgrade, validate"
RMAN-01007: at line 1 column 32 file: standard input
RMAN> alter database open resetlogs;
database opened
先启动到nomount状态,然后restore spfile,再重新启动到nomount状态,restore controlfile,
startup mount,restore database , recover database ,alter database open resetlogs.
为什么不能noresetlogs?
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
使用了旧的控制文件恢复是必须以resetlogs方式打开数据库的.
参考:
http://blog.itpub.net/post/11/2363
http://blog.itpub.net/post/11/2315
回复

使用道具 举报

千问 | 2008-1-2 08:53:08 | 显示全部楼层
WINDOWS 2000 SP4, ORACLE9201

D:\ORACLE\BIN>rman nocatalog target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.
连接到目标数据库: MARKET (DBID=4042680037)
正在使用目标数据库控制文件替代恢复目录
RMAN> show all;
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; 自动备份控制文件
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\DATABASE\SNCFMARKET.ORA'; # default
没有备份
RMAN> list backup;
全库备份
RMAN> run
2> {allocate channel d1 type disk ;
3>backup full database
4>format 'H:\rmanback\level0\db_%d_%s_%p_%t_%T'
5>tag 'full_database';
6>release channel d1;
7> }
分配的通道: d1
通道 d1: sid=13 devtype=DISK
启动 backup 于 2005-03-29
通道 d1: 正在启动 full 数据文件备份集
通道 d1: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=F:\ORADATA\MARKETING_BUSS02.DBF
输入数据文件 fno=00011 name=F:\ORADATA\MARKETING_BASE01.DBF
输入数据文件 fno=00012 name=F:\ORADATA\MARKETING_BUSS01.DBF
输入数据文件 fno=00015 name=F:\ORADATA\STUDY01.DBF
输入数据文件 fno=00016 name=D:\ORACLE\ORADATA\MARKET\UNDOTBS0201.DBF
输入数据文件 fno=00001 name=D:\ORACLE\ORADATA\MARKET\SYSTEM01.DBF
输入数据文件 fno=00014 name=F:\ORADATA\PERFSTAT01.DBF
输入数据文件 fno=00013 name=F:\ORADATA\RMAN_TS01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\ORADATA\MARKET\EXAMPLE01.DBF
输入数据文件 fno=00010 name=D:\ORACLE\ORADATA\MARKET\XDB01.DBF
输入数据文件 fno=00006 name=D:\ORACLE\ORADATA\MARKET\INDX01.DBF
输入数据文件 fno=00009 name=D:\ORACLE\ORADATA\MARKET\USERS01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\ORADATA\MARKET\CWMLITE01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\ORADATA\MARKET\DRSYS01.DBF
输入数据文件 fno=00007 name=D:\ORACLE\ORADATA\MARKET\ODM01.DBF
输入数据文件 fno=00008 name=D:\ORACLE\ORADATA\MARKET\TOOLS01.DBF
通道 d1: 正在启动段 1 于 2005-03-29
通道 d1: 已完成段 1 于 2005-03-29
段 handle=H:\RMANBACK\LEVEL0\DB_MARKET_27_1_554210537_20050329 comment=NONE
通道 d1: 备份集已完成, 经过时间:00:07:08
完成 backup 于 2005-03-29
备份控制文件
启动 Control File and SPFILE Autobackup 于 2005-03-29
段 handle=D:\ORACLE\DATABASE\C-4042680037-20050329-00 comment=NONE
完成 Control File and SPFILE Autobackup 于 2005-03-29
释放的通道: d1
RMAN> shutdown immediate;
数据库已卸载
Oracle 例程已关闭
RMAN> exit

恢复管理器完成。
D:\ORACLE\BIN>


2、更改数据文件的目录名F:\ORADATA,为F:\ORADATA_BAK,
D:\ORACLE\ORADATA\MARKET 为 D:\ORACLE\ORADATA\MARKET_BAK
然后,新创建 F:\ORADATA,D:\ORACLE\ORADATA\MARKET
更改D:\oracle\database下的文件SPFILEMARKET.ORA 为 SPFILEMARKET_bak.ORA
PWDmarket.ora 为 PWDmarket_bak.ora

3、
D:\ORACLE\BIN>rman nocatalog target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.
已连接到目标数据库 (未启动)
RMAN> startup nomount;
没有参数文件的情况下,强行启动数据库
启动失败: ORA-01078: failure in processing system parameters
LRM-00109: N^7(4r?*2NJ}ND restore spfile from 'D:\oracle\database\C-4042680037-20050329-00';
启动 restore 于 2005-03-29
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=9 devtype=DISK
通道 ORA_DISK_1: 已找到的自动备份: D:\oracle\database\C-4042680037-20050329-00
通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成
完成 restore 于 2005-03-29

重新启动数据库
RMAN> startup nomount force;
Oracle 例程已启动
系统全局区域总计 361831504 字节
Fixed Size
453712 字节
Variable Size
125829120 字节
Database Buffers
234881024 字节
Redo Buffers
667648 字节

恢复控制文件
RMAN> restore controlfile from 'D:\oracle\database\C-4042680037-20050329-00';
启动 restore 于 2005-03-29
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在恢复控制文件
通道 ORA_DISK_1: 恢复完成
正在复制控制文件
输出文件名=D:\ORACLE\ORADATA\MARKET\CONTROL01.CTL
输出文件名=D:\ORACLE\ORADATA\MARKET\CONTROL02.CTL
输出文件名=D:\ORACLE\ORADATA\MARKET\CONTROL03.CTL
完成 restore 于 2005-03-29
mount数据库
RMAN> alter database mount;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 03/29/2005 11:43:08
ORA-01990: 打开口令文件'D:\oracle\DATABASE\PWDmarket.ORA'时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
恢复数据文件
RMAN> restore database;
启动 restore 于 2005-03-29
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\ORADATA\MARKET\SYSTEM01.DBF
正将数据文件00002恢复到F:\ORADATA\MARKETING_BUSS02.DBF
正将数据文件00003恢复到D:\ORACLE\ORADATA\MARKET\CWMLITE01.DBF
正将数据文件00004恢复到D:\ORACLE\ORADATA\MARKET\DRSYS01.DBF
正将数据文件00005恢复到D:\ORACLE\ORADATA\MARKET\EXAMPLE01.DBF
正将数据文件00006恢复到D:\ORACLE\ORADATA\MARKET\INDX01.DBF
正将数据文件00007恢复到D:\ORACLE\ORADATA\MARKET\ODM01.DBF
正将数据文件00008恢复到D:\ORACLE\ORADATA\MARKET\TOOLS01.DBF
正将数据文件00009恢复到D:\ORACLE\ORADATA\MARKET\USERS01.DBF
正将数据文件00010恢复到D:\ORACLE\ORADATA\MARKET\XDB01.DBF
正将数据文件00011恢复到F:\ORADATA\MARKETING_BASE01.DBF
正将数据文件00012恢复到F:\ORADATA\MARKETING_BUSS01.DBF
正将数据文件00013恢复到F:\ORADATA\RMAN_TS01.DBF
正将数据文件00014恢复到F:\ORADATA\PERFSTAT01.DBF
正将数据文件00015恢复到F:\ORADATA\STUDY01.DBF
正将数据文件00016恢复到D:\ORACLE\ORADATA\MARKET\UNDOTBS0201.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=H:\RMANBACK\LEVEL0\DB_MARKET_27_1_554210537_20050329 tag=FULL_DATABASE params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 2005-03-29

剩下的无需介绍。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行