一、配置RMAN

1、配置归档(ARCHIVELOG)模式

数据库在装载(MOUNT)模式下执行下列操作开启归档模式

SQL> ALTER DATABASE ARCHIVELOG;

将数据库置于归档模式可防止重做日志在归档之前被覆盖。

如果处于非归档(NOARCHIVELOG)模式,数据库只能恢复到上一次备份的时间,到当前时间的之间的数据变更都会丢失。

不用进sqlplus,直接运行rman命令就可以

通过rman连接本地数据库非常简单,以windows平台为例,进入到命令提示符界面:

C:\Documents and Settings\Administrator>set oracle_sid=jssweb

C:\Documents and Settings\Administrator>rman target / nocatalog

恢复管理器: Release 11.2.0.1.0 – Production

Copyright (c) 1982, 2009, Oracle Corporation. All rights reserved.

连接到目标数据库: JSSWEB (DBID=3391142503)

RMAN>

注:如果本地库只有一个实例,则不需要指定oracle_sid。Rman会自动连接到默认实例。

当然,也可以先启动rman,然后再通过connect来连接目标数据库,如下:

C:\Documents and Settings\Administrator>set oracle_sid=jssweb

C:\Documents and Settings\Administrator>rman

恢复管理器: Release 11.2.0.1.0 – Production

Copyright (c) 1982, 2009, Oracle Corporation. All rights reserved.

RMAN> connect target / nocatalog

连接到目标数据库: JSSWEB (DBID=3391142503)

RMAN>

如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。示例如下:

C:\Documents and Settings\Administrator>rman target sys/change@testdb

恢复管理器: Release 11.2.0.1.0 – Production

Copyright (c) 1982, 2009, Oracle Corporation. All rights reserved.

连接到目标数据库: TESTDB (DBID=2220262593)

RMAN>

当然,在这里你也可以同样先启动rman,再通过connect创建连接。具体示例与上类似

2、配置控制文件自动备份

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN的相关信息保存在控制文件中(非CATALOG模式),如果控制文件丢失而又没有备份的话,会给数据库的恢复造成很大困难

3、配置控制文件记录保持时间

SQL> ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=45;

设置RMAN备份信息保存在控制文件中的时间,要大于等于保留策略的恢复窗口。

4、配置保留策略的恢复窗口

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

备份文件超过这个日期时RMAN会标记为已不用(OBSOLETE):

RMAN> REPORT OBSOLETE;

数据库中的文件超过这个日期时RMAN会报告需要备份:

RMAN> REPORT NEED BACKUP;

5、设定默认保存备份文件的路径

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘D: /BACKUP/%U’

6、启用快速增量备份

在9i中,RMAN进行增量备份要扫描所有数据文件,找出发生变更的数据块,然后进行备份。

在10g中,增加了一个新特性—块更改跟踪(Block Change Tracking),会把发生变更的数据块记录在一个跟踪文件内,这样就避免了增量备份时对数据库的全面扫描。

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE ‘D:/BACKUP/BLOCK_CHANGE_TRACKING.TRC’;

7、配置RMAN使用优化(OPTIMIZATION)模式

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

开启优化模式RMAN会自动跳过满足某些条件的文件,实验表明,优化模式可以提高10%左右的性能

8,配置RMAN使用压缩备份集

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

在10g中RMAN增加了一个新特性—压缩备份集,能够使备份集减少到原来的1/5或1/6,代价是增加10%左右的CPU消耗,可以根据实际情况选择使用。

条件允许的话(多物理硬盘、多CPU)还可以用上面命令设定并行备份

二、管理RMAN

通过RMAN的REPORT,LIST,CROSSCHECK,DELETE命令可以对RMAN进行管理。

1,如果手动删除了备份文件的话,需要执行交叉检验让RMAN进行同步。

RMAN> CROSSCHECK BACKUP;

RMAN> CROSSCHECK ARCHIVELOG ALL;

交叉检验后RMAN会把已经被手动删除的备份文件的状态设置为过期(EXPIRED)。

2,报告已不用(OBSOLETE)和过期(EXPIRED)的备份文件。

RMAN> REPORT OBSOLETE;

RMAN> LIST EXPIRED BACKUP;

3,删除已不用(OBSOLETE)和过期(EXPIRED)的备份文件。

RMAN> DELETE OBSOLETE;

RMAN> DELETE EXPIRED BACKUP;

三、使用RMAN进行恢复

?? RMAN 的整个恢复过程可以分为还原(RESTORE)与恢复(RECOVER),他们在含义上是有很大差别的,一个是指物理意义的文件的还原与拷贝,一个是指数据库一致性的恢复。

?? 数据库的的恢复比较复杂,有许多不同的情况,必须在了解ORACLE数据库结构的条件下用不同的方法进行处理。下面只列出最普通的恢复情况。恢复整个数据库之前必须让数据库处于(MOUNT)状态。

SQL> STARTUP MOUNT;

然后执行RMAN命令进行还原和恢复。

1,完全恢复

1.1,恢复整个数据库

RMAN>RUN {

ALLOCATE CHANNEL ‘DEV1’ TYPE DISK;

ALLOCATE CHANNEL ‘DEV2’ TYPE DISK;

ALLOCATE CHANNEL ‘DEV3’ TYPE DISK;

RESTORE DATABASE;

RECOVER DATABASE;

RELEASE CHANNEL DEV1;

RELEASE CHANNEL DEV2;

RELEASE CHANNEL DEV3;

}

1.2,恢复指定表空间或数据文件

在恢复该表空间之前让该表空间处于脱机的状态(OFFLINE状态)。

SQL> ALTER TABLESPACE TBS OFFLINE;

然后通过RMAN进行恢复。

RMAN> RUN {

ALLOCATE CHANNEL ‘DEV1’ TYPE DISK ;

ALLOCATE CHANNEL ‘DEV2’ TYPE DISK ;

ALLOCATE CHANNEL ‘DEV3’ TYPE DISK ;

RESTORE TABLESPACE TBS ;

RECOVER TABLESPACE TBS ;

RELEASE CHANNEL DEV1 ;

RELEASE CHANNEL DEV2 ;

RELEASE CHANNEL DEV3 ;

}

2,不完全恢复

不完全恢复情况比较复杂,大致分一下四类。

1,基于时间的恢复(Time-based recovery)

2,基于撤销的恢复(Cancel-based recovery)

3,基于改变的恢复(Change-based recovery)

4,日志序列恢复(Log sequence recovery)

3,块级别的恢复

RMAN可以在线对逻辑损坏的数据块进行恢复而不影响数据库的运行。

RMAN> BLOCKRECOVER DATAFILE 6 BLOCK 3;

四、使用FLASHBACK进行快速恢复

发生以下类型的错误时,通常需要使用备份执行恢复:

1.介质故障:因数据库文件的物理问题而导致无法读写该文件

2.用户错误:数据库中的数据被误更改或误删除

使用RMAN进行介质故障恢复,使用FLASHBACK进行用户错误恢复。

1,9i中的FLASHBACK:

查询数据库的SCN变化情况

SQL> SELECT NAME,FIRST_CHANGE# FSCN,NEXT_CHANGE# NSCN,FIRST_TIME FROM V$ARCHIVED_LOG;

获得当前SCN

SQL> SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FSCN FROM DUAL;

创建恢复表,选择恢复到合适的SCN

SQL> INSERT INTO TB_RECOVER SELECT * FROM TB AS OF SCN 1999999999;

2,10g中的FLASHBACK:

10g的FLASHBACK进行了增强和修改,通过回闪,用户可以完成许多不可能恢复的工作,目前10g的回闪包括以下特性;

1,oracle falshback Database.

该特性允许 oracle 通过 Flashback database 语句,将数据库会滚到前一个时间点或者scn上,而不需要作时间点的恢复工作!

2,oracle falshback table.

该特性允许 oracle通过 flashback table 语句,将表会滚到前一个时间点或者scn上。

3,oracle falshback drop.

该特性允许oracle恢复drop掉的table或者索引。

4,oracle falshback version query.

该特性可以得到特定的表在某一个时间段内的任何修改记录!

5,oracle falshback transaction query

该特性可以限制用户在某一个事务级别上检查数据库的修改操作,适用于诊断问题、分析性能、审计事务。

oracle 进去rman,oracle数据库RMAN使用方法简介 | IT民工 or IT精英相关推荐

  1. 【实验】Oracle 10g RAC生产数据库RMAN方式恢复到异地单机数据库全程记录

    [前言]这是一个RMAN备份有效性验证的过程. 源端环境介绍: 生产数据库是包含两个节点的Oracle 10g 10.2.0.3 RAC数据库: ASM管理+裸设备 数据库名:racdb 第一节点的s ...

  2. mysql跨库oracle查询_ORACLE跨数据库查询的方法

    本文简述了通过创建database link实现ORACLE跨数据库查询的方法 1.配置本地数据库服务器的tnsnames.ora文件 $vi $ORACLE_HOME/network/admin/t ...

  3. oracle is删除表数据库,rman删除expired备份提示“This command is forbidden”

    今天在删除主库归档日志的时候又遇到一样的错误: [oracle@DB1 ~]$ ll /dbdat/orclprd/oracle/archivelog(篇幅有限,没全部复制) 总用量 8134040 ...

  4. Oracle 9i 升级至Oracle10g数据库最好的方法

    1.在安装好Oracle 10g软件的目标服务器上创建和源数据库9i 数据文件,控制文件,redo文件相同的目录(两台数据库的数据文件的位置必须相同,否则就需要使用alter database ren ...

  5. oracle数据库mgmt,Oracle 12cRAC移动MGMTDB数据库数据文件方法-Oracle

    在之前的Blog里介绍了Oracle12c RAC 中的MGMTDB的概念,参考: Oracle 12cRAC MGMTDB 说明 /database/201412/359252.html 而在默认情 ...

  6. oracle查看rman进度,查看RMAN工作进度

    当RMAN需要备份或恢复的数据量较大时,RMAN可能长时间没有反馈的结果,使人误以为RMAN挂掉了. 当RMAN需要备份或恢复的数据量较大时,RMAN可能长时间没有反馈的结果,使人误以为RMAN挂掉了 ...

  7. RAC生产数据库RMAN方式恢复到异地单机数据库全程记录

    [实验]Oracle 10g RAC生产数据库RMAN方式恢复到异地单机数据库全程记录         个人分类:备份与恢复 [前言]这是一个RMAN备份有效性验证的过程. 源端环境介绍: 生产数据库 ...

  8. oracle rman 登录方式,RMAN登陆及连接target数据库的步骤方法

    RMAN登陆及连接target数据库的步骤方法 一.            方法一: a)        [Oracle@odd-oelr4u8 ~]$ rman target sys/oracle@ ...

  9. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复

    示例一:表空间的数据文件被误删除 open状态下删除表空间对应的所有数据文件. 在open状态下使用alter tablespace ... offline for recover 脱机表空间. 使用 ...

最新文章

  1. Linux ISCSI配置
  2. VirtualBox装ghost XP
  3. POJ1942-Paths on a Grid
  4. C++输出变量类型、max报错原因
  5. Nodejs线上日志部署
  6. PAT乙:1036 跟奥巴马一起编程
  7. 基于JAVA+Servlet+JSP+MYSQL的毕业生就业管理系统
  8. Trick(十一)—— list of lists 每一个属性列的获取
  9. JS 里的数据类型及几个操作
  10. C++学习之 delete 构造器
  11. QT 网络编程之https
  12. 山东计算机科学自考科目,山东自考本科专业考试科目(动画设计、电脑艺术、计算机、电子工程、)...
  13. TCP的MTU探测功能
  14. DMAc-TRZ cas:1628752-98-6,双[4-(N-吩噁嗪)苯基]硫砜,热延迟荧光材料TADF
  15. 小程序后端云开发(一)
  16. Type interface com.aiit.mapper.BrandMapper is not known to the MapperRegistry.解决办法
  17. border渐变 ios_iOS实现颜色渐变
  18. java getmethods_java中Class.getMethods()和Class.getDeclaredMethods()方法的区别
  19. 二分图最大匹配的算法
  20. 怎么样让别人访问我的计算机,局域网内怎么让别人访问我的电脑

热门文章

  1. 初学SLAM一之漫谈
  2. An Incentive Mechanism for Cross-silo Federated Learning: A Public Goods Perspective论文笔记
  3. Mysql的AB复制,实现AB复制出现的问题
  4. 【华为OD机试真题 python】机器人走迷宫 【2022 Q4 | 200分】
  5. Python 如何批量修改文件格式
  6. css样式高居中,CSS居中的几种方式
  7. [原创]Cadence软件使用记录8_Allegro绘制PCB菜鸟初成
  8. Android - TextView动画加载文字
  9. 奥特曼系列ol光元在哪个服务器,《奥特曼系列ol》刷光元 攻略
  10. 转自:开源社区。oschina 开源项目总结