• 配置基于时间的备份保留策略

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

  • 恢复spfile

RMAN> restore spfile from '/bk/xxxxxx'; 如果在Oracle10g里这里就是控制文件,因为在备份控制文件的时候会自动备份参数文件,但是在oracl11g里我做的时候控制文件找不到    所以要从另外一个文件里找到的参数文件恢复出来的;这一步成功在之后你的$ORACLE_HONE/dbs/下已经有了二进制参数文件和控制文件了,但是这个参数文件是生产库的参数文件跟你的服务器上所对应的目录不一定一样,所以你要修改参数文件。

  • 开始恢复control file,进而得到备份集的信息:

RMAN> restore controlfile from '/u02/20190324_HIS_25210_1.ctl';

  • 列出备份集:

RMAN> list backup of database;

  • 删除过期的备份介质.
RMAN> delete obsolete(nopormt指定无需确认立即删除)
  • RMAN的备份记录中依然存在,清除这些信息。
RMAN> crosscheck backup;
  • 删除过期的备份信息。
 
RMAN> delete expired backup;
  • 指定还原的路径:

catalog start with '/backup/his/';

  • 指定还原的文件名:

alter database mount;
set newname for datafile 1 to "/ora/u01/data/users.dbf";
set newname for datafile 2 to "/ora/u01/data/undotbs1.dbf";
set newname for datafile 3 to "/ora/u01/data/sysaux01.dbf";
set newname for datafile 4 to "/ora/u01/data/system01.dbf";
set newname for datafile 5 to "/ora/u01/data/undotbs2.dbf";
set newname for datafile 6 to "/ora/u01/data/hisdata.dbf";

  • 数据文件不同路径的还原:

run{
set newname for database to '/ora/u00/oracle/oradata/his/%b';
restore database;
switch datafile all;

recover database;
      alter database open;
}

  • 不完全恢复
     不完全恢复有一个核心要领需要牢记:不完全恢复影响的是整个数据库,不能只对数据库的一部分执行不完全恢复。不完全恢复使用的方法通常有:基于时间、SCN、日志序列、还原点或基于删除的恢复。
      $ rman target /  
     RMAN> startup mount
     RMAN>run
      {
      set until time "to_date('07/01/2015 15:00:00', 'mm/dd/yyyy hh24:mi:ss')";
      restore database;
      recover database;
      alter database open;
      }
 
 允许数据不一致

RMAN> recover database until cancel;

恢复数据到某个序列号

RMAN> recover database until sequence 46101 thread 1;

查看日志文件

[oracle@histest ~]$ cd $ORACLE_BASE
[oracle@histest oracle]$ cd diag/rdbms/
his/ histest/ unknown/
[oracle@histest oracle]$ cd diag/rdbms/his/
HIS/ i_1.mif
[oracle@histest oracle]$ cd diag/rdbms/his/HIS/trace/
[oracle@histest trace]$ tail -200f alert_HIS.log

===========================以下为后台还原数据库===============================

数据库还原脚本:

rman target / <<EOF
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
set newname for database to '/ora/u00/oracle/oradata/his/%b';
restore database;
RECOVER database;
sql 'alter database open resetlogs';
sql 'alter database open';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
EOF
~

添加权限

[root@histest oracle]# chown oracle:oinstall rman.sh
[root@histest oracle]# chmod 775 rman.sh

查看数据库状态为mount

[root@histest ~]# su - oracle
[oracle@histest ~]$ su - oracle
Password:
[oracle@histest ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 11 16:04:53 2019

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS
---------------- ------------
HIS MOUNTED

开启后台执行脚本

[root@histest ~]# su - oracle
[oracle@histest ~]$ /home/oracle/rman.sh >> /home/oracle/out.log 2>&1 &

踩坑一例:

在做RMAN还原时,总提示找不到某个日志文件,致使还原不成功。

最后经过分析,原来是RAC集群里日志保留的时间过短,数据库太大,在做RMAN全备份时,当全备份做完,日志文件已部分被清,导致备份集里的备份的日志文件在做RMAN还原时找不到日志文件。

解决办法:由于库太大,做一次还原时间太长,选择根据SCN号做一次增备和控制文件备份,再进行还原的最省时间策略。

Rman常用命令的更多相关文章

  1. RMAN常用命令汇总

    RMAN是Oracle数据库备份管理中必须用到的管理工具.它的操作方式有很多种,我整理了一些常用的操作命令,汇总起来,以方便工作. (miki西游 @mikixiyou 文档,原文链接: http:/ ...

  2. RMAN常用命令汇总!

    进入RMAN:$ rman target sys/oracle@orcl   --远程连接到rman$ rman target sys/oracle@orcl @backup_db.ram   --远 ...

  3. Oracle之rman常用命令及维护(51CTO风哥rman课程)

    list 查看数据库备份的信息 查询数据库对应物 list incarnation; list backup summary; 列出当前备份信息及汇总 B是备份 F是全备 A是归档 第三个A是是否有效 ...

  4. RMAN常用备份恢复命令汇总

    RMAN命令 1.独立命令  RMAN>shutdown immediate  RMAN>startup  RMAN>backup format 'd:\backup\%d_%s.b ...

  5. RMAN主要命令 show,list,crosscheck,delete详解

    Oracle RMAN 的 show,list,crosscheck,delete命令整理  Oracle RMAN 的 show,list,crosscheck,delete命令整理 1.SHOW命 ...

  6. 【BBED】bbed常用命令

    [BBED]bbed常用命令         一.1  相关知识点扫盲 BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是O ...

  7. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  8. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  9. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

随机推荐

  1. django缓存、信号、序列化

    本篇导航: Django的缓存机制 Django的信号 Django的序列化 一.Django的缓存机制 1.缓存介绍 1)缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增, ...

  2. Html转义字符列表

    Symbol Code Entity Name ™ ™   €   € Space   ! !   " " " # #   $ $   % %   & & ...

  3. 【C++】约瑟夫环(数组+链表)

    基于数组: #include<iostream> #include<cstring> #include<cstdlib> using namespace std; ...

  4. WinAPI 字符及字符串函数(9): lstrcat - 合并字符串

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  5. C#文件增删改查

    新建: private void btnnewfile_Click(object sender, EventArgs e) { //创建文件 string fileName = @"C:\T ...

  6. springcloud第五步:使用Zuul搭建服务接口网关

    路由网关(zuul) 什么是网关 Zuul的主要功能是路由转发和过滤器.路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务.zuul默认和Ri ...

  7. 70个Python练手项目列表(都有完整教程)

    前言: 不管学习那门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从 ...

  8. NABCD分析---校园服务

    N(需求): 大学生活中,很多琐碎的小事浪费同学时间精力.我们的APP本着为同学服务的宗旨,解决生活中各方面的问题,同学们可以在APP上发布各种信息,例如兼职,二手买卖等等. A(做法): 用户打开A ...

  9. zt (stack overflow 介绍)

    这是「解密 Stack Overflow 架构」系列的第一篇,本系列会有非常多的内容.欢迎阅读并保持关注. 为了便于理解本文涉及到的东西到底都干些了什么,让我先从 Stack Overflow 每天平 ...

  10. Signalr实时通讯

    我们直接来干货~~~~~~觉得好推荐一下哈  研究不易 参考--https://www.jb51.net/article/133202.htm  这是基本教程 下面是重点: 如果你想允许跨域 具体代码 ...