Rman备份为物理备份,启用rman备份必须开启数据库归档,开启归档后相当于给数据库加了一层双保险。Rman备份主要备份数据库的数据文件,控制文件,归档日志。

RMAN 备份

一、 检查数据库是否启用归档状态。服务器上在Cmd下用sysdba身份登录。查询数据库是否启用归档模式。

Sqlplus / as sysdba

Select dbid,name,log_mode from v$database;

如果log_mode处于archivelog状态则代表已经处于归档状态。

如果处于noarchivelog模式则代表非归档,此时需要用sysdba身份开启数据库归档,依次步骤如下:

Shutdown immediate;--关闭实例和数据库

Startup mount;--启动实例,不开启数据库

Alter database archivelog;---更改非归档为归档

Alter database open;--启动数据库

一、 创建RMAN用户,RMAN用户的表空间,授权,创建恢复目录,注册数据库。步骤依次如下:

创建用户的数据表空间:

Create tablespace rman_ts datafile ‘E:\app\Administrator\oradata\ydhldb\rman_ts.dbf’ sise 200M;

创建用户并授权:

Create user rman identified  by rman tablespace rman_ts temporary tablespace temp;

Grant connect ,recovery_catalog_owner,resource to rman;

创建恢复目录

Rman catalog rman/rman target ydhldb;

Create catalog tablespace rman_ts;

接下来即可创建RMAN的run块的配合批处理命令,内容如下:
run {
backup database format 'D:/backup/rman_full_db_%T_%U.dbf';
configure controlfile autobackup format for device type disk to 'D:/backup/rman_full_conf_%F.ctl';
configure retention policy to recovery window of days;
crosscheck backupset;
delete noprompt expired backupset;
backup spfile format 'D:/backup/rman_full_sp_%T_%U.dbf';
backup archivelog all format 'D:/backup/rman_full_arc_%T_%U.dbf';
crosscheck archivelog all;
delete noprompt archivelog all completed before 'sysdate-7';
delete noprompt obsolete;
}
代表全库备份数据文件,控制文件以及归档日志,因国庆最长假期为7天,故只保留7天备份,并自动删除7天之前的备份数据。将以上内容保存到记事本,命名backup_rman.rman。保留至一个固定路径,如图。保留在C:\Users\Administrator\Desktop\Rman。

接下来需要拟写批处理去自动调取rman的run块内容。保留至同一路径内容如下:

set ORACLE_SID=YDHLDB

RMAN TARGET / LOG C:\Users\Administrator\Desktop\Rman\logs\bak_%date%.log CMDFILE=C:\Users\Administrator\Desktop\Rman\backup_rman.rman

将这段内容单独写成批处理,后缀为.BAT格式。并建立logs文件夹,用于存放RMAN备份时的日志。Bat批处理中已经配置了日志路径。如下图:

此时即可采用win上的计划任务排程来调用RMAN批处理来备份数据库了,生产库建议一天一备,放于半夜2到3点执行。 如下图:

设置完成后,即可半夜执行备份数据库。

如图:

备份后:d盘的backup文件夹下生成了备份,如图:

此时备份完成。

RMAN还原

如果现场数据库故障,出现奔溃,则采用RMAN进行还原。还原时RMAN会自动选择就近的备份去进行还原并且还原时RMAN 会去自动识别备份片及通道。还原过程如图:

还原的时候数据库必须启动到mount状态,在open状态下会报错无法获取队列。

在cmd下执行rman target /

Rman 下执行 shutdown immediate;

Startup mount;

Restore database;

Recover database;

此时还原完成,开启数据库。

注意:rman在还原时对应两个操作,数据库修复restore和数据库恢复recover。restore和recover的区别,先restore后recover;restore为修复,recover为恢复。

Restore时会利用建立的恢复目录来获取备份信息从而选择去获取备份信息。 Recover是将数据库恢复到奔溃前的状态,采用介质恢复的形式,恢复过程中主要应用归档和redo日志。

—————————————————————————RMAN还原数据库到任意一个时间点——————————————————————————————————

1、 启动数据库到mount状态。依次步骤如下:

Shutdown immediate;

Startup mount;

sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";

restore database until time '2018-02-23 14:00:00';

recover database until time '2018-02-23 14:00:00';

sql 'alter database open resetlogs';

还原完成。

Oracle下rman备份和还原到数据库任意一个时间点的更多相关文章

  1. Oracle之RMAN备份及还原

    RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_heade ...

  2. oracle之三rman 备份

    rman 备份 7.1 归档方式下rman备份常用语法: 7.1.1 backup 备份 1)备份全库:1.1 RMAN> backup database format='/u01/myrman ...

  3. Oracle 下基于 DBMS_RESOURCE_MANAGER 包估算数据库存储 IO 性能

    :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; m ...

  4. Linux服务器下对Oracle作Rman备份

    由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ...

  5. Oracle使用rman备份数据库时出现cannot reclaim的错误

    1. 按照<2 day DBA>中的guide,设置fast recovery area. SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_S ...

  6. linux 下RMAN备份shell脚本

    RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选. ...

  7. Oracle之RMAN备份恢复1-基础篇

    1,rman的作用与体系架构 1.1 什么是rman rman(recovery manager)是oracle8i以后dba的一重要工具一般位于$oracle_home/bin目录下,主要用来备份, ...

  8. Oracle 使用RMAN COPY 移动 整个数据库 位置 示例

    一.数据迁移说明 在DBA的工作中会遇到数据迁移的情况,比如将本地磁盘迁移到ASM,亦或者需要更换存储设备,那么我就需要迁移整个数据库的存储位置. 如果只是移动表空间或者数据文件,我们可以将表空间或者 ...

  9. Oracle 12c RMAN备份文档

    创建备份目录,查看剩余空间 [cistest@cistest ~]$ df -h df: '/home/oratest/.gvfs': Permission denied Filesystem Siz ...

随机推荐

  1. 高举 Vue-SSR

    将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序. SSR的目的 To solve 首屏渲染问题 SEO问 ...

  2. 用python实现进度条功能

    我在做python的作业:ftp服务时,客户端能够上传.下载文件,这个时候需要编写一个进度条来表示当前的传输进度. 我们可以使用sys,模块来完成任务,需要用到sys.stdout这个方法: 程序示例 ...

  3. D2007从win7升级到win10下的莫名其妙问题。

    在win7下听说win10被推荐,于是升级到win10.结果使用d2007不能打开,出现莫名其妙的错误.把bin\bds.exe改名bds1.exe后居然可以启动了.一番折腾后,这把bds1.exe改 ...

  4. 启动BIOS虚拟化

    启动BIOS虚拟化 学习了:https://jingyan.baidu.com/article/335530daa55d7e19cb41c3c2.html securable.exe下载地址:http ...

  5. POJ 2762--Going from u to v or from v to u?【scc缩点新建图 &amp;&amp; 推断是否是弱连通图】

    Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15755 ...

  6. DIV响应式

    @media only screen and (min-width: 100px) and (max-width: 640px) { div { width: 100px; height: 100px ...

  7. Tomcat报错合集

    1.java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start c ...

  8. Java与设计模式-策略模式

    在实际开发中,可能会遇到这样一个情况,某一功能的实现分为多种算法,这些算法能够认定为策略,在实际操作时选择不同算法或策略进行操作得出终于结果.在实际生活中.这些样例也是举不胜举.比如.商场举行活动,满 ...

  9. 软件开发 —— 极限编程(XP:Extreme Programming)

    1. 软件开发的基本概念 软件开发的过程是:需求分析.设计.编码和测试. 2. 极限编程基本内涵 极限编程是一个轻量级的.灵巧的软件开发方法:同时它也是一个非常严谨和周密的方法. 它的基础和价值观是交 ...

  10. [Swift]注册并购买加入Apple开发者计划。提示: “你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行”

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...