网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  教你快速掌握解决rman-06026错误的方法 (1)     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:87次  录入:管理员--2008-04-03  
 

【赛迪网-it技术报道】问题:在数据库损坏的情况下,如果恢复时报rman-06026错误应当如何解决? style="text-indent:2em">解答:如果你没有使用catalog,你可以选择dbms_backup_restore来进行恢复。

1、具体的错误信息示例

你可以发现虽然list backup可以显示备份集,但是已经没有办法再进行恢复了,错误为rman-06026,rman-06026。

[oracle@jumper oradata]$ rman target /

recovery manager: release 9.2.0.4.0 - production

copyright (c) 1995, 2002, oracle corporation. all rights reserved.

connected to target database: conner (dbid=3152029224)

rman> restore database;

starting restore at 11-jun-05

using target database controlfile instead of recovery catalog

allocated channel: ora_disk_1

channel ora_disk_1: sid=11 devtype=disk

rman-00571: ===========================================================

rman-00569: =============== error message stack follows ===============

rman-00571: ===========================================================

rman-03002: failure of restore command at 06/11/2005 01:19:01

rman-06026: some targets not found - aborting 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

rman> list backup;

list of backup sets

===================

bs key type lv size device type elapsed time completion time

------- ---- -- ---------- ----------- ------------ ---------------

13 full 1g disk 00:03:20 09-jun-05

bp key: 13 status: available tag: tag20050609t173346

piece name: /opt/oracle/product/9.2.0/dbs/0ggmiabq_1_1

spfile included: modification time: 08-jun-05

list of datafiles in backup set 13

file lv type ckp scn ckp time name

---- -- ---- ---------- --------- ----

1 full 240560269 09-jun-05 /opt/oracle/oradata/conner/system01.dbf

2 full 240560269 09-jun-05 /opt/oracle/oradata/conner/undotbs01.dbf

3 full 240560269 09-jun-05 /opt/oracle/oradata/conner/users01.dbf

rman> exit

recovery manager complete.

2、然后使用dbms_backup_restore来进行恢复

dbms_backup_restore是一个非常强大的package,可以在数据库nomount下使用,用于从备份集中读取各类文件。

本例使用如下脚本:

declare

devtype varchar2(256);

done boolean;

begin

devtype:=sys.dbms_backup_restore.deviceallocate (type=>'',ident=>'t1');

sys.dbms_backup_restore.restoresetdatafile;

sys.dbms_backup_restore.restoredatafileto(dfnumber=>01,toname=>'/opt/oracle/oradata/conner/system01.dbf');

sys.dbms_backup_restore.restoredatafileto(dfnumber=>02,toname=>'/opt/oracle/oradata/conner/undotbs01.dbf');

sys.dbms_backup_restore.restoredatafileto(dfnumber=>03,toname=>'/opt/oracle/oradata/conner/users01.dbf');

sys.dbms_backup_restore.restorebackuppiece(done=>done,handle=>'/opt/oracle/product/9.2.0/dbs/0ggmiabq_1_1', params=>null);

sys.dbms_backup_restore.devicedeallocate;

end;

/

3、执行恢复的过程

[oracle@jumper conner]$ sqlplus "/ as sysdba"

sql*plus: release 9.2.0.4.0 - production on sat jun 11 01:24:34 2005

copyright (c) 1982, 2002, oracle corporation. all rights reserved.

connected to an idle instance.

sql> startup nomount;

oracle instance started.

total system global area 101782828 bytes

fixed size 451884 bytes

variable size 37748736 bytes

database buffers 62914560 bytes

redo buffers 667648 bytes

sql> declare

2 devtype varchar2(256);

3 done boolean;

4 begin

5 devtype:=sys.dbms_backup_restore.deviceallocate (type=>'',ident=>'t1');

6 sys.dbms_backup_restore.restoresetdatafile;

7 sys.dbms_backup_restore.restoredatafileto(dfnumber=>01,toname=>'/opt/oracle/oradata/conner/system01.dbf');

8 sys.dbms_backup_restore.restoredatafileto(dfnumber=>02,toname=>'/opt/oracle/oradata/conner/undotbs01.dbf');

9 sys.dbms_backup_restore.restoredatafileto(dfnumber=>03,toname=>'/opt/oracle/oradata/conner/users01.dbf');

10 sys.dbms_backup_restore.restorebackuppiece(done=>done,handle=>'/opt/oracle/product/9.2.0/dbs/0ggmiabq_1_1',

params=>null);

11 sys.dbms_backup_restore.devicedeallocate;

12 end;

13 /

pl/sql procedure successfully completed.

sql>

注释:从备份集中读取文件完成。

4、恢复控制文件

如果由于疏忽没有备份控制文件,你可以选择重建控制文件。

sql> alter database mount;

database altered.

sql> alter database backup controlfile to trace;

database altered.

然后找到trace文件,编辑并且执行重建控制文件需要部分:

[oracle@jumper oracle]$ sqlplus "/ as sysdba"

sql*plus: release 9.2.0.4.0 - production on sat jun 11 01:30:50 2005

copyright (c) 1982, 2002, oracle corporation. all rights reserved.

connected to:

oracle9i enterprise edition release 9.2.0.4.0 - production

with the partitioning option

jserver release 9.2.0.4.0 - production

sql> shutdown immediate;

ora-01109: database not open

database dismounted.

oracle instance shut down.

sql> startup nomount;

oracle instance started.

total system global area 101782828 bytes

fixed size 451884 bytes

variable size 37748736 bytes

database buffers 62914560 bytes

redo buffers 667648 bytes

sql> set echo on

sql> @ctl

sql>

sql> create controlfile reuse database "conner" resetlogs archivelog

2 -- set standby to maximize performance

3 maxlogfiles 5

4 maxlogmembers 3

5 maxdatafiles 100

6 maxinstances 1

7 maxloghistory 1361

8 logfile

9 group 1 '/opt/oracle/oradata/conner/redo01.log' size 10m,

10 group 2 '/opt/oracle/oradata/conner/redo02.log' size 10m,

11 group 3 '/opt/oracle/oradata/conner/redo03.log' size 10m

12 -- standby logfile

13 datafile

14 '/opt/oracle/oradata/conner/system01.dbf',

15 '/opt/oracle/oradata/conner/undotbs01.dbf',

16 '/opt/oracle/oradata/conner/users01.dbf'

17 character set zhs16gbk

18 ;

control file created.

5、执行恢复步骤

sql> recover database;

ora-00283: recovery session canceled due to errors

ora-01610: recovery using the backup controlfile option must be done

sql> recover database using backup controlfile until cancel;

ora-00279: change 240560269 generated at 06/09/2005 17:33:48 needed for thread 1

ora-00289: suggestion : /opt/oracle/oradata/conner/archive/1_7.dbf

ora-00280: change 240560269 for thread 1 is in sequence #7

specify log: {=suggested | filename | auto | cancel}

auto

ora-00279: change 240600632 generated at 06/10/2005 10:42:26 needed for thread 1

ora-00289: suggestion : /opt/oracle/oradata/conner/archive/1_8.dbf

ora-00280: change 240600632 for thread 1 is in sequence #8

ora-00278: log file '/opt/oracle/oradata/conner/archive/1_7.dbf' no longer needed for this recovery

specify log: {=suggested | filename | auto | cancel}

auto

ora-00279: change 240620884 generated at 06/10/2005 10:45:42 needed for thread 1

ora-00289: suggestion : /opt/oracle/oradata/conner/archive/1_9.dbf

ora-00280: change 240620884 for thread 1 is in sequence #9

ora-00278: log file '/opt/oracle/oradata/conner/archive/1_8.dbf' no longer needed for this recovery

ora-00283: recovery session canceled due to errors

ora-00600: internal error code, arguments: [3020], [4242465], [1], [9], [314], [272], [], []

ora-10567: redo is inconsistent with data block (file# 1, block# 48161)

ora-10564: tablespace system

ora-01110: data file 1: '/opt/oracle/oradata/conner/system01.dbf'

ora-10560: block type 'data segment header - unlimited'

ora-01112: media recovery not started

sql> recover database using backup controlfile until cancel;

ora-00279: change 240620949 generated at 06/10/2005 10:45:44 needed for thread 1

ora-00289: suggestion : /opt/oracle/oradata/conner/archive/1_9.dbf

ora-00280: change 240620949 for thread 1 is in sequence #9

specify log: {=suggested | filename | auto | cancel}

cancel

media recovery cancelled.

sql> alter database open resetlogs;

database altered.

sql> select name from v$datafile;

name

------------------------------------------------------------

/opt/oracle/oradata/conner/system01.dbf

/opt/oracle/oradata/conner/undotbs01.dbf

/opt/oracle/oradata/conner/users01.dbf

sql>

恢复现已完成。

 
 
上一篇: 讲解物化视图ora-23313错误的解决方法 (1)    下一篇: 深入讲解ora-00600 2262错误的解决方法
  相关文档
查看前五个最占用cpu的oracle会话进程 02-01
剖析Oracle的网络结构轻松解决连接问题 09-29
详细讲解oracle物理结构故障的处理方法 (1) 05-15
进行logmnr操作时发现空列名的具体原因 02-27
使用flashback query 恢复误删除的数据 11-15
讲解linux环境下oracle的自动启动与停止 03-31
Oracle建立二进制文件索引的方法 09-29
在数据字典中直接修改表列的名称和顺序 06-17
细化解析:oracle数据库的空间使用和管理 11-15
oracle数据库等待事件说明及处理方法 (1) 04-16
两种方法分析每月工作日计算程序 06-10
教你如何收集Oracle进程中SQL跟踪信息 05-27
redo copy latch未命中率并不需要调整 04-16
Oracle巧取指定记录以及巧用外关联查询 07-07
了解oracle体系结构前必须掌握的两个概念 (1) 04-23
教你在不同数据库环境下读取前n条记录数 07-14
oracle数据库中的共享服务器和专用服务器 01-30
在oracle中使用自治事务保存日志表条目 02-02
ip地址变化后oracle 10g如何才能不受影响 04-15
db2提供的两种db连接方式type1和type2 07-15
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息