教你快速掌握解决RMAN-06026错误的方法(2)
作者:Root 出处:赛迪网 更新时间:2008-07-03 责任编辑:seward
 
 

 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.

 
     
 
 
继续>>Oracle
[第1页][第2页][下一页]
 
内容导航  
第1页教你快速掌握解决RMAN.. 第2页Oracle
上一篇 : 教你快速掌握解决RMAN-0.. 下一篇教你快速掌握解决RMAN-0..
 
  您要为所发表的言论的后果负责,请各位遵纪守法并注意文明用语
标题:  

[ 关于本站 ] [ 广告服务 ] [ 商务合作 ] [ 联系我们 ] [ 合作伙伴 ] [ 法律顾问 ] [ 网站地图 ]
千橡公司 京ICP证041489号 Copyright (c) 1997-2007 All Right Reserved.