rman 问题
1. RMAN Repeatedly Fail To Backup Archivelogs with RMAN-20242
Cause:
There is a mis-match between the catalog contents and what is physically on disk in the archivelog directory.
Run the command:
RMAN> list archivelog all;
# Compare the output with the contents of the archivelog directory.
# RMAN-20242 is raised when we try to find a log in the rman repository that does not exist on disk.
Solution:
If logs are missing from the archivelog directory you need to determine why:
1. Logs have been moved to another location to prevent archivelog directory from filling up:
- backup the logs currently in the archivelog directory using the syntax:
RMAN>backup archivelog sequence between n and n2 thread N delete input;
# Then move the missing logs back into the archivelog directory and back them up,
# again with delete input option.
2. Logs have been irretrievably lost (deleted):
- In this case you need to resolve the discrepancy between the rman repository contents and what is actually on disk;
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
# If you do this, full recovery using ANY backup taken before this point is not possible
# as full recovery cannot tolerate gaps in the redo stream.
# Take another full hot backup as soon as possible and change operational processes such that archivelog
# backups are run more frequently to prevent the archivelog
directory from getting full; NEVER delete archivelogs manually,
# always use RMAN to housekeep archivelogs.
--
2. RAC - RMAN backup specific Archivelog Sequence getting error RMAN-20242
RMAN> run {
allocate channel d1 type disk;
backup as copy archivelog from sequence 433 until sequence 434 format '/apps/oracle/rman/CUR/curprod_%t_%s_%r.arc';
release channel d1;
}
using target database control file instead of recovery catalog
allocated channel: d1
channel d1: sid=2152 instance=curprod3 devtype=DISK
Starting backup at 23-JUL-08
released channel: d1
RMAN-03002: failure of backup command at 07/23/2008 17:33:45
RMAN-20242: specification does not match any archive log in the recovery catalog
Cause:
This is a RAC database and the thread number was not specified in the backup statement.
Solution:
Specify the thread as part of the backup command, for instance:
--
3. RMAN Backup Archivelog using LIKE operator failed RMAN-20242
RMAN 'archivelog like' method is very useful when trying to backup archived log
on oracle parallel server and oracle parallel failsafe where archived logs exist
on all nodes local disks.
allocate channel c1 type disk;
backup
archivelog like 'E:\oracle\oradata\prod\archive%';
}
...
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: backup
RMAN-06004:
ORACLE error from recovery catalog database: RMAN-20242: specification
does not match any archivelog in the recovery catalog
# To resolve the above error, query V$ARCHIVED_LOG to find out the archived log
# details and note the format of the name column.
Cause:
RECID STAMP
---------- ----------
NAME
--------------------------------------------------------------------------------
THREAD# SEQUENCE# RESETLOGS_CHANGE# RESETLOGS FIRST_CHANGE# FIRST_TIM
---------- ---------- ----------------- --------- ------------- ---------
NEXT_CHANGE# NEXT_TIME BLOCKS BLOCK_SIZE CREA REGI STA ARC DEL COMPLETIO
------------ --------- ---------- ---------- ---- ---- --- --- --- ---------
1 419970034
E:\ORACLE\ORADATA\PROD\ARCHIVE\PRODT001S01524.ARC
1 1524 1 21-JAN-01 599954 25-JAN-01
600067 25-JAN-01 103 512 FGRD FGRD NO YES YES 25-JAN-01
# Notice the name is in UPPER case - 'E:\ORACLE\ORADATA\PROD\ARCHIVE\PRODT001S01524.ARC'.
# Modify the script and run again.
Solution:
allocate channel c1 type disk;
backup
archivelog like 'E:\ORACLE\ORADATA\PROD\ARCHIVE\PROD%' delete input;
release channel c1;
}
....
RMAN-03022: compiling command: backup
RMAN-03023: executing command: backup
RMAN-08009: channel c1: starting archivelog backupset
RMAN-08502: set_count=36 set_stamp=420311754 creation_time=29-JAN-01
RMAN-08014: channel c1: specifying archivelog(s) in backup set
RMAN-08504: input archivelog thread=1 sequence=1538 recid=15 stamp=420196579
RMAN-08504: input archivelog thread=1 sequence=1539 recid=16 stamp=420239024
...
RMAN-08013: channel c1: piece 1 created
RMAN-08503: piece handle=E:\ORACLE\ORA817\DATABASE\14CGQSMA_1_1 comment=NONE
RMAN-08525: backup set complete, elapsed time: 00:00:02
RMAN-08071: channel c1: deleting archivelog(s)
...
RMAN-08514: archivelog filename=E:\ORACLE\ORADATA\PROD\ARCHIVE\PRODT001S01541.ARC recid=18 stamp=420310800
RMAN-08514: archivelog filename=E:\ORACLE\ORADATA\PROD\ARCHIVE\PRODT001S01542.ARC recid=19 stamp=420310879
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-03022: compiling command: release
RMAN-03023: executing command: release
RMAN-08031: released channel: c1
4. Rman-20242 raised for Backup Archivelogs when using SEQUENCE, if logs do not belong to current incarnation
RMAN list and backup commands when used for archivelogs, specifying sequence or sequence range is
limited to logs only in current incarnation. For example:
RMAN> list archivelog all;
using target database control file instead of recovery catalog
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - ------------------ ----
99 1 6 A 09-nov-07 12:30:58 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_6_3MM4NR1W_.ARC
95 1 6 A 09-nov-07 12:30:58 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_6_3MJT5FQH_.ARC
98 1 7 A 12-nov-07 14:52:25 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_7_3MM4NN0R_.ARC
96 1 7 A 12-nov-07 14:52:25 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_7_3MM3HO29_.ARC
97 1 8 A 13-nov-07 11:43:46 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_8_3MM4NLFT_.ARC
100 1 1 A 13-nov-07 12:03:30 D:\ORACLE\PRODUCT\10.2.0..........O1_MF_1_1_3MM5TSTX_.ARC
Log sequences 6,7 and 8 belong to previous incarnation.
Log sequence 1 belongs to current incarnation.
RMAN> list archivelog sequence=6;
specification does not match any archive log in the recovery catalog
RMAN> list archivelog 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\V10203\ARCHIVELOG\2007_11_13\O1_MF_1_6_3MM4NR1W_.ARC';
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - ------------------ ----
99
1 6 A 09-nov-07 12:30:58
D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\V10203\ARCHIVELOG\2007_11_13\O1_MF_1_6_3MM4NR1W_.ARC
RMAN> backup archivelog all;
== ALL logs are backed up.
RMAN> backup archivelog sequence=6;
Starting backup at 13-nov-07 12:53:27
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 11/13/2007 12:53:28
RMAN-20242: specification does not match any archive log in the recovery catalog
Cause:
Bug 5648115 USING LOGSEQ CLAUSE, RMAN CAN NOT BACKUP ARCHIVE LOGS FOR PREVIOUS INCARNATIONS:
This problem is NOT confined to SAP databases.
Anyone trying to backup logs using SEQUENCE will find they cannot backup logs from an earlier
incarnation where the logs are still avaliable on disk. Nor can the logs be listed using SEQUENCE.
Solution:
Apply the fix for Bug 5648115 when it becomes available.
Bug 5648115 is fixed in 11GR2.
Workaround:
Do NOT use SEQUENCE - use SCN instead - not ideal as you would need to get SCN details from v$archived_log first:
sql> select first_change#, next_change# from v$archived_log where sequence#=n and resetlogs_change#=N;
You can take N from the output from:
RMAN> list incarnation;
rman 问题的更多相关文章
- RMAN异机恢复快速参考
应用场景:服务器A为正常运行的生产环境,需要在服务器B上部署一套相同环境做测试. 数据库环境:RHEL6.4 + Oracle 11.2.0.4.7 一. 服务器A备份数据库 1.1 在线备份(数据库 ...
- 用RMAN备份EBS数据库的脚本
rman_bak.sh rman target / nocatalog log=/d01/rmanbak/bak_`date +%m%d%H%M`.log<< EOF run { c ...
- RAC+asm通过rman恢复到单实例+asm
1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指 ...
- RMAN Catalog创建、配置和管理
环境:RHEL6.4 + Oracle 11.2.0.4 一.创建数据库catdb 1.1 官档的建库脚本示例 1.2 根据我实际环境修改如下项 1.3 创建必要目录并赋予权限 1.4 执行脚本建库 ...
- 使用RMAN创建复制数据库
我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...
- DG环境数据库RMAN备份策略制定
DG环境数据库RMAN备份策略制定: 主库(Primary) 全库备份 归档备份 删除历史文件夹 备库(Standby) 删除归档 引用说明 主库(Primary) $ crontab -l 0 1 ...
- 记录一则RMAN备份策略修正案例
背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略. 环境:SunOS 5.10 + Oracle 11.2. ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
- RMAN异机还原遭遇ORA-19698错误案例
实验环境: 操作系统 :Oracle Linux Server release 5.7 64 bit 数据库版本:Oracle Datab ...
- RMAN备份脚本一列分享
在ORACLE数据库中,RMAN备份的脚本非常多,下面介绍一例shell脚本如何通过RMAN备份,以及FTP上传RMAN备份文件以及归档日志文件的脚本. fullback.sh 里面调用RMAN命令做 ...
随机推荐
- 【51NOD1806】wangyurzee的树(Prufer编码,容斥原理,组合计数)
题意:有n个点和m条限制,每条限制限制了一个点的度数不能为某个数. 求合法的树的个数模10^9+7 n<=10^6 m<=17 思路:WYZ作业 首先m<=17显然是2^m容斥 枚举 ...
- jsp内置对象之response、out、config、exception、pageContext。
本文是对Jsp内置对象的response.out.config.exception.pageContext知识点的详细总结. response对象 Response内置对象和request内置对象是相 ...
- 使用HttpClient调用第三方接口
最近项目中需要调用第三方的Http接口,这里我用到了HttpClient. 首先我们要搞明白第三方接口中需要我们传递哪些参数.数据,搞明白参数以后我们就可以使用HttpClient调用接口了. 1.调 ...
- wget下载网络图片
wget http....... --no-check-certificate
- java常用工具类 - 全角转半角、半角转全角
全角转半角.半角转全角代码 /** * <PRE> * 提供对字符串的全角->半角,半角->全角转换 * codingwhy.com * </PRE> */ pub ...
- centos下性能分析工具perf的安装和简单使用
1.安装: cat /etc/redhat-releaseCentOS release 6.6 (Final) sudo yum install perf 2.
- tomcat会自动解压webapps目录下的war包
如图,把war包放到tomcat的webapps目录,会被自动解压
- FTP指令说明
安装vsftpd: listen=YES: 是否监听端口 anonymous_enable=NO: 是否启用匿名用户 local_enable=YES: 是否允许本地用户登录 write_enable ...
- Android中通过反射来设置Toast的显示时间
这个Toast的显示在Android中的用途还是非常大的,同一时候我们也知道toast显示的时间是不可控的.我们仅仅能改动他的显示样式和显示的位置,尽管他提供了一个显示时间的设置方法.可是那是没有效果 ...
- cout 堆栈,operator<< 运算符重载输出问题
在C++中cout的输出流其中,有一些问题非常easy出错,就比方以下这道简单程序.看似简单.但却是一个值得深思的问题~~ #include <iostream> using namesp ...