ORACLE备份策略(ORACLE BACKUP STRATEGY) [转]

前言 

    这篇文章,本是我为CSDN写的,面向对象为中低用户,但考虑到这里也有人问过这样

的问题,偶就往这里也复制一份。在读该文章之前,建议对ORACLE构架有所了解,因为

ORACLE的备份与恢复,都是与ORACLE的构架紧密相关的,特别是ORACLE的SCN。
 
    关于备份与恢复的文章,网上也有不少,进入Google,输入ORACLE备份,点击搜索,

我相信搜索出来的记录没有一个人能读完,但是大部分不是太老,也就是太不完全,很早我

就想总结一下了,我的这篇文章,主旨并不是说大家读了这篇文章,就会了备份的相关知

识,它仅仅也是一个提示,希望大家能从中得到益处。

概要 
1、了解什么是备份 
2、了解备份的重要性 
3、理解数据库的两种运行方式 
4、理解不同的备份方式及其区别 
5、了解正确的备份策略及其好处 

一、了解备份的重要性 

可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,

取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电

路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏

可以修复,不会导致应用和数据的损坏。但是,如果计算机的硬盘损坏,将会导致数据丢失,此

时必须用备份恢复数据。 

其实,在我们的现实世界中,已经就存在很多备份策略,如RAID技术,双机热备,集群技术发

展的不就是计算机系统的备份和高可用性吗?有很多时候,系统的备份的确就能解决数据库备份

的问题,如磁盘介质的损坏,往往从镜相上面做简单的恢复,或简单的切换机器就可以了。 

但是,上面所说的系统备份策略是从硬件的角度来考虑备份与恢复的问题,这是需要代价的。我

们所能选择备份策略的依据是:丢是数据的代价与确保数据不丢失的代价之比。还有的时候,硬

件的备份有时根本满足不了现实需要,假如你误删了一个表,但是你又想恢复的时候,数据库的

备份就变的重要了。ORACLE本身就提供了强大的备份与恢复策略,这里我们只讨论ORACLE

备份策略,以下的备份都是指ORACLE数据库备份,恢复将放到下一讲中。
 
所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁

带或磁盘。 

能够进行什么样的恢复依赖于有什么样的备份。作为 DBA,有责任从以下三个方面维护数据库

的可恢复性: 

·使数据库的失效次数减到最少,从而使数据库保持最大的可用性; 

·当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高; 

·当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复

性。 

灾难恢复的最重要的工作是设计充足频率的硬盘备份过程。备份过程应该满足系统要求的可恢复

性。例如,如果数据库可有较长的关机时间,则可以每周进行一次冷备份,并归档重做日志,对

于24*7的系统,或许我们考虑的只能是热备份。 如果每天都能备份当然会很理想,但要考虑其

现实性。企业都在想办法降低维护成本,现实的方案才可能被采用。只要仔细计划,并想办法达

到数据库可用性的底线,花少量的钱进行成功的备份与恢复也是可能的。 

二、了解ORACLE的运行方式 

ORACLE数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据

库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式

(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。我们根据数据

库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;

那些正在开发和调试的数据库可以采用不归档方式。 

如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始

的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把

需要运行在归档方式的数据库改成ARCHIVELOG方式。 

1、改变不归档方式为为归档方式 

a.关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据

库做备份,对可能出现的问题作出保护。 

b. 修改初试化参数,使能自动存档 

修改(添加)初始化文件init[SID].ora参数: 

log_archive_start=true #启动自动归档 

log_archive_format=ARC%T%S.arc #归档文件格式 

log_archive_dest=/arch12/arch #归档路径 

在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby 

database)服务器 

c.启动Instance到Mount状态,即加载数据库但不打开数据库: 

$>SVRMGRL 
SVRMGRL >connect internal 
SVRMGRL >startup mount 
   d.发出修改命令 
SVRMGRL >alter database archivelog; 
SVRMGRL>alter database open; 

2、改变归档状态为不归档状态 

   与以上步骤相同,但有些操作不一样,主要是在以上的b操作中,现在为删除或注释该参数,

在d操作中,命令为 

SVRMGRL >alter database noarchivelog; 

    注意,从归档方式转换到非归档方式后一定要做一次数据库的全冷备份,防止意外事件的发

生。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值