• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
oracle联机热备原理及rman
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
oracle联机热备原理及rman
软件发布 oracle联机热备原理及rman
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 认证考试 | Oracle认证 | Oracle指导 | oracle联机热备原理及rman

oracle联机热备原理及rman

 

添加时间: 2008-4-29 1:11:51  作者: Oracle指导  阅读次数:7   来源: http://www.d9soft.com

 

 

       

 要求归档模式SQL>; archive log list;Database log mode              Archive Mode Automatic archival             Enabled Archive destination            USE_DB_RECOVERY_FILE_DEST Oldest online log sequence     14 Next log sequence to archive   16 Current log sequence           16
    先看用户 管理 的热备份

    看看下面这个关键的操作,将备份的内容置于backup模式,用户管理的联机热备份必需的操作,不然copy备份的数据文件不能用来恢复,即使用某些放时恢复了也会丢数据SQL>; alter tablespace users begin backup;Tablespace altered. SQL>; list 1  select d.file_name filename,d.tablespace_name ts_name,b.status 2  from dba_data_files d,v$backup b 3* where d.file_id=b.file# SQL>; / FILENAME                   TS_NAME    STATUS

    /u02/oradata/sales/system01.dbf    SYSTEM     NOT ACTIVE /u02/oradata/sales/undotbs01.dbf    UNDOTBS1   NOT ACTIVE /u02/oradata/sales/sysaux01.dbf     SYSAUX     NOT ACTIVE /u02/oradata/sales/users01.dbf       USERS      ACTIVE /u02/oradata/sales/example01.dbf    EXAMPLE    NOT ACTIVE /u02/oradata/sales/perfstat.dbf        PERFSTAT   NOT ACTIVE

    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 SQL>;select NAME,TABLESPACE_NAME,STATUS,CHECKPOINT_CHANGE# from v$datafile_header;NAME               TABLESPACE STATUS       CHECKPOINT_CHANGE#

    /u02/oradata/sales/system01.dbf  SYSTEM     ONLINE                     545926 /u02/oradata/sales/undotbs01.dbf UNDOTBS1   ONLINE                     545926 /u02/oradata/sales/sysaux01.dbf  SYSAUX     ONLINE                     545926 /u02/oradata/sales/users01.dbf   USERS      ONLINE                     545498 /u02/oradata/sales/example01.dbf EXAMPLE    ONLINE                     545926 /u02/oradata/sales/perfstat.dbf  PERFSTAT   ONLINE                     545926

    6 rows selected.

    显然,在将users表空间置于backup状态的时候,相应的datafile的文件头的scn就不会再发生改变,发生 检查 点也不会改变。

    SQL>; alter system checkpoint;System altered.

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

    /u02/oradata/sales/system01.dbf  SYSTEM     ONLINE                     546196 /u02/oradata/sales/undotbs01.dbf UNDOTBS1   ONLINE                     546196 /u02/oradata/sales/sysaux01.dbf  SYSAUX     ONLINE                     546196 /u02/oradata/sales/users01.dbf   USERS      ONLINE                     545498 /u02/oradata/sales/example01.dbf EXAMPLE    ONLINE                     546196 /u02/oradata/sales/perfstat.dbf  PERFSTAT   ONLINE                     546196

    6 rows selected.

    下面end backup,看看scn

    SQL>; alter tablespace users end backup;Tablespace altered.

    SQL>; alter system checkpoint;System altered.

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

    NAME               TABLESPACE STATUS         CHECKPOINT_CHANGE#

    /u02/oradata/sales/system01.dbf  SYSTEM     ONLINE                     546467 /u02/oradata/sales/undotbs01.dbf UNDOTBS1   ONLINE                     546467 /u02/oradata/sales/sysaux01.dbf  SYSAUX     ONLINE                     546467 /u02/oradata/sales/users01.dbf   USERS      ONLINE                     546467 /u02/oradata/sales/example01.dbf EXAMPLE    ONLINE                     546467 /u02/oradata/sales/perfstat.dbf  PERFSTAT   ONLINE                     546467

    6 rows selected.

    再说说rman备份个人认为理解了用户 管理 的热备份,rman就已经理解了一大半了rman 备份是针对块一级的,支持增量备份,稍后说怎么做的增量备份

    Rman备份并不需要将数据库或者表空间置于backup状态,但是它会把scn记录在catalog中对应你的backupset准备在恢复的时候来使用

    对users表空间做一个完全备份$ rman target sys/oracle nocatalog RMAN>; run { 2>; allocate channel d1 type disk;3>; backup 4>; format='/u03/oraclebk/%d_%N_%s.bk' tablespace users;5>; release channel d1;6>; }

    看一下备份集里都有什么,注意看Ckp SCN  546792,RMAN>; list backup of tablespace users;

    List of Backup Sets =================== BS Key  Type LV Size       Device Type Elapsed Time Completion Time

    3       Full    1M         DISK        00:00:02     31-MAR-05 BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20050331T153729 Piece Name: /u03/oraclebk/SALES_USERS_4.bk List of Datafiles in backup set 3 File LV Type Ckp SCN    Ckp Time  Name


    4       Full 546792     31-MAR-05 /u02/oradata/sales/users01.dbf

    恢复的时候应用546792开始到现在的归档日志和重做日志。

    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.估计是使用的位图文件做的记录!

    附:有兴趣的可以看看dump的数据块

    通过下面的查询找一个表对应的数据块SQL>; select file_id,block_id,blocks 2  from dba_extents 3  where segment_name='EMPLOYEES';

    FILE_ID   BLOCK_ID     BLOCKS

    5         81          8

    dump一个块到udump的trc文件SQL>; alter system dump datafile 5 block 81;

    System altered.

    在udump目录找到对应的trc文件,找到dump那段Start dump data blocks tsn: 6 file#: 5 minblk 81 maxblk 81 buffer tsn: 6 rdba: 0x01400051 (5/81)

    scn: 0x0000.00086c4d seq: 0x01 flg: 0x04 tail: 0x4b502001后面省略了

    scn: 0x0000.00086c4d是16进制你可以换算过来552013

 

 

 

上下文章:

 

上一篇文章: 常见问题诊断方法---(常见错误篇) 下一篇文章: oracle双机群集系统

相关文章:

  • 在ORACLE的存储过程中如何做简单的动态查询
  • Oracle下调数据库许可价格以适应多芯CPU
  • Oracle全球客户支持副总裁汤姆·舒尔滋演讲
  • Oracle中国前员工述说公司高层内部纷争史
  • Oracle发布免费数据库管理工具Raptor

相关软件:

  • OptionsOracle V1.3.1
  • Oracle 8 故障解决手册(PDF)
  • TCP/IP网络原理与技术(001)
  • Oracle WebServer 中文手册(CHM)
  • Oracle 9i 应用服务器详解(PDG)
  • SQL Server 2005 联机丛书中文版

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle企业管理器(OEM 2.1)使用...
  • 实例:Oracle导出EXCEL文件
  • Tomcat+SQLServer连接池配置
  • 服务器和客户机是怎样连接的
  • 入门基础:连接常见错误及解决方法
  • ORACLE数据库简介
  • 如何将excel数据导入oracle中
  • 如何取出某一用户的密码 再原样改...

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle企业管理器(OEM 2.1)使用...
  • 在ORACLE的存储过程中如何做简单的...
  • 实例:Oracle导出EXCEL文件
  • AIX下自动启动Oracle数据库与监听...
  • Tomcat+SQLServer连接池配置
  • 服务器和客户机是怎样连接的
  • 入门基础:连接常见错误及解决方法
  • ORACLE数据库简介

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有