ORACLE 数据库备份技术

发表于:2007-07-13来源:作者:点击数: 标签:
1 引言 ORACLE 数据库 是一种大型关系型的数据库,可以存贮达到存贮 TB 的数据,那么如何保证这些数据的 安全 尤其至关重要,我们从 1991 年开始使用 ORACLE 数据库,通过这些年的使用,我们制定了一整套的 ORACLE 数据库的备份制度。现在把我们的备份制度介

1 引言

ORACLE 数据库是一种大型关系型的数据库,可以存贮达到存贮 TB 的数据,那么如何保证这些数据的安全尤其至关重要,我们从 1991 年开始使用 ORACLE 数据库,通过这些年的使用,我们制定了一整套的 ORACLE 数据库的备份制度。现在把我们的备份制度介绍给大家,供大家参考。 

2 根据实际需要决定数据库的运行方式

ORACLE 数据库有两种运行方式:一是归档方式( ARCHIVELOG ),归档方式的目的是当数据库发生故障时最大限度恢复所有已提交的事物;二是不归档方式 (NOARCHIVELOG) ,恢复数据库到最近的回收点。我们根据数据库的高可用性和用户可承受丢失的工作量的多少,把我们正式运行的数据库采用为归档方式;那些正在开发和调试的数据库采用不归档方式。

3 如何改变数据库的运行方式

 

3.1 在创建数据库时设置数据库的运行的方式

 

在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为 NOARCHIVELOG 方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成 ARCHIVELOG 方式。

 

3.2 改变不归档方式为为归档方式

 

关闭数据库,备份已有的数据。改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。

 

启动 Instance ,Mount 数据库但不打开数据库,来改变归档方式

sqldba lmode=y ( svrmgrl )

sqldba>connect internal

sqldba>startup mount

sqldba>alter database archivelog;

 

使能自动存档

 

在初始化文件 init*.ora( 一般放 ORACLE 根目录的下层目录 dbs 下 ) 加参数:

log_archive_start=true

指定存档的重做登录文件名和存放的位置

 

同样是在初始化文件 init*.ora 中加入下面的参数:

log_archive_format=%S.arc

log_archive_dest=/arch12/arch (arch12 是日志文件存放的目录 )

 

关闭数据库,重新启动数据库,归档方式转换完成.

 

4 回收制度

 

4. 1 根据数据库的运行方式和可承受丢失的工作量来决定数据库的回收制度对于不归档方式,我们用的是 ORACLE 数据库的逻辑备份 Export ,回收的制度是:一个月作一次全备份 (x01.dmp) ,一周作一次累积备份 (c*.dmp) ,一天一次增量备份 (I*.dmp) ,具体的是星期一到星期五作增量备份,星期六做累积备份或全备份,每次做完备份后自动传到其它的机器上存储。这些备份都是自动执行的 , 后面给出程序文本。

 

对于归档方式,我们用的是 ORCALE 的物理备份:当数据库创建好以后,做一次物理上的全备份,平时在不关闭数据库的前提下,一个星期对经常改变的数据文件做联机的数据库数据文件的物理备份;当数据库的结构发生改变,如:增加表空间,加数据文件等,如允许关机,正常关闭数据库,重新做数据库全备份,否则,备份控制文件,备份数据文件照常。联机的日志文件我们是写在阵列上的,不用镜象和备份。




  

原文转自:http://www.ltesting.net