oracle从备份集中恢复归档日志方法

oracle从备份集中抓出归档日志方法

在大连医院遇到这个问题,数据库为归档状态,但归档完毕后rman通过crontab自动备走归档日志并删除存在系统上的归档日志文件。在RealSync程序停止一段时间后,需要应用归档日志来解决日志丢失问题。

问题是:

数据库中的控制文件中关于备份的元数据已经丢失,但备份集存在。这时候我们开始调用oracle的一个内部非公开的函数包:dbms_backup_restore 来从备份集中抽取归档日志到指定的系统目录。以满足我们的需求。

语句如下:

declare
devtype varchar2(256);
done boolean;
begin
devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'t2');
sys.dbms_backup_restore.restoreSetArchivedLog(destination=>'/archivelog02');
sys.dbms_backup_restore.restoreArchivedLog(thread=>2,sequence=>51500);
sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'/backup/zlhis/rman/AL_ZLHIS_20141030_862336902_23768_1',params=>null);
sys.dbms_backup_restore.deviceDeallocate;
end;

注意我们修改的地方是:destination=>‘/archivelog02指定恢复出来归档日志的存放系统目录位置,thread表示rac的thread号,sequence为需要恢复的那个归档日志序列号,handle表示备份集的绝对路径。

修改完毕后,直接在sqlplus命令窗口执行即可。

时间: 2024-10-10 17:08:55

oracle从备份集中恢复归档日志方法的相关文章

[转]Oracle DB 备份和恢复的概念

? 确定Oracle DB 中可能发生的故障类型 ? 说明优化实例恢复的方法 ? 说明检查点.重做日志文件和归档日志文件的重要性 ? 配置快速恢复区 ? 配置ARCHIVELOG模式 部分工作内容 数据库管理员的职责包括: ? 尽量避免数据库出现故障 ? 延长平均故障间隔时间(MTBF) ? 通过冗余方式保护关键组件 ? 缩短平均恢复时间(MTTR) ? 最大程度地减少数据丢失 数据库管理员(DBA) 的目标是确保数据库处于打开状态,以供用户在需要时使用.要实现这个目标,DBA 应完成以下工作(

RMAN数据库恢复之恢复归档日志文件

恢复归档日志文件如果只是为了在恢复数据文件之后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER时自动对适当的归档进行恢复.单独恢复归档文件一般是有特别的需求,如创建了Data Guard环境.Standby端丢失了部分归档文件,需要从Primary端重新获取.1.恢复全部归档日志文件RMAN> RESTORE ARCHIVELOG ALL; 2.恢复归档序号为20至30之间的归档文件RMAN> RESTOER ARCHIVELOG SEQUENCE BETWEEN 2

Oracle数据库备份和恢复的基本命令

Oracle数据库备份与恢复基本命令 1. 获取帮助 $ exp help=y $ imp help=y 2.三种工作方式 (1)交互式方式 $ exp 然后按提示输入所需要的参数 (2)命令行方式 $ exp user/[email protected] file=/oracle/test.dmp full=y 命令行中输入所需的参数 (3)Oracle数据库备份与恢复中我们要走涉及到参数文件方式 $ exp parfile=username.par 在参数文件中输入所需的参数 参数文件 us

无备份有完全归档日志情况下恢复数据文件

如果一个数据文件创建时到当前所有的归档日志都存在的话,那么可以通过offline datafile,recover datafile,online datafile的方式直接恢复数据文件,此种恢复属于介质恢复. 下面我们做一个实验: 查看当前所有的归档日志的初始scn以及终止scn:(status 为 A 表示available,D表示已删除) SQL> col name for a100 SQL> select sequence#,name,first_change#,next_change

Oracle 11g正确删除归档日志方法

1.用oracle用户登陆rman RMAN>rman target / 2.列出并确认归档日志路径 RMAN>list archivelog all; 3.删除7天以前的归档日志 RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 说明: SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志. 同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全

Oracle 数据库备份和恢复配置

可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻到重.易恢复到难恢复排列: 语句失败:用户的SELECT或DML语句因权限.语法或资源限制而失败. 用户错误:用户误删了一个表或表中的行. 用户进程失败:与数据库的连接因为客户端断开或未预料的停机而失败. 网络失败:客户机和服务器(数据库)之间的网络连接因为网络硬件或协议错误而失败. 实例失败:数据

Oracle 的备份和恢复

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备 份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 Export可将数据从数据库中提取出来,利用 Import则可将提取出来的数据送回到 Oracle数据库中去. 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1).表方式(T方式),将指定表的数据导出. (2).用户方式(U方式),将指定用

Oracle数据库备份、恢复及常见问题

通常我们都是使用PL/SQL Developer来对Oracle中的数据对象和数据进行管理.如果我们想方便快速还原或者部署Oracle到新机器上,怎么进行数据库的备份.导入恢复呢? 这里我们必须要考虑的:如何创建Oracle表空间.创建Oracle数据库;如何把Oracle对象.表数据导出到sql脚本中. 1.数据库备份 (1)导出数据库对象 Tools-->ExportUser Objects,选择需要导出的数据库对象,包括:表.序列.存储过程.视图.函数等. (2)导出表数据 Tools--

oracle数据库备份和恢复

参考地址:https://www.cnblogs.com/1175429393wljblog/p/9529334.html Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于 imp/exp 用户名/密码@sid full=y  file=C:\导出文件名称.dmp ignore=y log=C:\导出文件名称.log 备份---exp(exp username/[email protected] file='' log='