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

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. foreach next 操作数组指针移动问题

    2018年10月20日10:39:40 先说结论,foreach 维护的是一套属于自己的数组指针 会在操作数据的时候,分裂一套变量地址,即使你强制使用 & 取地址一样会分裂,不会引用同一套指针 ...

  2. 邮件服务器安装--Postfix + Dovecot + Squirrelmail--CentOS 6.4

    英文原文链接 : http://www.unixmen.com/install-postfix-mail-server-with-dovecot-and-squirrelmail-on-centos- ...

  3. c# 存储过程取output 值

    DataAccess da = new DataAccess(); da.sqlPath = Config.Get("System", "dataCntString&qu ...

  4. delphi 调试查看变量值

    在debug状态,打开run下的add watch就可以添加需要查看的变量,可以各种格式显示非常方便

  5. linux netcat 命令详解

    功能说明:强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p< ...

  6. VisualStudioCode创建的asp.net core项目部署到IIS,以及遇到的问题

    一.发布项目 在visual studio code中通过命令“dotnet publish”,如下图: 这里我把发布位置设置到了D:\WebSite\netcoredemo下. 二.设置IIS 0. ...

  7. git 远程

    git remote add origin [远程仓库地址]

  8. vue cli 3.0创建项目

    .npm i -g @vue/cli .vue create my-project 此处有两个选择: 1.default (babel, eslint)默认套餐,提供babel和eslint支持 2. ...

  9. python基础之 正则表达式,re模块

    1.正则表达式 正则表达式:是字符串的规则,只是检测字符串是否符合条件的规则而已 1.检测某一段字符串是否符合规则 2.将符合规则的匹配出来re模块:是用来操作正则表达式的 2.正则表达式组成 字符组 ...

  10. Mac截图操作,自定义快捷键

    选择system preferences 下面能看到系统定义的快捷键,可以自己修改