`
tao415652813
  • 浏览: 14460 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle数据库的备份方法

 
阅读更多

1、引言 


Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。 


2、三种备份方案的比较 
  

冷备份 

冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 


优点:能简单快速地备份。能简单快速地恢复。执行简单。 
缺点:必须关闭数据库,不能进行点恢复。 

热备份 
热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。 


优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。 
缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,应在数据库不太忙时进行。 

Export导出数据库对象 
冷备份和热备份都备份物理数据库文件,因而被称为物理备份。而export备份的是数据库对象,因此被称为逻辑备份。 


优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。 
缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。 

3、冷备份方案的实施 


3.1 冷备份数据库的步骤 
(1)关闭数据库; 
(2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select name from v$controlfile;列出所有 

控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。 
  

3.2 冷备份数据库的脚本文件coldbackup.bat 
  

4、热备份方案的实施 


4.1 热备份数据库的前提条件:数据库运行在归档模式 
Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR后台进程以一种循环方式写这些日志文件,从第一个redo日志到下一个,直到该组的最后一个,然后由从第一个日志写起。 
在非归档模式下,当循环写到最后一个日志文件后,就重写第一个日志。因此,非归档模式下唯一的数据库恢复办法就是使用冷备份。 
在归档模式下,当redo日志满时,一个ARCH后台进程就读取全部redo日志,然后将其写到归档日志。因此,可以使用热备份和点恢复。在归档日志模式下,如果归档日志目的空间已满,数据库活动将暂时停止,只有释放一些空间后,数据库才能继续运行。通常,background_dump_destination将产生一个跟踪文件来显示归档方面的问题。 
Oracle数据库安装默认运行在非归档模式,通过以下步骤可以从非归档模式转换为归档模式: 
(1)编辑参数文件init.ora,设置以下参数 
# 设置数据库自动归档 
log_archive_start = true 
# 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间 
log_archive_dest_1="location=%oracle_base%\ oradata\%oracle_sid%\archive" 
# 设置归档日志文件名的格式。%s表示顺序号,%t表示线程号。 
log_archive_format = "%oracle_sid%%T%S.ARC" 
(2)在sqlplus上运行以下命令 
sqlplus>;connect sys/qazwsx as sysdba 
sqlplus>;shutdown immediate; 
sqlplus>;startup mount exclusive; 
sqlplus>;alter database archivelog; 
sqlplus>;alter database open; 
sqlplus>;shutdown immediate; 
(3)执行数据库冷备份 
当数据库运行在归档模式下,数据库恢复过程要求使用冷备份时,归档日志是必需的。 
(4)正常启动数据库,并确认数据库运行在归档模式 
sqlplus >; startup; 
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式 
sqlplus >; archive log list; 也会显示数据库是否归档模式 
如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式: 
sqlplus>;connect sys/qazwsx as sysdba 
sqlplus>;shutdown immediate; 
sqlplus>;startup mount exclusive; 
sqlplus>;alter database noarchivelog; 
sqlplus>;alter database open; 
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式 
sqlplus >; archive log list; 也会显示数据库是否归档模式 
4.2 热备份数据库的步骤 
(1)拷贝init.ora文件到备份目录(参数文件在数据库启动后处于关闭状态)。 
(2)将需要备份的某个表空间置于开始备份模式。 
(3)使用ocopy.exe拷贝表空间,然后将该表空间置于结束备份模式中(ocopy.exe不能用于直接拷贝联机的数据库文件)。 
(4)对数据库中的每个表空间执行步骤2和3(可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件)。 
(5)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。 
(6)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。 
(7)使用alter database backup controlfile to trace;命令获得控制文件的一个备份,可以到%oracle_base%\admin\%oracle_sid%\udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。 
(8)使用windows nt的命令从%log_archive_dest%中拷贝归档的日志文件到备份目录。 
4.3 热备份数据库的脚本文件hotbackup.bat 
  

5、使用export作为备份策略 


5.1 export的命令选项说明 
Oracle数据库的exp工具提供tables、users、full database、tablespace四种级别的导出方式,把指定的数据库内容导出到一个或者多个oracle二进制文件中,该文件只允许用imp工具来读取,imp的命令选项可用imp help=y来查阅。 
您可以通过输入 EXP 命令以及各种自变量来控制“导出”的运行方式。要指定参数,您可以使用关键字: 
格式:EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 
实例:EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 
或 TABLES=(T1,T1),如果 T1 是分区表 
USERID 必须是命令行中的第一个参数。 

下列关键字仅用于可传输的表空间 
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N) 
TABLESPACES 将传输的表空间列表 
5.2 export备份数据库的脚本文件expbackup.bat 

6、各种备份策略的自动执行方法 


不管是冷备份、热备份,还是export备份;不管是unix平台,还是windows平台,都可以利用at命令来定时、自动执行上述备份策略。AT 命令安排在特定日期和时间运行命令和程序,在windows nt平台上必须首先运行调度服务(schedule),才能使用at命令。 
AT命令用法如下: 
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] 
AT [\\computername] time [/INTERACTIVE] 
[ /EVERY:date[,...] | /NEXT:date[,...]] "command" 
\\computername 指定远程计算机。 如果省略这个参数,会计划在本地计算机上运行命令。 
id 指定给已计划命令的识别号。 
/delete 删除某个已计划的命令。如果省略 id,计算机上所有已计划的命令都会被删除。 
/yes 不需要进一步确认时,跟删除所有作业的命令一起使用。 
time 指定运行命令的时间。 
/interactive 允许作业在运行时,与当时登录的用户桌面进行交互。 
/every:date[,...] 每个月或每个星期在指定的日期运行命令。如果省略日期,则默认为在每月的本日运行。 
/next:date[,...] 指定在下一个指定日期(如下周四)运行命令。如果省略日期,则默认为在每月的本日运行。 
"command" 准备运行的 Windows NT 命令或批处理程序。 
举例如下: 
(1) 每周五19:00执行冷备份 
at 19:00 /every:F "coldbak.cmd" 
(2) 每周二20:00执行热备份 
at 20:00 /every:T "coldbak.cmd" 
(3) 每周一、二、三、四、五21:00执行export备份 
at 20:00 /every:M,T,W,Th,F "expbak.cmd"

分享到:
评论

相关推荐

    基于Rman和TSM的Oracle数据库备份方法研究.pdf

    基于Rman和TSM的Oracle数据库备份方法研究 在数据库管理中,备份是一个非常重要的环节。随着数据采集的不可逆性和数据存储系统的不可靠性,安全高效的数据备份策略变得越来越迫切。为此,本文研究了基于Rman和TSM的...

    ORACLE数据库备份方法及策略.pdf

    【Oracle数据库备份方法及策略】 Oracle数据库作为一款广泛使用的大型关系型数据库管理系统,其数据安全性至关重要。数据库备份是确保数据安全的重要手段,特别是在面临硬件故障、软件错误、人为操作失误或者灾难性...

    oracle 数据库备份 实例代码

    三、Oracle数据库备份方法 1. **RMAN (Recovery Manager)**:Oracle官方提供的命令行工具,支持多种备份类型,可以自动管理备份策略。 2. **操作系统级别的文件复制**:简单直接,但需要额外的管理来确保一致性。 3....

    oracle数据库备份与还原实例

    Oracle 数据库备份与还原实例 Oracle 数据库备份与还原是数据库管理的重要步骤,涉及到数据的安全性和可靠性。本文将介绍 Oracle 数据库备份与还原实例,使用 exp 与 imp 方式导出和导入数据,同时也包含 Linux ...

    关于oracle数据库备份存在空间不足问题.docx

    Oracle 数据库备份存在空间不足问题解决方法 Oracle 数据库备份是数据库管理的重要步骤之一,但是在备份过程中,我们可能会遇到磁盘空间不足的问题,导致备份无法完成。今天,我们将讨论 Oracle 11g 数据库备份时...

    ORACLE数据库自动备份3种方法

    ORACLE数据库自动备份

    Oracle 数据库备份工具(带源码和控件)

    1. **Oracle数据库备份**:Oracle数据库备份主要包括物理备份和逻辑备份。物理备份包括完整数据库备份、增量备份和差异备份,通过复制数据库的数据文件、控制文件和日志文件来实现。逻辑备份则是通过SQL命令(如`...

    java实现oracle数据库备份.pdf

    java实现oracle数据库备份.pdf

    ORACLE数据库备份及应用.pdf

    ORACLE数据库备份方法有多种,包括逻辑备份、物理备份、热备份、冷备份等。逻辑备份是指对数据库的逻辑结构进行备份,例如表结构、索引、视图等。物理备份是指对数据库的物理存储文件进行备份,例如数据文件、日志...

    实验8-Oracle数据库备份与恢复.pdf

    一、 Oracle 数据库备份方法 Oracle 数据库提供了两种备份方法,即冷备份和热备份。冷备份是指在关闭数据库的情况下对数据库进行备份,而热备份是指在数据库opened 情况下对数据库进行备份。冷备份可以确保数据库的...

    oracle数据备份工具,主要对oracle数据库进行自动备份

    oracle数据备份工具,主要对oracle数据库进行自动备份

    Oracle数据库备份恢复工具

    本工具"Oracle数据库备份恢复工具"是基于MFC(Microsoft Foundation Classes)界面开发的,旨在提供一个简单易用的平台,帮助用户轻松完成Oracle数据库的备份与恢复任务。 首先,我们来了解Oracle数据库备份的基本...

    windows下oracle数据库备份压缩&删除历史备份.rar

    本资料"windows下oracle数据库备份压缩&删除历史备份.rar"提供了一个详细的过程,用于实现Oracle数据库的定时备份、备份文件的压缩以及自动删除两天前的旧备份。 首先,我们来讨论Oracle数据库的备份方法。在Oracle...

    ORACLE数据库备份用bat脚本

    首先,让我们理解"Oracle数据库备份用bat脚本"的概念。批处理脚本是Windows操作系统中的一种命令文件,可以包含一系列的DOS命令,用于自动化执行特定的任务。在Oracle数据库环境中,我们可以利用Oracle的数据泵工具...

    Oracle数据库备份工具

    "Oracle数据库备份工具"正是为了简化这一过程而设计的,它允许用户根据自身需求定制备份计划,无论是即时备份还是定时备份,都能轻松实现。 在Oracle数据库管理中,备份是非常关键的一环。传统的Oracle备份可能涉及...

    Veeam 备份恢复oracle数据库详细配置文档

    Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...

    如何备份还原oracle数据库

    如何备份还原oracle数据库

    oracle数据库备份与恢复脚本

    oracle数据库备份与恢复脚本:第1步:创建临时表空间 第2步:创建数据表空间 第3步:创建用户并指定表空间

    oracle数据库备份恢复源码

    "Oracle数据库备份恢复源码" 提供了一个自动化工具,旨在简化这个过程,避免手动执行复杂的命令。 该程序的核心功能是对DMP文件进行自动恢复,DMP(Data Pump Export Dump)文件是Oracle数据库的一种导出格式,包含...

    Oracle数据库备份与恢复.pdf

    Oracle数据库,也被称为Oracle RDBMS或简称为Oracle,是甲骨文公司开发的一款关系数据库管理系统。...在备份与恢复方面,Oracle数据库提供了全面的解决方案。它支持数据复制和备份功能,可以在多个地点备份数据,确保数

Global site tag (gtag.js) - Google Analytics