oracle_rman备份详细过程概论
- 格式:doc
- 大小:107.01 KB
- 文档页数:24
ORACLE数据库自动备份_详细步骤1.确定备份策略:首先,需要确定数据库备份的频率和保留备份的时间长度。
备份频率可以是每天、每周或每月,而保留备份的时间长度可以是几天、几周或几个月。
2.创建备份脚本:接下来,需要编写一个脚本来执行数据库备份操作。
在脚本中,需要包含备份的类型(如完全备份、增量备份或差异备份)、备份存储位置、备份的文件名等信息。
3. 创建备份存储目录:在执行备份操作之前,需要创建一个用于存储备份文件的目录。
可以使用ORACLE的命令行工具或图形界面管理工具(如Enterprise Manager)来创建目录。
4. 安排计划任务:为了自动执行备份脚本,需要在操作系统上设置一个计划任务。
可以使用操作系统提供的任务调度工具(如cron或Windows Task Scheduler)来设置计划任务。
5. 测试备份脚本:在设置计划任务之前,建议先手动运行备份脚本来测试备份过程是否正常工作。
可以使用SQL*Plus工具来运行脚本并检查备份文件是否生成。
6.设置计划任务:在操作系统上设置一个计划任务来定期执行备份脚本。
可以指定备份的时间、日期和频率。
7. 监控备份过程:在执行备份操作期间,建议监控备份过程以确保一切正常。
可以查看备份日志或使用ORACLE的监控工具(如Grid Control)来监控备份活动。
8.保护备份文件:备份文件包含关键的数据库信息,因此需要采取措施保护备份文件免受损坏或恶意访问。
可以使用文件系统的权限设置或加密工具来保护备份文件。
9.恢复测试:定期测试备份恢复过程以确保备份文件可以成功恢复数据库。
可以使用数据库的恢复工具(如RMAN)来执行备份恢复操作,并验证恢复的数据库是否与原始数据库一致。
10.文件清理:根据备份策略,定期清理过期的备份文件,以释放存储空间并避免备份文件过多的问题。
总结:ORACLE数据库自动备份是保护数据库的重要步骤之一、通过创建备份脚本、设置计划任务和监控备份过程,可以确保数据库的数据不会丢失。
rac数据库RMAN 备份与恢复一、数据库备份在主库上通过rman 每天对数据库进行备份,并且保留两份备份在主库删除归档和进行rman 备份的脚本:[oracle@rac1 arch]$ pwd/opt/app/arch[oracle@rac1 arch]$ more del_arch.shexport ORACLE_SID=orcl1export ORACLE_BASE=/opt/app/oracleexport ORACLE_TERM=xtermexport ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1source /opt/app/arch/orcl1/del_arch.listsource /opt/app/arch/orcl2/del_arch.list/opt/app/oracle/product/10.2.0/db_1/bin/rman target / log='/opt/app/arch/rman.log' <<EOFdelete obsolete recovery window of 3 days;crosscheck archivelog all;delete noprompt obsolete;delete noprompt expired archivelog all;crosscheck backup;delete noprompt expired backup;backup format='/opt/app/arch/rman/orcl_full_%U_%T' tag='orcl_full' database;backup current controlfile tag='orcl_ctlfile'format='/opt/app/arch/rman/orcl_ctlfile_%U_%T';backup spfile tag='orcl_spfile'format='/opt/app/arch/rman/orcl_spfile_%U_%T';exitEOF执行时间:[oracle@rac1 arch]$ crontab -l30 02 * * 0 /opt/app/arch/del_arch.sh30 02 * * 1 /opt/app/arch/del_arch.sh30 02 * * 2 /opt/app/arch/del_arch.sh30 02 * * 3 /opt/app/arch/del_arch.sh30 02 * * 4 /opt/app/arch/del_arch.sh30 02 * * 5 /opt/app/arch/del_arch.sh30 02 * * 6 /opt/app/arch/del_arch.sh每天的备份文件放在/opt/app/arch/rman/目录下二、数据库恢复如果数据库出现故障,可以从备份文件中恢复数据库,最早可以恢复到两天前的备份时间点RAC 下的RMAN 讲究的是备份和还原的策略要一致。
简单易懂的linux下oracle数据库备份方法在Linux环境下,对Oracle数据库进行备份是一项至关重要的工作,以确保数据的安全性和完整性。
下面将为您介绍一种简单易懂的Oracle数据库备份方法。
一、准备工作1.确保已安装Oracle数据库,并正确配置环境变量。
2.确保有足够的权限(如:dba权限)进行数据库备份操作。
3.了解数据库的名称、表空间等信息,以便进行正确的备份。
二、备份方法1.使用RMAN工具进行备份RMAN(Recovery Manager)是Oracle提供的一个强大的备份和恢复工具。
以下是一个简单的RMAN备份示例:a.连接到目标数据库:```rman target /```b.使用RMAN进行备份:```backup database;```这将备份整个数据库,包括控制文件和归档日志。
c.退出RMAN:```exit;```2.使用Oracle SQL命令进行备份a.使用SQL*Plus连接到目标数据库:```sqlplus / as sysdba```b.使用SQL命令备份整个数据库:```alter database backup controlfile to trace;```这将生成控制文件的备份脚本。
c.使用SQL命令备份表空间:```backup tablespace <表空间名称> to disk;```这将备份指定的表空间。
d.退出SQL*Plus:```exit;```三、备份文件的存储1.将备份文件存储在安全的磁带上或磁盘上。
2.建议将备份文件存储在不同的物理位置,以防止数据丢失。
四、定期检查备份1.定期检查备份文件是否完整、可用。
2.定期进行恢复测试,以确保备份的有效性。
通过以上步骤,您已经了解了一种简单易懂的Linux下Oracle数据库备份方法。
Oracle 使用RMAN 备份数据库文件和归档日志当数据库打开时,可以使用RMAN BACKUP 命令备份如下对象:● 数据库● 表空间● 数据文件● 归档重做日志● 控制文件● 备份集在使用BACKUP 命令备份数据文件时,可以为其设置参数,定义备份段的文件名,文件数和每个输入文件的通道。
1.备份数据库如果备份操作是在数据库被安全关闭之后进行的,那么对整个数据库的备份是一致的;与之相对应,如果数据库是在打开状态下对整个数据库进行的备份,则该备份是非一致的。
非一致性备份整个数据库的操作步骤如下:(1)启动RMAN 并连接到目标数据库,输入BACKUP DATABASE 命令备份数据库。
在BACKUP 命令中可以指定FORMA T 参数,为RMAN 生成的每个备份片段指定一个惟一的名称,以及存储的位置。
C:\>rman target system/admin nocatalogRMAN> backup database format 'f:\oracle_backup\ora11g_%Y_%M_%D_%U.bak' maxsetsize=2G; 还可以为BACKUP 命令指定TAG 参数,为备份片段定义备份标签。
例如: RMAN>backup database tag='weekly_backup';(2)如果建立的是非一致性备份,那么必须在完成备份后对当前的联机重做日志进行归档,因为在使用备份恢复数据库需要使用当前重做日志中的重做记录。
RMAN>sql'alter system archive log current';(3)在RMAN 中执行LIST BACKUP OF DA TABASE 命令,查看建立的备份集与备份片段的信息。
RMAN> list backup of database;如果需要对整个数据库进行一致性备份,则首先需要关闭数据库,并启动数据库到MOUNT 状态。
oracle备份和恢复的操作流程Oracle备份和恢复的操作流程备份和恢复是数据库管理中非常重要的任务,可以保护数据免受丢失或损坏的影响。
在Oracle数据库中,备份和恢复操作有着明确的流程和步骤。
本文将详细介绍Oracle备份和恢复的操作流程。
一、备份操作流程1. 确定备份类型:根据需求和数据重要性,确定采用全备份、增量备份还是差异备份。
全备份是指备份整个数据库,增量备份是指备份自上次备份以来的所有更改,差异备份是指备份自上次全备份以来的所有更改。
2. 选择备份工具:Oracle提供了多种备份工具,如RMAN (Recovery Manager)、Data Pump、Export/Import等。
根据需求选择合适的备份工具。
3. 设置备份策略:根据业务需求和数据增长情况,设置备份策略,包括备份频率、保留周期、备份存储位置等。
备份策略应该根据实际情况制定,以充分保护数据并节约存储空间。
4. 执行备份命令:根据选择的备份工具和策略,执行相应的备份命令。
比如使用RMAN进行备份,可以使用RMAN命令行工具或者图形化工具执行备份操作。
5. 检查备份状态:备份完成后,需要检查备份状态,确保备份成功并没有错误。
可以查看备份日志或者备份工具提供的状态信息。
二、恢复操作流程1. 确定恢复类型:根据需要,确定采用完全恢复、部分恢复还是点恢复。
完全恢复是指将整个数据库恢复到某个时间点或备份点的状态,部分恢复是指只恢复某些表或数据文件,点恢复是指只恢复某个时间点的数据。
2. 准备恢复环境:恢复操作需要一个独立的环境,可以是一个新的数据库实例或者一个已有的实例。
需要确保恢复环境与原始数据库的版本和配置相同。
3. 恢复备份文件:根据选择的恢复类型,执行相应的恢复命令。
如果是完全恢复,可以使用全备份文件进行恢复;如果是部分恢复,可以使用增量备份或差异备份文件进行恢复。
4. 应用归档日志:如果数据库启用了归档日志模式,需要将归档日志应用到恢复的数据库中,以保证数据的一致性。
rman备份原理
RMAN备份是Oracle数据库备份的一种方式,也是备份恢复管理器(Recovery Manager)的缩写。
RMAN备份是由Oracle官方提供的备份恢复工具,可以实现高效、可靠的备份和恢复操作。
RMAN备份具有以下特点:
1. 数据库在线备份:RMAN备份可以通过Oracle数据库的在线备份功能实现,在备份期间不会影响到数据库的正常运行。
2. 高效备份:RMAN备份具有高效率的备份功能,可以在短时间内完成大量数据的备份操作。
3. 增量备份:RMAN备份可以实现增量备份,只备份增加或修改的数据,从而节省备份存储空间。
4. 压缩备份:RMAN备份可以对备份数据进行压缩,从而减少备份存储空间。
5. 数据库恢复:RMAN备份可以实现快速、可靠的数据库恢复功能。
RMAN备份原理如下:
1. RMAN备份过程会首先创建一个RMAN备份集,并将备份的数据存放在该备份集中。
2. 在备份时,RMAN备份会在数据库中创建一个备份集的标识符,并将备份数据与该标识符相关联。
3. RMAN备份会通过Oracle数据库的复制机制将备份数据复制到备份集中。
4. RMAN备份会在备份集中创建元数据,包括备份时间、备份类型、备份集ID等信息,以便于备份的管理和恢复。
5. 当需要恢复数据库时,RMAN备份会通过备份集中的元数据来确定要恢复的数据,并将备份数据还原到数据库中。
总之,RMAN备份是一种高效、可靠的数据库备份方式,可用于实现快速、可靠的数据库备份和恢复操作。
oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。
2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。
RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。
下面将详细介绍RMAN的备份与恢复步骤。
备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。
2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。
3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。
4.执行备份命令:使用BACKUP命令执行备份操作。
根据备份策略选择相应的备份类型,并指定备份集的存储位置。
可以使用全量备份、增量备份或归档日志备份等方式进行备份。
5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。
可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。
恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。
2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。
3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。
可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。
4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。
5.检查恢复结果:验证恢复后数据库的完整性和一致性。
使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。
常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。
rman数据库备份与恢复1.rman配置创建恢复目录1)准备目录数据库目录数据库可以选择任何一个数据库,但是最好和被注册的数据库在不同的服务器上,而且最好为目录模式创建独立的表空间。
✓选择创建恢复管理器目录的数据库。
✓创建表空间。
SQL> conn system/oracle@law_tian已连接。
SQL> show parameter instance_nameNAME TYPE V ALUE-------------------- ----------- ---------instance_name string tianSQL> create tablespace cattbs2 datafile 'e:\oracle\oradata\tian\cattbs01.dbf'3 size 20m4 ;表空间已创建。
✓创建包含目录模式的用户。
SQL> create user rman identified by rman2 temporary tablespace temp3 default tablespace cattbs4 quota unlimited on cattbs5 ;用户已创建SQL> grant connect,recovery_catalog_owner to rman;授权成功。
2)创建恢复管理器目录C:\> ramnRMAN> connect catalog ramn/rman@law_tianRMAN> create catalog tablespace cattbs;3)注册要备份的数据库C:\>rman恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN> connect catalog rman/rman@law_tian连接到恢复目录数据库RMAN> connect target system/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01031: insufficient privilegesRMAN> connect target sys/oracle@law_lawRMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-01017: invalid username/password; logon deniedRMAN> connect target sys/sys@law_law连接到目标数据库: LAWLAW (DBID=1993183208)RMAN> register database;注册在恢复目录中的数据库正在启动全部恢复目录的resync完成全部resyncRMAN> list incarnation; #查看注册的数据库数据库Incarnations 列表DB 关键字Inc 关键字DB 名DB ID CUR 重置SCN 重置时间------- ------- -------- ---------------- --- ---------- ----------1 10 LAWLAW 1993183208 NO 261982 11-12月-031 2 LAWLAW 1993183208 YES 388549 17-12月-03RMAN> report schema;#查看注册数据库的信息数据库方案报表文件KB 表空间RB segs 数据文件名称---- ---------- ----------------- ------- -------------------1 256000 SYSTEM YES E:\ORACLE\ORADATA\LAW\SYSTEM01.DBF2 204800 UNDOTBS1 YES E:\ORACLE\ORADATA\LAW\UNDOTBS01.DBF3 122880 EXAMPLE NO E:\ORACLE\ORADATA\LAW\EXAMPLE01.DBF4 25600 INDX NO E:\ORACLE\ORADATA\LAW\INDX01.DBF5 10240 TOOLS NO E:\ORACLE\ORADATA\LAW\TOOLS01.DBF6 25600 USERS NO E:\ORACLE\ORADATA\LAW\USERS01.DBFRMAN>4)配置自动通道和备份路径RMAN> configure channel device type disk format='e:\bakup\%U.bak';文件名中参数的含义:%u:由备份集编号和建立时间压缩后生成的8字符名称。
第五章数据备份与恢复通过本章的学习,要求学员掌握以下内容:1、大致了解ORACLE的备份方式。
2、了解如何配置RMAN。
3、了解如何部署备份策略4、如何实现一般的还原和恢复5.1备份概述5.1.1概述所谓备份,就是把数据库复制到转储设备的过程。
其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。
通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。
ORACLE数据库的备份分为物理备份和逻辑备份两种。
物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
可以使用Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物理备份。
逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
Oracle提供的逻辑备份工具是EXP。
数据库逻辑备份是物理备份的补充,对于逻辑备份来说,时间点恢复是不可能的,逻辑备份通常不会用作产品数据库备份与恢复计划的部分。
5.1.2 数据库运行方式在说明ORACLE备份方式之前,应大致了解一下ORACLE数据库的运行方式。
ORACLE 数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。
根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。
在创建数据库时,就可以设置数据库初始的存档方式。
一般情况下默认为NOARCHIVELOG方式。
当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。
方法如下:1.改变不归档方式为为归档方式(1)关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
(2)修改初试化参数,使能自动存档修改(添加)初始化文件init[SID].ora参数:log_archive_start=true #启动自动归档log_archive_format=ARC%T%S.arc #归档文件格式log_archive_dest=/arch12/arch #归档路径在9i中,可以最多有10个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器(3)启动Instance到Mount状态,即加载数据库但不打开数据库:$>sqlplus “/as sysdba”SQL>startup mount(4)发出修改命令SQL >alter database archivelog;SQL>alter database open;2.改变归档状态为不归档状态与以上步骤相同,但有些操作不一样,主要是在以上的(2)操作中,现在为删除或注释该参数,在d操作中,命令为SQL >alter database noarchivelog;5.2 操作系统备份操作系统备份有两类,冷备份(Cold backup)与热备份(Hot backup),操作系统备份与逻辑备份有本质的区别。
逻辑备份提取数据库的数据内容,而不备份物理数据块。
而操作系统备份则是拷贝整个的数据文件。
1.冷备份冷备份在文件级备份开始前数据库必须彻底关闭。
关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。
数据库使用的每个文件都被备份下来,这些文件包括:所有数据文件所有控制文件所有联机REDO LOG 文件INIT.ORA文件(可选)作冷备份一般步骤是:(1) 正常关闭要备份的实例(instance);(2) 备份整个数据库到一个目录(3) 启动数据库如果利用脚本对数据库进行冷备份,必须对关闭数据库的命令进行逻辑检查,如果发生关闭数据库的命令不能正常执行而导致数据库没有正常关闭,那么,所有的冷备份将会是无效的。
2.热备份热备份是当数据库打开并对用户有效是的操作系统级的数据备份。
热备份只能用于ARCHIVELOG方式的数据库。
在数据文件备份之前,对应的表空间必须通过使用ALTER TABLESPACE ……BEGIN BACKUP以备份方式放置。
然后组成表空间的数据文件可以使用类似冷备份的操作系统命令进行拷贝。
在数据文件用操作系统命令拷贝后,应使用ALTER TABLESPACE ……END BACKUP命令使表空间脱离热备份方式。
热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。
当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。
对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。
热备份的优点是显而易见的:●可在表空间或数据文件级备份,备份时间短。
●备份时数据库仍可使用。
●可达到秒级恢复(恢复到某一时间点上)。
●可对几乎所有数据库实体作恢复。
●恢复是快速的,在大多数情况下在数据库仍工作时恢复。
一般热备份的时候,用户还在操作数据库。
为了不影响用户正常工作,最好使每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要使表空间一起处于备份状态而同时拷贝数据文件。
如果在热备份的时候如果数据库中断(如断电),那么在重新启动数据库的时候,数据库将提示有数据文件需要恢复,你需要把正在断电时候的处于备份状态的数据文件通过ALTER TABLESPACE ……END BACKUP结束备份方式。
具体哪个数据文件或表空间处于备份状态,可以通过v$backup与v$datafile来获得。
5.3恢复管理器备份(RMAN)Recovery manager(RMAN)是ORACLE提供的DBA工具,用于管理备份和恢复操作。
RMAN只能用于ORACLE8或更高的版本中。
它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。
RMAN可以按要求存取和执行备份和恢复。
RMAN备份有如下优点●支持在线热备份●支持多级增量备份●支持并行备份、恢复●减少所需要备份量●备份、恢复使用简单重要的是,使用恢复管理器允许您进行增量数据块级的备份(这个与导出/导入的增量截然不同)。
增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。
另一个空间有效的RMAN特性是它只备份数据文件中使用的数据块,忽略空的、未用的数据块,这个对于预分配空间的表空间有很大的好处。
从9i开始,还增加了RMAN的数据块级别的恢复,可以进一步减少数据库恢复时间。
RMAN支持以下不同类型的备份FULL 数据库全备份,包括所有的数据块INCREMENTAL 增量备份,只备份自上次增量备份以来修改过的数据块。
需要一个0 级的增量作为增量的基础,可以支持5级增量。
OPEN 在数据库打开的时候使用CLOSED 在数据库加载(MOUNT)但不打开的时候备份,关闭备份可以是CONSISTENT或INCONSISTENT类型的。
CONSISTENT 在数据库加载但不打开,并且在加载之前数据库被彻底关闭(而不是被破坏或异常退出)时使CONSISTENT备份可以简单的进行复原(RESTORE)而不是恢复(RECOVER) INCONSISTENT 在数据库打开或加载(但不打开)时使用。
在该数据库正常关闭或崩溃后,INCONSISTENT备份需要恢复。
从上面各种备份方式来看,由于RMAN是数据块级别的备份,而操作系统下的备份是文件级的备份。
这样使得恢复管理器(RMAN)备份无论是在空间和时间上相对于操作系统备份都具有明显的优势。
另外,对于操作系统的备份来说,DBA自己动手编写脚本,在无法预知的情况下,脚本的维护、管理及稳定性都很难得到完全的保证。
而对于RMAN,只要理解了BACKUP,RESTORE,RECOVER这三个最基本的命令,就可以进行数据库的备份,复原以及恢复操作。
用户管理(操作系统)和服务器管理的备份与恢复之间的根本不同之处是:对用户管理的操作,DBA必须知道需要备份什么以及需要还愿和恢复什么;而对于服务器管理的操作,RMAN将通过一个简单的接口决定需要备份什么以及需要还原与恢复什么,大部分管理任务被省略或简单化了。
以下的内容将介绍实现RMAN一般的备份策略及具体配置。
5.4备份策略RMAN在备份数据时有两种操作的模式:增量式和完全式增量备份的级别是一个0到4之间的整数,增量备份时,数据检查点SCN存储在目标数据库控制文件中,随后的增量备份决定了需要拷贝哪些与以前的增量备份级别相关而且发生在SCN时间的数据块,备份级别0时全集备份级别。
是其它级别增量拷贝的基准。
增量备份又分为差异型备份和累积型备份:差异型备份拷贝所有在最近同级或低级增量备份以来所有改动的数据块。
(ORACLE默认的增量备份类型);累积型备份拷贝所有在最近低级增量备份以来改动的数据块。
(包括了最近同级备份时改动的数据块)。
选择差异型备份还是选择累积型备份是从备份时的大小、速度与还原时的速度的重要性来衡量。
完全备份和增量备份级别0一样,但不是增量备份,不能作为其他增量备份的基准。
典型的备份部署方案一般是在周末进行增量级别为0的备份。
然后,在整个星期内,需要进行不同的级别1或2的备份。
这样每周循环可以使每一周都有一个基准增量备份以及每周内的少量增量备份。
具体如下:(脚本文件请参考附件)星期天0级别备份(运行b_whole_inco.rcv脚本)星期一2级别备份(运行b_whole_inc2.rcv脚本)星期二2级别备份(运行b_whole_inc2.rcv脚本)星期三2级别备份(运行b_whole_inc2.rcv脚本)星期四1级别备份(运行b_whole_inc1.rcv脚本)星期五2级别备份(运行b_whole_inco.rcv脚本)星期六2级别备份(运行b_whole_inco.rcv脚本)有了这个累积增量备份部署,就可用至少三个备份集来进行还原和恢复工作。
当为归档日志文件部署备份策略时,必须绝对确保已经获得了每个备份的归档日志文件的至少一个(最好多个)拷贝。
还必须清理归档日志的目的地以防止写满文件系统以及中断数据库操作,RMAN有一个比较谨慎的部署选项DELETE INPUT,可以在对备份了归档日志进行删除。
下面的归档日志备份策略在删除输入之前已经为每个归档日志文件做了三份拷贝。