最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle入门教程:RMAN备份归档日志的注意要点

来源:动视网 责编:小采 时间:2020-11-09 11:52:57
文档

Oracle入门教程:RMAN备份归档日志的注意要点

Oracle入门教程:RMAN备份归档日志的注意要点:今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type disk maxpiecesize = 2G; allocate channel 今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type d
推荐度:
导读Oracle入门教程:RMAN备份归档日志的注意要点:今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type disk maxpiecesize = 2G; allocate channel 今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type d


今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type disk maxpiecesize = 2G; allocate channel

今天在公司的数据库上看到这样的一个RMAN备份脚本:

run {
allocate channel c1 type disk maxpiecesize = 2G;
allocate channel c2 type disk maxpiecesize = 2G;
backup incremental level 1 database format '/backup/osedb_osedb01/data/%d_DF_%T_%s_%p.bak'
plus archivelog format '/backup/osedb_osedb01/arch/%d_AF_%T_%s_%p.log' all delete all input;
release channel c1;
release channel c2;
}

注意上面红色字体部分。我一看,感觉好像有些问题,于是在测试机上做了一下试验,,发现果然是有错误的。下面进行详细说明。

1. 首先,上面的脚本是错误的,应该将上面红色字体的第一个"all"去掉即可。

2. delete input和delete all input的区别

(1)如果归档日志目录只是一个时,即归档时只有一份归档日志时,上面的两种写法是没有区别的;

(2)如果归档日志目录有多个时,即归档时保存有多份归档日志时,那么:

delete input当备份了归档日志后,会删除第一个归档目录(如:log_archive_dest_1)下的所有归档日志;

delete all input则在备份了归档日志后,所有所有log_archive_dest_n中的备份的archivelog都会被删除。

3. 那么,至于什么时候可以使用all delete input或all delete all input呢?

在1,2小点中提到的写法都是在备份数据库时顺便备份归档日志的写法,如:

backup database plus archivelog delete all input;

而使用all delete all input是直接专门对数据库归档日志进行备份时使用,如:

backup archivelog all delete all input;

附加:

当在备份归档日志时,如果有些归档日志被删除了或是丢失了,那么在备份过程就就会报错RMAN-06059:

假如现数据库有如下的归档日志:

RMAN> list archivelog all;

List of Archived Log Copies

Key Thrd Seq S Low Time Name

------- ---- ------- - --------- -------------

59 1 35 A 16-MAY-11 /u01/backup/arch1/1_35_750725106.dbf

60 1 35 A 16-MAY-11 /u01/backup/arch2/1_35_750725106.dbf

61 1 36 A 16-MAY-11 /u01/backup/arch1/1_36_750725106.dbf

62 1 36 A 16-MAY-11 /u01/backup/arch2/1_36_750725106.dbf

现在手工在操作系统下用rm命令将36号归档日志文档删除,模拟36号归档日志丢失了,那么在执行备份归档日志时将出现:

RMAN> backup tablespace app plus archivelog delete all input;

Starting backup at 16-MAY-11

current log archived

using channel ORA_DISK_1

archived log /u01/backup/arch1/1_36_750725106.dbf not found or out of sync with catalog

trying alternate file for archivelog thread 1, sequence 36

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of backup plus archivelog command at 05/16/2011 03:22:29

RMAN-06059: expected archived log not found, lost of archived log compromises recoverability

ORA-19625: error identifying file /u01/backup/arch2/1_36_750725106.dbf

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

这就是因为缺少了36号归档日志的原因,那么现在怎么处理呢?

解决办法:

RMAN> crosscheck archivelog all;

或者:RMAN> change archivelog all crosscheck;

再次执行备份操作即可。

然后需要在RMAN中进行清除操作:

RMAN> list archivelog all;

List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
62 1 36 X 16-MAY-11 /u01/backup/arch2/1_36_750725106.dbf
61 1 36 X 16-MAY-11 /u01/backup/arch1/1_36_750725106.dbf

RMAN> delete archivelog 61,62;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=141 devtype=DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
61 1 36 X 16-MAY-11 /u01/backup/arch1/1_36_750725106.dbf
62 1 36 X 16-MAY-11 /u01/backup/arch2/1_36_750725106.dbf

Do you really want to delete the above objects (enter YES or NO)? y
deleted archive log
archive log filename=/u01/backup/arch1/1_36_750725106.dbf recid=61 stamp=751258131
deleted archive log
archive log filename=/u01/backup/arch2/1_36_750725106.dbf recid=62 stamp=751258131
Deleted 2 objects

文档

Oracle入门教程:RMAN备份归档日志的注意要点

Oracle入门教程:RMAN备份归档日志的注意要点:今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type disk maxpiecesize = 2G; allocate channel 今天在公司的数据库上看到这样的一个RMAN备份脚本: run { allocate channel c1 type d
推荐度:
标签: 备份 注意 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top