`

Oracle数据库联机热备份的原理简介

阅读更多
http://oracle.chinaitlab.com/backup/838957.html
要求归档模式
引用
SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     94
下一个存档日志序列   96
当前日志序列           96

先看用户管理的热备份

  看看下面这个关键的操作,将备份的内容置于backup模式,用户管理的联机热备份必需的操作,
  不然copy备份的数据文件不能用来恢复,即使用某些放时恢复了也会丢数据。



alter tablespace users begin backup;
select d.file_name filename, d.tablespace_name ts_name, b.status
  from dba_data_files d, v$backup b
  where d.file_id=b.file#;

USERS表空间现在处于backup模式,究竟这时候怎么了?

  在我们alter tablespace users begin backup 的时候是

  锁定了users表空间对应的数据文件头的change scn.

  首先考虑一下数据库怎么用日志文件做恢复:查找不一致的数据文件(根据文件头中旧的scn)

  如果锁定了文件头,这个文件头中的scn就不会改变(当然了数据块还是会变化的,还可以做读写)。

  然后就会应用这个scn到现在的日志。那我锁定了scn,不管你后边怎么修改,

  总之做恢复的时候是应用锁定的时候的scn一直到现在的日志(完全恢复的话)

  举个例子:

  a,b两个数据文件,把a置于备份模式,b正常

  这时候两个change scn都是100,然后开始备份

  这期间有数据库的修改,备份完成的时候,Scn变成了200.但是由于a的备份模式,

  所以a的文件头中记录的scn还是100,b是200.

  某个时间,假设scn 500

  这时候a丢失

  copy回a的备份,然后recover,完全恢复的话数据库就应用100—500这段的日志,自然也就不会丢失数据了。

  因为不管在我copy备份的过程中你做什么操作,总之都在锁定的时change scn之后,

  所以应用的日志就不会有遗漏了。这时候应该能理解为什么要数据库处于archived模式了

  看看数据文件头的change scn
select NAME,TABLESPACE_NAME,STATUS,CHECKPOINT_CHANGE# from v$datafile_header 



显然,在将users表空间置于backup状态的时候,相应的datafile的文件头的scn就不会再发生改变,发生检查点也不会改变。
alter system checkpoint;
select NAME,TABLESPACE_NAME,STATUS,CHECKPOINT_CHANGE# from v$datafile_header;


下面end backup,看看scn
引用

SQL> alter tablespace users end backup;

表空间已更改。

SQL> alter system checkpoint;

系统已更改。

select NAME,TABLESPACE_NAME,STATUS,CHECKPOINT_CHANGE# from                                                  v$datafile_header;


再说说rman备份

  个人认为理解了用户管理的热备份,rman就已经理解了一大半了

  rman 备份是针对块一级的,支持增量备份,稍后说怎么做的增量备份

  Rman备份并不需要将数据库或者表空间置于backup状态,但是它会把scn记录

  在catalog中对应你的backupset准备在恢复的时候来使用

  对users表空间做一个完全备份
引用

RMAN> run{
2> allocate channel d1 type disk;
3> backup
4> tablespace users;
5> release channel d1;
6> }

看一下备份集里都有什么,注意看Ckp SCN 11351573018754,


恢复的时候应用11351573018754开始到现在的归档日志和重做日志。
rman的增量备份的基本原理

  其实原理很简单,主要就是弄明白怎么样在做增量备份时确定某个数据块需要备份,哪个不需要

  rman在做1级备份的时候怎么来确定0级备份之后都有哪些数据块做了修改呢?看下面一段

  Each data block in a datafile contains a system change number (SCN), which is the

  SCN at which the most recent change was made to the block. During an incremental

  backup, RMAN reads the SCN of each data block in the input file and compares it to

  the checkpoint SCN of the parent incremental backup. If the SCN in the input data

  block is greater than or equal to the checkpoint SCN of the parent, then RMAN copies

  the block.

  原来block里边也有一个change scn

  也就是说在做level 1级备份的时候,需要扫描所有的数据块并且用块中记录修改的SCN

  跟level 0备份时的SCN做比较(备份记录中的Ckp SCN),来确定这个块是否需要备份。

  所以扫描整个数据文件是不可避免的 !

  这是传统的rman做增量备份

  在10g中rman做增量备份不再需要扫描整个数据文件了

  10g引入的新特性 block change tracking:

  Block change tracking进程记录自从上一次备份以来数据块的变化,并把这些信息记录在跟踪文件中。

  RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的促进了备份性能,

  RMAN可以不再扫描整个文件以查找变更数据。

  RMAN's change tracking feature for incremental backups improves incremental

  backup performance by recording changed blocks in each datafile in a change tracking

  file. If change tracking is enabled, RMAN uses the change tracking file to identify

  changed blocks for incremental backup, thus avoiding the need to scan every block in

  the datafile.

  估计是使用的位图文件做的记录!
  • 大小: 15 KB
  • 大小: 18.3 KB
  • 大小: 17.9 KB
  • 大小: 18.1 KB
  • 大小: 2.1 KB
分享到:
评论

相关推荐

    Oracle数据库四种备份方法优缺点.pdf

    Oracle 数据库提供了多种备份方法,包括冷备份、热备份、EXP 数据库导出和 EXPDP 数据泵技术等。每种备份方法都有其优缺点和适用场合。 1. Oracle 冷备份 Oracle 冷备份是指在数据库关闭的情况下,使用拷贝的...

    oracle数据库的备份与恢复.docx

    oracle 数据库提供了多种备份方式,包括冷备份、热备份和通过 exp 应用程序备份。 冷备份是最简单直接的备份方式,也称为脱机备份。在进行冷备份时,必须关闭数据库,然后使用操作系统的拷贝命令来完成对数据库的...

    oracle数据库备份与恢复操作手册

    Oracle数据库支持三种主要的备份方法:导出(Export)、热备份(Hot Backup)和冷备份(Cold Backup)。导出是一种逻辑备份,通过Oracle的Export工具将数据从数据库中提取出来,然后使用Import工具将数据重新导入。...

    基于Oracle数据库系统的备份与恢复技术研究.pdf

    Oracle数据库系统是目前全球范围内使用最广泛的数据库管理系统之一。它不仅具有极高的灵活性、稳定性,还能支持大数据量的存储。随着信息技术的快速发展,Oracle数据库的应用已经渗透到人们生活的方方面面,包括但不...

    论ORACLE数据库归档模式与备份恢复的关系.pdf

    在ARCHIVELOG模式下,结合冷备份和热备份,以及归档重做日志,可以实现完整的时间点恢复。而在NOARCHIVELOG模式下,通常只能进行完全数据库的备份和恢复,无法进行增量或时间点恢复。 总结来说,ORACLE数据库的归档...

    Oracle数据库备份恢复技术研究及数据库两级备份模式的实现.pdf

    - 数据库联机热备份:该备份方式允许数据库在运行时进行备份,备份时需要将表空间设置为备份模式,此时数据文件被拷贝,而数据库仍在处理用户事务。备份完成之后,表空间需要退出备份模式。联机热备份不会中断...

    Oracle9i数据库的备份与恢复

    - **热备份恢复**:恢复时,首先恢复最新的数据文件备份,然后应用归档日志文件和联机重做日志文件,以确保数据的一致性和完整性。 #### 增量导出和导入 增量导出是一种针对整个数据库的备份方法,它特别适用于...

    oracle数据库的备份与恢复

    本节主要探讨Oracle数据库的两种主要备份类型:冷备份和热备份。 1. 冷备份(脱机备份) 冷备份是最基本的备份方法,通常在数据库关闭的状态下进行。这种方法简单直接,但缺点是需要中断数据库服务,可能不适用于...

    Oracle 数据库的备份与恢复方法

    热备份,又称为联机备份,是在数据库运行状态下进行的物理备份。它允许数据库在备份过程中继续服务,提高了可用性。然而,热备份操作复杂,需要谨慎执行,通常需要在归档模式下进行,以防止数据丢失。 总的来说,...

    ORACLE数据库备份.doc

    本文将详细介绍Oracle数据库的三种主要备份方式:导出/导入(EXPORT/IMPORT)、冷备份和热备份。 导出/导入备份是一种逻辑备份方法,它通过EXPORT工具将数据库中的数据导出为二进制的导出转储文件,然后可以使用...

    Oracle数据库备份

    8. **热备份与冷备份**:热备份在数据库运行时进行,通常通过RMAN实现;冷备份则在数据库关闭时进行,更简单,但需要停机。 9. **备份策略**:备份策略应根据业务需求制定,例如,对于高可用性要求高的系统,可能...

    浅述Oracle数据库的备份与恢复方法.pdf

    归档模式指的是联机和热备份,非归档模式是脱机和冷备份。 脱机备份是在用某些命令符关闭了数据库之后进行的备份方式。数据库管理员把全部的数据文件以及日志文件等传输到其它的设备当中,这种备份方式想要恢复的话...

    Oracle数据库容灾备份技术的研究与应用.pdf

    研究Oracle数据库的容灾备份技术不仅可以帮助我们理解备份和恢复过程的原理,还能指导我们制定出更为合理有效的备份策略。特别是在当前办公自动化和电子商务飞速发展的背景下,企业对于数据系统的依赖性越来越高,...

    Oracle经典数据库备份手册.pdf

    常见的备份方案包括操作系统脱机冷备份、操作系统联机热备份、使用RMAN联机热备份、使用RMAN增量备份和逻辑备份等。 6. 数据库环境 数据库环境是指数据库运行所需的软硬件环境。包括数据库管理系统、操作系统、...

    用RMAN进行ORACLE数据库备份的方法研究.pdf

    联机备份也称热备份,它允许在数据库启动时备份数据,并提供时间点恢复。脱机备份也称冷备份,它需要关闭数据库,并且可以提供也可以不提供时间点恢复。 RMAN(Recovery Manager)是Oracle数据库备份和恢复工具,...

    Oracle数据库的数据备份案例分析.pdf

    Oracle数据库是全球广泛使用的关系型数据库管理系统之一,其在数据安全性方面提供了多种备份和恢复策略。本文主要讨论了Oracle数据库的几种数据备份方法,并通过案例分析深入探讨了这些方法的实施和优缺点。 1. ...

    Oracle数据库的备份方法及策略.pdf

    本文主要探讨了Oracle数据库的三种备份方式:冷备份、热备份和逻辑备份,并通过实例解析这些方法,提出了一套实用的备份策略。 首先,Oracle数据库的结构分为物理结构和逻辑结构。物理结构涉及到数据在磁盘上的实际...

    Oracle数据库备份与恢复实例讲解ppt课件.pptx

    Oracle数据库备份与恢复实例讲解 本文档旨在介绍 Oracle 数据库备份与恢复的实例讲解。备份和恢复是数据库管理员的重要职责之一,目的是为了保护数据库免受故障的影响,确保数据的安全和可靠性。 一、数据库常见...

    oracle数据库的备份与恢复.ppt

    磁盘失败(媒体失败)可能导致数据文件无法读取,此时可以通过热备份恢复。恢复流程包括:从备份中恢复文件到原位置,安装数据库,启动并挂载,执行数据库恢复,最后打开数据库。 数据库备份主要有三种类型:逻辑...

Global site tag (gtag.js) - Google Analytics