Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

Sat*_*hat 10 oracle backup

我在我的组织中看到的关于 DBA 执行的“实践”之一是将使用exp/ 等工具的完整数据库导出expdp视为备份。

这是一个很好的做法吗?与这种方法相比,使用 RMAN 有什么优势?

Gai*_*ius 7

RMAN 的优势是 PITR——时间点恢复。您可以进行 DBF 的 RMAN 备份和归档重做日志的 RMAN 备份,并将数据库恢复到最近一次归档重做日志备份之前的任何时间点。这种方法的缺点是它的粒度非常粗——您只能在表空间级别进行恢复。

exp/expdp 的优点是您拥有数据库的一致副本,您可以将其导入到新创建的空白数据库中。但是,您无法将其前滚 - 此时它是一个完全独立的独立数据库,与其原始数据库没有逻辑关系。但是很容易从导出中恢复单个表,甚至几行。

一个好的方法是定期的 RMAN 完整和增量数据文件备份、归档重做日志的连续备份(例如,一旦一个归档日志备份完成,立即开始下一个,以便您将日志“流式传输”到磁带上)然后教育您的用户在使用 exp/imp 时,他们可以执行自己的“备份”(在想要数据的实际副本的情况下)和闪回(因此他们可以在 DML 出错的情况下进行自己的恢复)。

请记住 - 备份旨在让 DBA 从硬件的灾难性故障中恢复。这不是为了最终用户的利益(否则您将花费​​全部时间恢复到测试系统并将几行复制回原始系统!)。


REW*_*REW 5

Exp/Expdp 作为备用解决方案就像说汽车配件商店是您的备用汽车。从技术上讲,它会让你重新开始运行,但它只会给你带来痛苦和痛苦。

Exp 或 Expdp 可用作文件系统冷备份或 rman 热备份或冷备份的辅助备份(其他 Oracle 备份客户端软件通常仅运行 RMAN 命令)。

典型的方法如下:

1 cold backup weekly
1 hot backup daily
Run Code Online (Sandbox Code Playgroud)

如果您真的想要谨慎,请定期将存档的重做日志从服务器上传输出去(每小时都有效)或为第二个存档日志目标设置远程位置。

-- RMAN *新 --

我的典型 RMAN 会话:

rman target=/

backup as compressed backupset database plus archivelog delete input;

delete obsolete;

exit
Run Code Online (Sandbox Code Playgroud)

“备份为压缩备份集...”:您还可以做一个图像,它是数据文件的字节副本。这将与每周备份一样好。

“...数据库...”:很明显

"...plus archivelogs..." :为我们提供时间点恢复(以及时间点克隆 [rman 中的重复命令])

"...delete input" : 删除已备份的归档日志。您还可以将其设置为删除至少已备份两次的内容等。

“删除过时”:当您配置了 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.
Run Code Online (Sandbox Code Playgroud)