动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.读核日记 ( 七 ).
.Oracle数据库技术(20).
.终于知道什么叫做constraint了。.
.Oracle XML学习笔记-存储XML数据.
.如何实现取出文件中特定的列内容.
.简单试验Bulk Binds对性能的提高.
.Oracle:一条SQL实现将多行数据并.
.Oracle数据库使用及命名规则的详.
.在Linux创建库函数(7).
.ORACLE常用傻瓜問題1000問(之一).
.步步为营完全删除Oracle数据库的.
.ORACLE大数据类型的操作之一CLOB.
.网络关系型数据库的代表Oracle 9i.
.Oracle的口令管理.
.Linux 中 x86 的内联汇编.
.Oracle数据库与用户角色权限相关.
.Oracle 9i 在AIX 5L 上的安装、建.
.双机容错环境下Oracle数据库应用.
.由浅至深讲解Oracle数据库 B-tre.
.手工建造 Swap File.

Oracle数据库恢复管理器及特殊包的应用

发表日期:2008-2-9 |



  摘要:多数Oracle数据库治理员会碰到数据库的备份恢复和将某表中数据定期备份形成历史流水数据以便今后查询统计等问题,本文通过对Oracle数据库实用工具恢复治理器及DBMS_JOB包工作机制的分析, 提出了应用Oracle数据库恢复治理器和利用DBMS_JOB包实现存储过程自动执行来解决问题的方法。
  要害词:DBA、备份恢复、恢复治理器、DBMS_JOB包
  
  一. 引言:
  随着Oracle大型数据库系统在企业的广泛应用,系统数据量的快速增长,相信为数不少的Oracle DBA天天都在忙于做着重复的工作--对数据库进行备份。假如一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时对 DBA来说可能就是一场灾难, 因为他可能无法完整地恢复数据库中的数据。此外,在数据库的应用中我们会经常碰到这样的需求:将一些重要数据表中的数据定期备份到另一些数据表中去。例如在企业员工工资治理系统中,每月工资报表打印完毕后,应将当月工资数据保存到工资历史库中去,以便今后查询及统计使用。通常我们采用存储过程来完成对数据的处理,这个过程由人工定期执行完成,操作起来很不方便。对于第一种情况,现在我们可利用Oracle数据库实用工具恢复治理器来完成DBA天天必须做的备份工作,而且可设定一个固定的时间, 让系统自动进行备份。对后一种情况,我们可以使用DBMS_JOB包结合存储过程来实现数据处理的自动执行。下面笔者结合实践经验,分别介绍其实现方法。
  
  二. Oracle数据库备份与恢复方式及特点
  ORACLE 数据库备份分为物理备份和逻辑备份。物理备份是数据库文件拷贝的备份, 冷备份、热备份属于物理备份。 导出/导入(EXPORT/IMPORT)工具用于进行逻辑备份。
  导出(EXPORT)备份可拷贝数据与数据库定义,并以Oracle的内部格式保存为二进制文件。相反,利用Import则可将数据从二进制文件放回到Oracle数据库中。但是导出(EXPORT)备份机制不能提供时间点恢复,而且不能和归档重做日志文件一起使用。
  冷备份是在数据库被正常关闭之后进行的数据文件的物理备份。当数据库被关闭时,被数据库使用的每一个文件都被备份下来。这些文件因而保持着数据关闭时的完整的映象。
  热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方法。 这涉及到将每个表空间设置为备份状态,然后备份其数据文件,最后将表空间恢复成正常的状态。数据库可以从这个备份中完全地恢复过来,也可以通过归档的重做日志回滚到前面时间的任
  一个点上。
  上述几种备份方法的特性比较
  方法     类型        恢复特性
  ----------- --------- ------------------------------------------
  Export导出  逻辑型   可以将任何数据库对象恢复到它被导出时的状态
  冷备份    物理型   可将数据库恢复到它被关闭时的状态
  热备份    物理型   可将数据库恢复到任一时间点的状态
  
  
  以上几种备份方式都需要依靠DBA人工操作完成,从而增加了DBA维护系统的负担。当DBA需要维护多个Oracle数据库系统时,还轻易导致操作失误,而且备份的数据不便于集中统一治理。
  三. Oracle数据库恢复治理器及DBMS_JOB包概述恢复治理器(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,与以上介绍的几种方式不同,它能够提供DBA针对企业数据库备份与恢复操作的集中控制。RMAN可以将备份记录保存在恢复目录中,Oracle服务器保持对备份的跟踪。实际的物理备份拷贝将被存储在指定的存储系统上,可以是磁带或磁盘。RMAN将全部备份数据以Oracle特有的格式写入到"备份集"文件中,通过RMAN应用工具来读取。RMAN支持建立除逻辑备份以外的所有类型的备份。
  下图显示了RMAN的功能框图。
  Oracle数据库恢复治理器及非凡包的应用
  利用RMAN进行备份恢复的条件是:
  1.建立一个recovery_catalog,存放RMAN使用和维护着的目标数据库的信息,RMAN使用这些信息去决定如何执行备份和恢复的请求。通常是把它建在另一个Oracle数据库的一个模式里,即需要建立一个用户,该用户需要有recovery_catalog_owner权限。
  2.目标数据库必须是在archivelog模式下运行,因为这样,日志才能归档,而RMAN正是利用归档日志进行数据恢复,所以这是一个必备条件。同时archivelog模式也是数据库在线备份的必备条件。
  3.RMAN备份中,假如采用磁带机备份,需要安装第三方介质治理库(MML)。恢复治理器保存在RMAN中注册的全部数据库的记录。当RMAN被用来启动备份或恢复数据库时,它将目标数据库与恢复目录中可用的数据库ID进行验证。假如条件一致,RMAN对目标数据库至少建立两个通道,其中一个通道只是对目标数据库的一个远程调用,使用PL/SQL接口来执行备份与恢复操作。RMAN使用它自己的PL/SQL引擎编译这些用户命令,并在目标数据库上执行这些命令。执行过程不需要用户干预,RMAN记录追踪在数据库上执行的全部备份与恢复操作,因而在很大程度上避免了DBA错误导致的危险。 同时RMAN提供了多种命令用于检查和测试数据库备份集与拷贝,并确保备份文件完整无缺且能够用于实现恢复。
由上述可见,采用恢复治理器做备份与恢复的治理与其他方式相比较具有明显的优势,可大大减少DBA做备份工作的工作量和操作失误。DBMS_JOB包是Oracle提供的内部函数包,提供了治理和调度作业队列中的作业定时执行的控制机制。所有作业由SNP后台进程执行。 当SNP进程运行一个作业时,进程将首先创建会话,并恢复作业运行时的环境参数,再调度作业运行。DBMS_JOB包的主要功能有:提交Submit(),执行Run(),删除Remove()等。这样,我们就可以用这个包将创建的存储过程放入Oracle数据库系统的作业队列中去,由系统按时调度运行。
  
  四. 应用实例
  4.1 RMAN做数据库在线备份应用实例
  这里以某公司业务处理计算机中心数据库为例。用户系统配置为:两台HP9000小型机(host1、host2),操作系统为HP-UX11.0,Oracle数据库版本为8.0.5。两台机上各有一个Oracle数据库实例,分别运行不同的业务处理系统。用户要求设备7X24小时在线工作,原则上运行时不答应数据库关闭。这就使得我们只能采用在线备份方式解决问题。为安全起见,我们在另一台IBM服务器(host3)上安装Windows2000及一个独立的Oracle数据库,恢复目录就建在这个数据库中,这台服务器还配置了一台磁带加载机,备份数据存放在磁带上,这样即便哪台机器出现故障我们也能够实现数据库的完全恢复,不过DBA应注重定期做恢复目录数据库的备份。在备份策略上,我们采用了全备份与归档日志备份相结合的方式,既不占用过多的系统时间,也相应减少了备份的数据量。备份策略如下:
  (1) 每周日晚11:00做数据库在线全备份。
  (2) 天天12:00,18:00 做数据库归档日志文件的在线备份。 
  建立备份机制的操作如下(以host1机为例):
  (1) 建立恢复目录并注册目标数据库。
  SVRMGR> create tablespace rmanspace datafile 'rmandata' size 500m;
  SVRMGR> create user rman identified by rman default tablespace
    Rmanspace temporary tablespace temp;
  SVRMGR> grant connect,resource,recovery_catalog_owner to rman;
  以上为建立RMAN表空间和用户。
  $ sqlplus rman/rman
  sql> start "/ora_01/app/oracle/prodUCt/8.0.5/rdbms/admin/catrman";
  --执行创建恢复目录操作
  $ rman target system/manager@host1 rcvcat rman/rman@host3;
                    --连接目标数据库和恢复目录
  rman> register database;        --将目标数据库注册到恢复目录中
  rman> resync catalog;         --进行同步目录操作
  (2) 将目标数据库改为归档模式运行。
  SVRMGR> connect internal
  SVRMGR> startup mount [dbname]
  SVRMGR> alter database [dbname] archivelog; --起用归档模式
  SVRMGR> archive log start            --启动自动归档模式
  SVRMGR> alter database [dbname] open;     --打开数据库
  修改数据库初始化参数文件init.ora,定义归档模式(自动)、归档日志文件保存路径、归档日志文件命名方法,重新启动数据库。
  (3)建立全备份脚本文件hotbackup.rcv。
  connect target internal/oracle@host1
  connect rcvcat rman/rman@host3
  run { allocate channel t1 type 'SBT_TAPE';
  backup
  incremental level 0
  skip inAccessible
  tag hot_db_bk_level0
  filesperset 5
  format 'bk_%s_%p_%t' (database);
  --备份全部数据库控制文件和数据文件
  sql 'alter system archive log current';
  backup
  filesperset 20
  format 'al_%s_%p_%t' (archivelog all delete input);
  --备份归档日志,备份成功后删除归档日志。若不成功,则不做删除。
  }
  
  归档日志备份脚本hotarcbackup.rcv文件如下:
  connect target internal/oracle@host1
  connect rcvcat rman/rman@host3
  run { allocate channel t1 type 'SBT_TAPE';
  sql 'alter system archive log current';
  backup
     filesperset 20
     format 'al_%s_%p_%t' (archivelog all delete input);
  }
  
  (4) 利用UNIX的crontab命令定期自动执行备份脚本crontab命令用于指定一个文件,其行计划命令以固定时间间隔执行。
Cron是一个永久进程
上一篇:ORACLE在HP_UX下的系列问题处理(3) 人气:447
下一篇:ORACLE在HP_UX下的系列问题处理(1) 人气:508
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号