flash 可以做网站吗,查找公司信息的网站,佛山网站建站推广,通化网站优化天萃荷净使用dbms_backup_restore包恢复数据库Oracle提供了一个包:DBMS_BACKUP_RESTORE包是由dbmsbkrs.sql 和 prvtbkrs.plb 这两个脚本创建的.catproc.sql 脚本运行后会调用这两个包.所以是每个数据库都有的这个包是Oracle服务器和操作系统之间IO操作的接口.由恢复管理器直接调…天萃荷净使用dbms_backup_restore包恢复数据库Oracle提供了一个包:DBMS_BACKUP_RESTORE包是由dbmsbkrs.sql 和 prvtbkrs.plb 这两个脚本创建的.catproc.sql 脚本运行后会调用这两个包.所以是每个数据库都有的这个包是Oracle服务器和操作系统之间IO操作的接口.由恢复管理器直接调用。而且据说这两个脚本的功能是内建到Oracle的一些库文件中的.由此可见我们可以在数据库 nomount 情况下调用这些package ,来达到我们的恢复目的1、启动数据库到nomount状态[oraclenode1 ora11g]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon Dec 19 13:34:22 2011Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to an idle instance.SQL startup nomountORACLE instance started.Total System Global Area 2137886720 bytesFixed Size 2230072 bytesVariable Size 1493174472 bytesDatabase Buffers 637534208 bytesRedo Buffers 4947968 bytes2、恢复controlfileSQL DECLARE2 devtype varchar2(256);3 done boolean;4 BEGIN5 devtype:sys.dbms_backup_restore.deviceAllocate (type,identt1);6 sys.dbms_backup_restore.restoreSetDatafile;7 sys.dbms_backup_restore.restoreControlfileTo(cfname/opt/oracle/oracleplus/ora11g/control01.ctl);8 sys.dbms_backup_restore.restoreBackupPiece(donedone,handle/tmp/ora11g_02mu1avd_1_1.rman, paramsnull);9 sys.dbms_backup_restore.deviceDeallocate;10 END;11 /PL/SQL procedure successfully completed.3、恢复数据文件SQL DECLARE2 devtype varchar2(256);3 done boolean;4 BEGIN5 devtype:sys.dbms_backup_restore.deviceAllocate (type,identt1);6 sys.dbms_backup_restore.restoreSetDatafile;7 sys.dbms_backup_restore.restoreDatafileTo(dfnumber1,toname/opt/oracle/oracleplus/ora11g/system01.dbf);sys.dbms_backup_restore.restoreDatafileTo(dfnumber2,toname/opt/oracle/oracleplus/ora11g/sysaux01.dbf);sys.dbms_backup_restore.restoreDatafileTo(dfnumber3,toname/opt/oracle/oracleplus/ora11g/undotbs01.dbf);8 9 10 sys.dbms_backup_restore.restoreDatafileTo(dfnumber4,toname/opt/oracle/oracleplus/ora11g/users01.dbf);11 sys.dbms_backup_restore.restoreDatafileTo(dfnumber5,toname/opt/oracle/oracleplus/ora11g/example01.dbf);12 sys.dbms_backup_restore.restoreBackupPiece(donedone,handle/tmp/ora11g_01mu1aqq_1_1.rman, paramsnull);13 sys.dbms_backup_restore.deviceDeallocate;14 END;15 /PL/SQL procedure successfully completed.4、启动数据库SQL alter database mount;SQL alter database recover until cancel using backup controlfile;SQL alter database open resetlogs;5、特别说明在oracle 10g及其以后版本中因为rman中有catalog with start命令可以实现rman备份的加载所以不需要使用dbms_backup_restore包处理在oracle 9i及其以前版本中可能因为没有catalog库控制文件中又没有了备份集信息需要采用这种方法处理数据文件还原然后根据实际情况使用ALTER DATABASE REGISTER LOGFILE 添加日志进行恢复--------------------------------------ORACLE-DBA----------------------------------------最权威、专业的Oracle案例资源汇总之【学习笔记】使用dbms_backup_restore包恢复数据库