动态网站制作指南 [  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监听占用的8080端口.
.为什么我的网站只能从局域网里面.
.关于约束、CASE语句和游标的一些.
.在Oracle中实现各种日期处理完全.
.Oracle中decode()函数的使用技巧.
..
.[Oracle]Redo log日志组故障分析.
.修复Oracle数据库参数文件的另类.
.PL/SQL程序结构(组图).
.如何使用xine 0.5.
.Oracle 8i中回滚段使用和ORA-1555.
.Oracle 9i配置【管理服务器】.
.如何移动控制文件到新的目录中?.
.Oracle9i 数据库管理实务讲座(七).
.ORA12638凭证检索错误解决.
.不用第归算法快速显示树,对于Or.
.Orcale与Asp.net的端口冲突.
.Red Hat日志文件系统-ext3.
.如何使用Oracle的Decode函数进行.
.破解Oracle中国高层频繁变动之谜.

Oracle备份与恢复案例一

发表日期:2008-2-9 |



  一. 理解什么是数据库恢复
  
  当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
  
  数据库恢复可以分为以下两类:
  
  1.1实例故障的一致性恢复
  
  当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。实例恢复将数据库恢复到故障之前的事务一致状态。假如在在线后备发现实例故障,则需介质恢复。在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。假如需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:
  
  (1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,
  
  包括对回滚段的内容恢复。
  
  (2) 回滚未提交的事务,按步1重新生成回滚段所指定的操作。
  
  (3) 释放在故障时正在处理事务所持有的资源。
  
  (4) 解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
  
  1.2介质故障或文件错误的不一致恢复
  
  介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
  
  (1) 完全介质恢复可恢复全部丢失的修改。一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
  
  (2) 不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。重构受损的数据库,使其恢复介质故障前或用户出错之前的一个事务一致性状态。不完全介质恢复有不同类型的使用,决定于需要不完全介质恢复的情况,有下列类型:基于撤消、基于时间和基于修改的不完全恢复。
  
  基于撤消(CANCEL)恢复:在某种情况,不完全介质恢复必须被控制,DBA可撤消在指定点的操作。基于撤消的恢复地在一个或多个日志组(在线的或归档的)已被介质故障所破坏,不能用于恢复过程时使用,所以介质恢复必须控制,以致在使用最近的、未损的日志组于数据文件后中止恢复操作。
  
  基于时间(TIME)和基于修改(SCN)的恢复:假如DBA希望恢复到过去的某个指定点,是一种理想的不完全介质恢复,一般发生在恢复到某个特定操作之前,恢复到如意外删除某个数据表之前。
  
  第二章. 数据库恢复案例测试环境
  
  2.1 数据库环境
  
  以下的所有案例都是通过测试经过,环境为:
  
  OS:windows 2000 Server
  
  DB:Oracle 816
  
  DBNAME:TEST
  
  数据文件:
  
  SQL> select file#,status,enabled,name from v$datafile;
  
  FILE# STATUS ENABLED   NAME
  
  ----------------------------------------------------------------
  
  1 SYSTEM READ WRITE D:\Oracle\ORADATA\TEST\SYSTEM01.DBF
  
  2 ONLINE READ WRITE D:\Oracle\ORADATA\TEST\RBS01.DBF
  
  3 ONLINE READ WRITE D:\Oracle\ORADATA\TEST\USERS01.DBF
  
  4 ONLINE READ WRITE D:\Oracle\ORADATA\TEST\TEMP01.DBF
  
  5 ONLINE READ WRITE D:\Oracle\ORADATA\TEST\TOOLS01.DBF
  
  6 ONLINE READ WRITE D:\Oracle\ORADATA\TEST\INDX01.DBF
  
  控制文件:
  
  SQL> select * from v$controlfile;
  
  STATUS NAME
  
  ---------------------------------------------------------------------
  
  D:\Oracle\ORADATA\TEST\CONTROL01.CTL
  
  D:\Oracle\ORADATA\TEST\CONTROL02.CTL
  
  D:\Oracle\ORADATA\TEST\CONTROL03.CTL
  
  联机日志:
  
  SQL> select * from v$logfile;
  
  GROUP# STATUS   MEMBER
  
  ---------------------------------------------------------------------
  
  1   STALE   D:\Oracle\ORADATA\TEST\REDO01.LOG
  
  2        D:\Oracle\ORADATA\TEST\REDO02.LOG
  
  3   STALE   D:\Oracle\ORADATA\TEST\REDO03.LOG
  
  2.2 数据库备份脚本
  
  冷备份脚本:
  
  rem   script:coldbak.sql
  
  rem   creater:chenjiping
  
  rem   date:5.8.2003
  
  rem   desc:offline full backup database
  
  --connect database
  
  connect internal/passWord;
  
  --shutdown database
  
  shutdown immediate;
  
  --Copy Data file
  
  !xcopy d:\Oracle\oradata\test\*.dbf d:\database/H/R;
  
  --Copy Control file
  
  !xcopy d:\Oracle\oradata\test\*.ctl d:\database/H/R;
  
  --Copy Log file
  
  !xcopy d:\Oracle\oradata\test\*.log d:\database/H/R;
  
  --startup database
  
  startup;
  
  说明:
  
  1、以上脚本在数据库关闭状态下备份数据库所有的数据文件,联机日志,控制文件(在一个目
  
  录下),假如成功备份,所有文件是一致的;
  
  2、没有备份参数文件,参数文件可以另外备份,没有必要每次都备份,只需要在改变设置后备份一次;
  
  3、假如以上命令没有成功依次执行,那么备份将是无效的,如连接数据库不成功,那么肯定关闭数据库也不成功,那么备份则无效;
  
  4、冷备份建议下人工干预下执行。

  
  数据库OS热全备份脚本
  
  rem   script:hotbak.sql
  
  rem   creater:chenjiping
  
  rem   date:5.8.2003
  
  rem   desc:backup all database datafile in archive
  
  --connect database
  
  connect internal/password;
  
  --archive
  
  alter system archive log current;
  
  --start
  
  alter tablespace system begin backup;
  
  !xcopy d:\Oracle\oradata\test\system01.dbf d:\databak/H/R;
  
  alter tablespace system end backup;
  
  alter tablespace rbs begin backup;
  
  !xcopy d:\Oracle\oradata\test\rbs01.dbf d:\databak/H/R;
  
  alter tablespace rbs end backup;
  
  alter tablespace users begin backup;
  
  !xcopy d:\Oracle\oradata\test\users01.dbf d:\databak/H/R;
  
  alter tablespace users end backup;
  
  alter tablespace tools begin backup;
  
  !xcopy d:\Oracle\oradata\test\tools01.dbf d:\databak/H/R;
  
  alter tablespace tools end backup;
  
  alter tablespace indx begin backup;
  
  !xcopy d:\Oracle\oradata\test\indx01.dbf d:\databak/H/R;
  
  alter tablespace indx end backup;
  
  --end
  
  --bak control file
  
  --binary
  
  alter database backup controlfile to 'd:\databak\controlbinbak.000';
  
  --ascii
  
  alter database backup controlfile to trace;
  
  alter system archive log current;
  
  说明:
  
  1、热备份必须在数据库归档方式下才可以运行;
  
  2、以上脚本可以在数据库运行状态下备份数据库所有的数据文件(除了临时数据文件),没有必要备份联机日志;
  
  3、归档日志至少需要一次完整备份之后的所有日志;
  
  4、假如以上命令没有成功依次执行,那么备份也是无效的,如连接数据库不成功,那么备份则无效。
  
  RMAN备份只讲叙有恢复目录的情况,假如没有恢复目录,情形大致相似。以下是RMAN的热备份全备份的脚本:
  
  #  script:bakup.rcv
  
  #  creater:chenjiping
  
  #  date:5.8.2003
  
  #  desc:backup all database datafile in archive with rman
  
  # connect database
  
  connect rcvcat rman/rman@back;
  
  connect target internal/virpure;
  
  # start backup database
  
  run{
  
  allocate channel c1 type disk;
  
  backup full tag 'dbfull' format 'd:\backup\full%u_%s_%p' database
  
  include current controlfile;
  
  sql 'alter system archive log current';
  
  release channel c1;
  
  }
  
  # end
上一篇:新手浅谈数据库中的设计技巧(一) 人气:369
下一篇:Oracle 10g更强大的回闪数据库功能 人气:437
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵