RMAN备份错误ORA-19502的学习

这篇博客详细记录了在Oracle 9i环境下遇到RMAN备份错误ORA-19502的过程及解决方案。错误发生在进行全库备份时,由于磁盘空间不足导致写入文件失败。博主通过检查磁盘空间,删除旧的备份文件释放空间,然后重新执行备份命令成功解决问题。此外,还分享了一个类似错误在Oracle 10g环境下的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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;
}

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值