热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

初学rman的总结

1,rman数据库的增量备份Rman备份必须在数据库处于归档的时候进行。(archiveloglist查询)增量备份分为几个等级:每个等级备份的数据量不同;0级增量备份及是数据库的全备份。增量备份
1rman数据库的增量备份

Rman备份必须在数据库处于归档的时候进行。(archive log list查询)

增量备份分为几个等级:每个等级备份的数据量不同;0级增量备份及是数据库的全备份。

增量备份的好处在于:减少了备份的数据量,节省磁盘空间;减少了恢复扫描的块的数量。

增量备份都必须从0级开始。Backup incremental level 0 database;   

9I中将所有的数据块读入内存中,用每个数据块中的scn号与父备份集相比较来确定是否被修改。

10g中通过块跟踪的方式来确定哪些块被修改。

Rman可以通过copy命令将数据文件转存(copy datafile 1 to '路径'

  1)累积增量备份(cumulative)

备份之前最好通过 report schema查看数据库的数据文件大小及数量。

从上级备份之后开始备份。

                    

周末的0级,周一2级,周二2级,周三1级,周四2级,周五2级,周六2

因为增量备份默认的是差异备份,所以在进行累积备份时必须使用cumulative关键字

Backup incremental level 0 cumulative database

Backup incremental level 2 cumulative database

Backup incremental level 2 cumulative database

Backup incremental level 1 cumulative database

Backup incremental level 2 cumulative database

Backup incremental level 2 cumulative database

Backup incremental level 2 cumulative database

通过这种备份可以恢复一周内任意时间的数据。例如:要恢复周四的数据则直接通过周三的备份集和周四的备份集就可以恢复。

  2)差异增量备份(differental)

这是默认的备份方式,是同级备份之后开始。


周末的0级,周一2级,周二2级,周三1级,周四2级,周五2级,周六2

Backup incremental level 0 database

Backup incremental level 2 database

Backup incremental level 2 database

Backup incremental level 1 database

Backup incremental level 2 database

Backup incremental level 2 database

Backup incremental level 2 database

通过这种备份可以恢复一周内任意时间的数据。例如:要恢复周四的数据则直接通过周三的备份集和周四的备份集就可以恢复。

  3)两种方式的区别

累积增量备份是从上一级开始到现在的改变的数据都进行备份,同一级备份过的进行从新备份。

差异增量备份是从同一级开始到现在的改变的数据进行备份,同一级备份过的就不进行备份了。

2rman数据库的恢复

  1)模拟数据文件丢失(完全恢复)

1,出现数据文件的丢失 


2,通过rman进行恢复(用的是0级差异备份)

恢复时默认的是用最新的那个备份集,如果要用其他的备份集可以指定某个tag

Restore database from tag tag的值


还原之后数据库的数据文件头的scn和控制文件的scn的值就会不同(如果要数据库能打开则必须保证数据文件头的scn和控制文件的scn相同,所以还有做recover

3)进行数据库的恢复操作(recover

  Recover可以在rman中,也可以在sqlplus中进行,但是两者的区别在于,sqlplus中的recover只能使用归档进行恢复,如果归档不存在就会报错。而rman中则用的备份集进行恢复。


恢复完成后数据文件头的scn和控制文件的scn相同,这样数据库才能打开。

4)当数据文件丢失,归档但没有备份的时候可以通过

Alter database create datafile '丢失的数据文件名称' as '丢失的数据文件名称'

进行重新创建,然后用recover进行恢复。

  2)模拟控制文件丢失

控制文件丢失是将数据库中的所有信息都丢失了,因为rman的备份信息都保留在控制文件中;

如果有控制文件的单独备份可以直接通过指定restore使用的文件名进行恢复


Set dbid进行连接数据库


Restore 数据库通过指定的备份文件


然后将数据置于mount状态


最后进行数据文件的恢复


打开数据库(因为是非完全恢复所以要重置日志文件打开数据库)


完成后要对数据库的全备份。保证所有的数据正确

  3)模拟redo log日志文件丢失

是否是当前日志可以通过select status from v$log查看

1,非当前日志的丢失

 

可以发现当前的日志文件为第三组;


直接通过alter database clear lofile 进行重建日志文件。然后打开数据即可

2,当前日志的丢失


删除第一组日志文件。

运用上面的方法不行了


通过修改隐含参数不对打开数据库进行scn验证。


然后对数据进行恢复


最后通过resetlogs打开数据库

   4)表空间的恢复

Rman>Sql “alter tablespace undo1 offline”

Rman>Restore tablespace undo1

Rman>Recover tablespace undo1

Rman>Sql “alter tablespace undo1 online”

3rman备份策略

周日0级,周一1级差异,周二1级差异,周三1累积,周四1级差异,周五一级累积,周六一级差异

Backup incremental level 0 cumulative database

Backup incremental level 1 database

Backup incremental level 1 database

Backup incremental level 1 cumulative database

Backup incremental level 1 database

Backup incremental level 1 cumulative database

Backup incremental level 1 database

但是如果数据库能在1小时内备份完成,则建议每天进行全备份。

4rman备份常用命令

1host 暂时退出rman的命令提示符,进入操作系统的命令环境

2sql 'alter system archive log' 可以执行sql语句,但是不能执行select,或者说是执行了但是看不到结果

3backup database 进行数据库全备份

4backup database format f:\oracle\backup\bak_%U;以指定名称的备份集进行备份

5backup tablespace users 进行表空间的备份

6list backup of database/tablespace users/controlfile/spfile/datafile只显示相应的备份集

7report schema 查询连接数据库的数据文件,控制文件等信息

8delete nopromptbackup integer)删除备份集,noprompt直接删除不提示,integer删除指定的备份集

9backup datafile integer)备份指定的数据文件

10backup database include current controlfile 备份数据库加上控制文件

11configure controlfile autobackup on 将数据文件自动备份

12backup current controlfile plus archivelog 备份控制文件加上归档日志

注意:备份归档的步骤

     1,对当前的redolog进行归档(alter system archive log current

     2,备份所有已归档的日志(backup archive log all

     3,对指定项进行备份

     4,再次对当前的redolog进行归档(alter system archive log current

     5,对新生成的尚未备份的归档文件进行备份

13backup spfile 参数文件进行备份

14show all 查询当前的配置参数

15delete expired backup 删除无效的备份

16delete obsolete;删除过期的备份

17delete backupset) (integer)删除指定的备份集

18crosscheck backup 检查备份集的状态

19configure retention policy to recovery window of  N days;备份集保留的天数

20configure retention policy to  redundancy  N;备份集的冗余的数

21,backup validate database ;对数据进行检查看是否有备份,并记录到v$database_block_corruption视图中

5catalog连接数据库

Sql>Create tablespace rman_ts datafile ‘f:\rman.dat’ size 10M;

Sql>Create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts;

Sql>Grant recovery_catalog_owner,connect,resoure to rman;

C:>rman target / 远程@db_link catalog rman/rman@db_link;

注意:catalog是可以将远程的数据库,导入到本地,但是连接catalog rman/rman这个必须是本地的连接。

Rman>create catalog tablespace rman_ts;

Rman>register database;

Rman>备份命令(或脚本);


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
hja2045905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有