使用rman管理工具对数据库差异备份(方法)

1.关于RMAN备份的相关参数介绍:

命令行参数

描述

TARGET

为目标数据库定义的一个连接字符串,当连接到一个目标数据库时,该连续是SYSDBA连接。该用户拥有启动和关闭数据库的权利,必须属于OSDBA组,必须建立一个口令文件允许SYSDBA连接。

CATALOG

连接到恢复目录。

NOCATALOG

不运用恢复目录。与CATALOG参数互斥

CMDFILE

定义了输出命令文件名称的字符串。当运行RMAN时,可以运行命令文件或者交互式运行

LOG & MSGLOG

定义了包含RMAN输出信息的文件的字符串,LOG参数只能特别运用在命令行中。不能在RMAN中启动SPOOLING,当应用日志文件时,输出的信息并不在屏幕上显示

TRACE

类似于log参数,将产生一个显示RMAN输入信息的文件。使用TRACE在屏幕上也显示。

APPEND

特殊用法,如果消息日志文件存在则将消息追加到该文件中。经常与LOG联合使用

  • 数据库OPEN时归档模式下RMAN可以备份。
  • 数据库OPEN时非归档模式下RMAN只能备份READ ONLY或OFFLINE有表空间或数据文件。
  • 归档模式下RMAN全库备份时:
  • 在数据库OPEN、MOUNT阶段都可以备份。数据库实例未启动,或者启动到NOMOUNT状态均不能备份。
  • 非归档模式下RMAN全库备份时:
  • 只能在MOUNT状态下备份。

 2.差异备份方法:

 1)新建一个.bat文件(本处新建的为arch_rman.bat)

rman  target /  cmdfile=D:\software\soft\oracle_client\bak_20171212\arch_rman.sql log 
D:\software\soft\oracle_client\bak_20171212\arch%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%.log

2) 新建一个.sql文件(本处新建的为arch_rman.sql)

list backup;
 report obsolete;
 delete obsolete;
 run {
 backup  incremental level=1 tag 'bys001-1' database
 format 'D:\software\soft\oracle_client\bak_20171212\orclfullback_%d_%t_%s'
 plus archivelog
 format 'D:\software\soft\oracle_client\bak_20171212\orclarch_%d_%t_%s' 
delete all input;
 }
 exit

代码解释:

  1. report obsolete:命令用于列出rman资料库中能够被删除的全备份、数据文件拷贝和归档日志记录。
  2. backup  incremental level=1 tag 'bys001-1' database:

3)定时任务

cmd 下 执行 taskschd.msc ,进入到windows的任务计划界面,创建一个基本任务

3.恢复备份:

  1)基于时间点的数据库恢复

restore database until time "to_date('2017-12-15','YYYY-MM-DD')";

执行后报错:

错误原因:恢复时DATABASE 应该处于MOUNT 状态;

对应的解决办法:1.shutdown immediate;
                              2.startup mount;

 

posted @ 2017-12-25 10:19  智慧小姐  阅读(611)  评论(0编辑  收藏  举报