Sathyajith Bhat Asked: 2011-01-05 05:39:33 +0800 CST2011-01-05 05:39:33 +0800 CST 2011-01-05 05:39:33 +0800 CST Oracle 中的数据库备份 - 导出数据库还是使用其他工具? 772 我在组织中看到的由 DBA 执行的“实践”之一是使用exp/之类的工具将完整的数据库导出expdp视为备份。 这是一个好习惯吗?与这种方法相比,使用 RMAN 有什么优势? oracle backup 3 个回答 Voted Best Answer Gaius 2011-01-05T12:44:57+08:002011-01-05T12:44:57+08:00 RMAN 的优点是 PITR - 时间点恢复。您可以对 DBF 进行 RMAN 备份和对归档重做日志进行 RMAN 备份,并将数据库恢复到最近归档重做日志备份之前的任何时间点。这种方法的缺点是它的粒度非常粗——您只能在表空间级别进行恢复。 exp/expdp 的优点是您拥有数据库的一致副本,您可以将其导入到新创建的空白数据库中。但是,您不能将其前滚——此时它是一个完全独立的、独立的数据库,与其原始数据库没有逻辑关系。但是很容易只恢复一个表,甚至从导出中恢复几行。 一个好的方法是定期 RMAN 完整和增量数据文件备份、归档重做日志的连续备份(例如,一旦一个归档日志备份完成,立即启动下一个备份,以便将日志“流式传输”到磁带),然后教育您的用户在使用 exp/imp 时,他们可以执行自己的“备份”(在想要数据的实际副本的情况下)和闪回(这样他们可以在 DML 出错的情况下进行自己的恢复)。 请记住 - 备份旨在让 DBA 从硬件的灾难性故障中恢复。这不是为了最终用户的利益(否则您将花费全部时间恢复到测试系统并将几行复制回原始系统!)。 REW 2011-01-05T10:09:10+08:002011-01-05T10:09:10+08:00 Exp/Expdp 作为备用解决方案就像说汽车配件商店是您的备用汽车。从技术上讲,它会让你重新振作起来,但它只会给你带来痛苦和折磨。 Exp 或 Expdp 可用作文件系统冷备份或 rman 热备份或冷备份(其他 Oracle 备份客户端软件通常只运行 RMAN 命令)的辅助备份。 典型的方法如下: 1 cold backup weekly 1 hot backup daily 如果您真的想谨慎行事,请定期将存档的重做日志从服务器传输(每小时有效)或为第二个存档日志目标设置远程位置。 -- RMAN *新 -- 我的典型 RMAN 会话: rman target=/ backup as compressed backupset database plus archivelog delete input; delete obsolete; exit “备份为压缩备份集...”:您还可以制作一个图像,它是数据文件的字节副本。这就像每周备份一样好。 “...数据库...”:很明显 "...plus archivelogs..." :为我们提供时间点恢复(以及时间点克隆 [rman 中的重复命令]) "...delete input" :删除已备份的归档日志。您还可以将其设置为删除已备份至少两次的文件等。 “delete obsolete”:当您配置了 rman 保留策略(我的是 5 天)时,这将删除该窗口之外的备份。这并不意味着我们只能在 5 天前恢复。您仍然应该每天对闪回恢复区进行磁带/服务器外备份。这只是意味着在线您将有 5 天的恢复时间,之后您需要从磁带/服务器外备份中恢复闪存恢复区项目,然后在 rman 中注册以使用它们。 这是来自会话的实际日志,针对路径等稍作修改: oracle@prodserver[PROD]$ rman target=/ Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: PROD (DBID=randomnumber) RMAN> backup 2> as compressed backupset 3> database 4> include current controlfile 5> plus archivelog delete input; 6> backup spfile; 7> delete obsolete; 8> Starting backup at 05-JAN-11 current log archived using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=291 devtype=DISK channel ORA_DISK_1: starting compressed archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=743 recid=743 stamp=739623589 input archive log thread=1 sequence=744 recid=744 stamp=739623940 input archive log thread=1 sequence=745 recid=745 stamp=739624712 input archive log thread=1 sequence=746 recid=746 stamp=739625380 input archive log thread=1 sequence=747 recid=747 stamp=739659606 channel ORA_DISK_1: starting piece 1 at 05-JAN-11 channel ORA_DISK_1: finished piece 1 at 05-JAN-11 piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26 channel ORA_DISK_1: deleting archive log(s) archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589 archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940 archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712 archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380 archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606 Finished backup at 05-JAN-11 Starting backup at 05-JAN-11 using channel ORA_DISK_1 channel ORA_DISK_1: starting compressed full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf input datafile fno=00005 name=/u02/oradata/PROD/software.dbf input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf input datafile fno=00004 name=/u02/oradata/PROD/users.dbf channel ORA_DISK_1: starting piece 1 at 05-JAN-11 channel ORA_DISK_1: finished piece 1 at 05-JAN-11 piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45 channel ORA_DISK_1: starting compressed full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel ORA_DISK_1: starting piece 1 at 05-JAN-11 channel ORA_DISK_1: finished piece 1 at 05-JAN-11 piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 05-JAN-11 Starting backup at 05-JAN-11 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting compressed archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=748 recid=748 stamp=739659803 channel ORA_DISK_1: starting piece 1 at 05-JAN-11 channel ORA_DISK_1: finished piece 1 at 05-JAN-11 piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 channel ORA_DISK_1: deleting archive log(s) archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803 Finished backup at 05-JAN-11 Starting backup at 05-JAN-11 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current SPFILE in backupset channel ORA_DISK_1: starting piece 1 at 05-JAN-11 channel ORA_DISK_1: finished piece 1 at 05-JAN-11 piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 05-JAN-11 RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 5 days using channel ORA_DISK_1 Deleting the following obsolete backups and copies: Type Key Completion Time Filename/Handle -------------------- ------ ------------------ -------------------- Backup Set 55 30-DEC-10 Backup Piece 55 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp Backup Set 56 30-DEC-10 Backup Piece 56 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp Backup Set 57 30-DEC-10 Backup Piece 57 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp Backup Set 58 30-DEC-10 Backup Piece 58 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp Backup Set 59 31-DEC-10 Backup Piece 59 31-DEC-10 /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp deleted backup piece backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227 deleted backup piece backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323 deleted backup piece backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326 deleted backup piece backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331 deleted backup piece backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610 Deleted 5 objects Recovery Manager complete. YasirA 2011-01-05T05:49:36+08:002011-01-05T05:49:36+08:00 RMAN 的优点如下: 使用 Windows 概念实现的自动备份保留策略。您可以指定备份应保留的天数并选择保留它们的策略:它们一旦过期就会被删除,或者如果没有可用空间可用于新备份,它们就会被删除 在写入媒体或使用多个磁盘控制器时使用通道来提高性能 轻松还原 — 基本上,您只需列出您拥有的备份并指定要从中执行数据库还原的备份 RMAN 可以将其备份元数据保存在称为 RMAN 存储库的独立表中,该表可以保存您执行的所有备份的大量记录,而不是控制文件 您可以指定备份副本的默认数量,而且后者可以保存在不同的物理磁盘(媒体)上
RMAN 的优点是 PITR - 时间点恢复。您可以对 DBF 进行 RMAN 备份和对归档重做日志进行 RMAN 备份,并将数据库恢复到最近归档重做日志备份之前的任何时间点。这种方法的缺点是它的粒度非常粗——您只能在表空间级别进行恢复。
exp/expdp 的优点是您拥有数据库的一致副本,您可以将其导入到新创建的空白数据库中。但是,您不能将其前滚——此时它是一个完全独立的、独立的数据库,与其原始数据库没有逻辑关系。但是很容易只恢复一个表,甚至从导出中恢复几行。
一个好的方法是定期 RMAN 完整和增量数据文件备份、归档重做日志的连续备份(例如,一旦一个归档日志备份完成,立即启动下一个备份,以便将日志“流式传输”到磁带),然后教育您的用户在使用 exp/imp 时,他们可以执行自己的“备份”(在想要数据的实际副本的情况下)和闪回(这样他们可以在 DML 出错的情况下进行自己的恢复)。
请记住 - 备份旨在让 DBA 从硬件的灾难性故障中恢复。这不是为了最终用户的利益(否则您将花费全部时间恢复到测试系统并将几行复制回原始系统!)。
Exp/Expdp 作为备用解决方案就像说汽车配件商店是您的备用汽车。从技术上讲,它会让你重新振作起来,但它只会给你带来痛苦和折磨。
Exp 或 Expdp 可用作文件系统冷备份或 rman 热备份或冷备份(其他 Oracle 备份客户端软件通常只运行 RMAN 命令)的辅助备份。
典型的方法如下:
如果您真的想谨慎行事,请定期将存档的重做日志从服务器传输(每小时有效)或为第二个存档日志目标设置远程位置。
-- RMAN *新 --
我的典型 RMAN 会话:
“备份为压缩备份集...”:您还可以制作一个图像,它是数据文件的字节副本。这就像每周备份一样好。
“...数据库...”:很明显
"...plus archivelogs..." :为我们提供时间点恢复(以及时间点克隆 [rman 中的重复命令])
"...delete input" :删除已备份的归档日志。您还可以将其设置为删除已备份至少两次的文件等。
“delete obsolete”:当您配置了 rman 保留策略(我的是 5 天)时,这将删除该窗口之外的备份。这并不意味着我们只能在 5 天前恢复。您仍然应该每天对闪回恢复区进行磁带/服务器外备份。这只是意味着在线您将有 5 天的恢复时间,之后您需要从磁带/服务器外备份中恢复闪存恢复区项目,然后在 rman 中注册以使用它们。
这是来自会话的实际日志,针对路径等稍作修改:
RMAN 的优点如下: