RMAN备份错误ORA-19502的学习
系统平台:Linux AS 3
数据库版本:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
[oracle@localhost oracle]$ rman
Recovery Manager: Release 9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
RMAN> connect target /
connected to target database: ORA9I (DBID=2447264884)
RMAN> BACKUP DATABASE
2> include current
3> controlfile;
Starting backup at 23-AUG-08
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=10 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
including current controlfile in backupset
input datafile fno=00013 name=/opt/ora9/oradata/ora9i/demo05.dbf
input datafile fno=00001 name=/opt/ora9/oradata/ora9i/system01.dbf
input datafile fno=00009 name=/opt/ora9/oradata/ora9i/users01.dbf
input datafile fno=00005 name=/opt/ora9/oradata/ora9i/example01.dbf
input datafile fno=00011 name=/opt/ora9/oradata/ora9i/ts_mamual_1.dbf
input datafile fno=00010 name=/opt/ora9/oradata/ora9i/xdb01.dbf
input datafile fno=00006 name=/opt/ora9/oradata/ora9i/indx01.dbf
input datafile fno=00003 name=/opt/ora9/oradata/ora9i/cwmlite01.dbf
input datafile fno=00004 name=/opt/ora9/oradata/ora9i/drsys01.dbf
input datafile fno=00007 name=/opt/ora9/oradata/ora9i/odm01.dbf
input datafile fno=00002 name=/opt/ora9/oradata/ora9i/undotbs01.dbf
input datafile fno=00008 name=/opt/ora9/oradata/ora9i/tools01.dbf
input datafile fno=00015 name=/opt/ora9/oradata/ora9i/undotbs03.dbf
input datafile fno=00012 name=/opt/ora9/oradata/ora9i/demo01.dbf
channel ORA_DISK_1: starting piece 1 at 23-AUG-08
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/23/2008 20:46:45
ORA-19502: write error on file "03jopjpf_1_1", blockno 92673 (blocksize=8192)
ORA-27072: skgfdisp: I/O error
Linux Error: 2: No such file or directory
Additional information: 92672
解决过程:
1、检查空间的大小
[oracle@localhost dbs]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 6.0G 4.0G 1.7G 72% /
/dev/sda1 99M 9.0M 85M 10% /boot
/dev/sda6 13G 11G 1.2G 91% /opt
none 93M 0 93M 0% /dev/shm
/dev/sda5 494M 83M 387M 18% /tmp
分析:发现/opt路径下的空间大小还有1。2G,猜想有可能是空间不够引起的
2、尝试删除/opt下以前的备份文件,留出磁盘足够的空间
RMAN> delete backup;
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=12 devtype=DISK
List of Backup Pieces
BP Key BS Key Pc# Cp# Status Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
1 1 1 1 AVAILABLE DISK /opt/ora9/product/9.2/dbs/02jokfhe_1_1
Do you really want to delete the above objects (enter YES or NO)? Y
deleted backup piece
backup piece handle=/opt/ora9/product/9.2/dbs/02jokfhe_1_1 recid=1 stamp=663371314
Deleted 1 objects
3、重新执行原来的备份语句
RMAN> BACKUP DATABASE include current controlfile ;
Starting backup at 23-AUG-08
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
including current controlfile in backupset
input datafile fno=00013 name=/opt/ora9/oradata/ora9i/demo05.dbf
input datafile fno=00001 name=/opt/ora9/oradata/ora9i/system01.dbf
input datafile fno=00009 name=/opt/ora9/oradata/ora9i/users01.dbf
input datafile fno=00005 name=/opt/ora9/oradata/ora9i/example01.dbf
input datafile fno=00011 name=/opt/ora9/oradata/ora9i/ts_mamual_1.dbf
input datafile fno=00010 name=/opt/ora9/oradata/ora9i/xdb01.dbf
input datafile fno=00006 name=/opt/ora9/oradata/ora9i/indx01.dbf
input datafile fno=00003 name=/opt/ora9/oradata/ora9i/cwmlite01.dbf
input datafile fno=00004 name=/opt/ora9/oradata/ora9i/drsys01.dbf
input datafile fno=00007 name=/opt/ora9/oradata/ora9i/odm01.dbf
input datafile fno=00002 name=/opt/ora9/oradata/ora9i/undotbs01.dbf
input datafile fno=00008 name=/opt/ora9/oradata/ora9i/tools01.dbf
input datafile fno=00015 name=/opt/ora9/oradata/ora9i/undotbs03.dbf
input datafile fno=00012 name=/opt/ora9/oradata/ora9i/demo01.dbf
channel ORA_DISK_1: starting piece 1 at 23-AUG-08
channel ORA_DISK_1: finished piece 1 at 23-AUG-08
piece handle=/opt/ora9/product/9.2/dbs/04jopp4c_1_1 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:15:38
Finished backup at 23-AUG-08
转类似错误的解决方法:
http://space.itpub.net/370491/viewspace-167489
系统平台:HP-UX 11.23
数据库版本:oracle 10g 10.2.0.1
何时出错:使用rman将数据库备份至磁盘阵列中时
错误记录:RMAN> run {
2> allocate channel t1 type disk;
3> backup
4> incremental level=0
5> format '/u02/oradata/db_bak/%d_full_%t_%s_%p'
6> tag='Whole_incr0'
7> database;
8> release channel t1;
9> # Backup Archived Logs
10> allocate channel t1 type disk;
11> sql 'alter system archive log current';
12> backup
13> format '/u02/oradata/db_bak/arch-s%s-p%p-t%t'
14> archivelog
15> all
16> delete input;
17> release channel t1;
18> # Control file backup
19> allocate channel t1 type disk;
20> backup
21> format '/u02/oradata/db_bak/bk_u%u_s%s_p%p_t%t'
22> current controlfile;
23> release channel t1;
24> }
allocated channel: t1
channel t1: sid=138 devtype=DISK
Starting backup at 04-SEP-06
channel t1: starting incremental level 0 datafile backupset
channel t1: specifying datafile(s) in backupset
input datafile fno=00005 name=/u02/oradata/orcl/shzhdb.dbF
input datafile fno=00010 name=/u02/oradata/orcl/DOCdb.dbF
input datafile fno=00014 name=/u02/oradata/orcl/digitialscandb.dbF
input datafile fno=00022 name=/u02/oradata/orcl/digitalscandata.dat
input datafile fno=00026 name=/u02/oradata/orcl/digitalscandata1.dbf
input datafile fno=00027 name=/u02/oradata/orcl/digitalscandata2.dbf
input datafile fno=00028 name=/u02/oradata/orcl/digitalscandata3.dbf
input datafile fno=00029 name=/u02/oradata/orcl/digitalscandata4.dbf
input datafile fno=00030 name=/u02/oradata/orcl/digitalscandata5.dbf
input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf
input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf
input datafile fno=00008 name=/u02/oradata/orcl/TRADEdb.dbF
input datafile fno=00007 name=/u02/oradata/orcl/STANDARDdb.dbF
input datafile fno=00015 name=/u02/oradata/orcl/DOCMANAGEDB.dbf
input datafile fno=00025 name=/u02/oradata/orcl/archivets.dbF
input datafile fno=00017 name=/u02/oradata/orcl/MDAts.dbf
input datafile fno=00006 name=/u02/oradata/orcl/REPAIDdb.dbF
input datafile fno=00009 name=/u02/oradata/orcl/DOCREPdb.dbF
input datafile fno=00021 name=/u02/oradata/orcl/webissuets.dbf
input datafile fno=00012 name=/u02/oradata/orcl/registeronlinedb.dbF
input datafile fno=00024 name=/u02/oradata/orcl/digitalscanidx.dat
input datafile fno=00031 name=/u01/app/oracle/product/10.1.0/db_1/dbs/owblogts.dbf
input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf
input datafile fno=00023 name=/u02/oradata/orcl/digitalscandb.dat
input datafile fno=00011 name=/u02/oradata/orcl/restrictdb.dbF
input datafile fno=00013 name=/u02/oradata/orcl/gis.dbF
input datafile fno=00016 name=/u02/oradata/orcl/kmdocts.dbf
input datafile fno=00018 name=/u02/oradata/orcl/SCREENDB.dbf
input datafile fno=00019 name=/u02/oradata/orcl/TOUCHDB.dbf
input datafile fno=00020 name=/u02/oradata/orcl/twboxdb.dbf
input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf
channel t1: starting piece 1 at 04-SEP-06
released channel: t1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t1 channel at 09/04/2006 17:13:34
ORA-19502: write error on file "/u02/oradata/db_bak/ORCL_full_600282318_1_1", blockno 262017 (blocksize=8192)
ORA-27072: File I/O error
HPUX-ia64 Error: 2: No such file or directory
Additional information: 3
Additional information: 262017
解决办法:原因是生成的备份集文件超过了操作系统的2GB限制,通过限制备份集文件大小来避免错误的发生
修改备份脚本为:
run {
allocate channel t1 type disk;
set limit channel t1 kbytes 1800000;
backup
incremental level=0
format '/u02/oradata/db_bak/%d_full_%t_%s_%p'
tag='Whole_incr0'
database;
release channel t1;
# Backup Archived Logs
allocate channel t1 type disk;
sql 'alter system archive log current';
backup
format '/u02/oradata/db_bak/arch-s%s-p%p-t%t'
archivelog
all
delete input;
release channel t1;
# Control file backup
allocate channel t1 type disk;
backup
format '/u02/oradata/db_bak/bk_u%u_s%s_p%p_t%t'
current controlfile;
release channel t1;
}