这篇文章给大家分享的是有关Oracle中闪回区存储空间报ORA-19815问题怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

查询Oracle的alert日志是发现ORA-19815告警日志,具体现象如下:

【现象】

ORA-19815:WARNING:db_recovery_file_dest_sizeof214748364800bytesis85.22%used,andhas31746169856remainingbytesavailable

【分析处理思路】

1、查询相关参数和视图

(1)查询db_recovery_file_dest_size和db_recovery_file_dest参数闪回区存储空间确定位置和大小。

(2)查询v$recovery_file_dest视图确定db_recovery_file_dest_size的使用情况。

(3)查询v$flash_recovery_area_usage视图确定那种文件占用空间。

2、解决方法主要考虑以下三个方面:

(1)如果db_recovery_file_dest_size 较小,修改db_recovery_file_dest_size 为更大的值。

(2)如果db_recovery_file_dest指定的目录空间不足,解决办法:

A、可另指定空间,将源db_recovery_file_dest中的文件拷贝到该空间下;

B、为该目录新增磁盘空间;

C、将该目录空间中的文件备份到其他目录,并进行压缩。

(3)通过RMAN删除已经失效的文件。

【实际操作】

1、查看db_recovery_file相关参数

SQL>showparameterdb_recoveryNAMETYPEVALUE-----------------------------------------------------------------------------db_recovery_file_deststring/home/erp_db_rec/db_recovery_destdb_recovery_file_dest_sizebiginteger200G

[oraprod@erpdberp_db_rec]$pwd/home/erp_db_rec[oraprod@erpdberp_db_rec]$du-shdb_recovery_dest/17Gdb_recovery_dest/

根据参数可以判断db_recovery_file_dest 指定的目录足够大。

2、查看recovery file的使用率

SQL>setlinesize2000SQL>colnameforma40SQL>colSPACE_LIMITform99999999999999SQL>colSPACE_USEDform99999999999999SQL>colNUMBER_OF_FILESform9999SQL>selectrfd.NAME,rfd.SPACE_LIMIT,rfd.SPACE_USED,rfd.SPACE_USED/rfd.SPACE_LIMIT*100as"Rate(%)",rfd.NUMBER_OF_FILESfromv$recovery_file_destrfd;NAMESPACE_LIMITSPACE_USEDRate(%)NUMBER_OF_FILES-----------------------------------------------------------------------------------------------/home/erp_db_rec/db_recovery_dest21474836480018300219494485.2170377736

查询发现已经使用了85.21%了。

3、查询是哪类文件占用空间

SQL>selectfile_type,percent_space_usedasused,percent_space_reclaimableasreclaimable,number_of_filesas"number"fromv$flash_recovery_area_usage;FILE_TYPEUSEDRECLAIMABLEnumber------------------------------------------------------CONTROLFILE000REDOLOG000ARCHIVEDLOG000BACKUPPIECE85.220736IMAGECOPY000FLASHBACKLOG000FOREIGNARCHIVEDLOG000AUXILIARYDATAFILECOPY000

8 rows selected.

通过查询可知是BACKUP PIECE使用了recovery_file_dest统计的空间。

由上述查询可知:对db_recovery_file_dest和备份空间中的文件定期进行删除,但是在数据库层面为进行清理,导致v$recovery_file_dest视图将已删除的文件统计在内导致,判断通过RMAN删除无效的备份集可解决。

4、解决此问题的方法

(1)对backupset进行交叉检查。

RMAN>crosscheckbackupset;usingchannelORA_DISK_1crosscheckedbackuppiece:foundtobe'EXPIRED'backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2017_11_07/o1_mf_annnn_TAG20171107T230006_f03lmq9w_.bkpRECID=1405STAMP=959468407crosscheckedbackuppiece:foundtobe'EXPIRED'............backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2017_11_09/o1_mf_annnn_TAG20171109T230007_f08vcrc8_.bkpRECID=1420STAMP=959641208crosscheckedbackuppiece:foundtobe'EXPIRED'backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2017_11_09/o1_mf_annnn_TAG20171109T230007_f08vcrf1_.bkpRECID=1421STAMP=959641208crosscheckedbackuppiece:foundtobe'EXPIRED'backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2017_11_09/o1_mf_annnn_TAG20171109T230007_f08vcrhd_.bkpRECID=1422STAMP=959641208crosscheckedbackuppiece:foundtobe'EXPIRED'backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2017_11_09/o1_mf_annnn_TAG20171109T230932_f08vxdxq_.bkpRECID=1426STAMP=959641772.......backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/backupset/2018_03_22/o1_mf_annnn_TAG20180322T231231_fc7kz019_.bkpRECID=2963STAMP=971478752crosscheckedbackuppiece:foundtobe'AVAILABLE'backuppiecehandle=/home/erp_db_rec/db_recovery_dest/PROD/autobackup/2018_03_22/o1_mf_s_971478753_fc7kz217_.bkpRECID=2964STAMP=971478754Crosschecked1510objects

(2)删除无效的备份集

RMAN>deletenopromptexpiredbackupset;usingchannelORA_DISK_1......backuppiecehandle=/backup/rman_backup/20180219/level1backup/PROD_2218_1_5asrlg89.20180219RECID=2573STAMP=968540425deletedbackuppiecebackuppiecehandle=/backup/rman_backup/20180219/level1backup/PROD_2217_1_59srlg89.20180219RECID=2574STAMP=968540425deletedbackuppiecebackuppiecehandle=/backup/rman_backup/20180219/level1backup/PROD_2219_1_5bsrlg89.20180219RECID=2575STAMP=968540426Deleted1125EXPIREDobjects

(3)使用v$recovery_file_dest验证使用率

SQL>selectrfd.NAME,rfd.SPACE_LIMIT,rfd.SPACE_USED,rfd.SPACE_USED/rfd.SPACE_LIMIT*100as"Rate(%)",rfd.NUMBER_OF_FILESfromv$recovery_file_destrfd;NAMESPACE_LIMITSPACE_USEDRate(%)NUMBER_OF_FILES-----------------------------------------------------------------------------------------------/home/erp_db_rec/db_recovery_dest214748364800180250818568.39358282162

删除无效的备份集后,空间使用率变成8.39%。

(4)查询BACKUP PIECE 的使用情况

SQL>selectfile_type,2percent_space_usedasused,3percent_space_reclaimableasreclaimable,4number_of_filesas"number"5fromv$flash_recovery_area_usage;FILE_TYPEUSEDRECLAIMABLEnumber------------------------------------------------------CONTROLFILE000REDOLOG000ARCHIVEDLOG000BACKUPPIECE8.390162IMAGECOPY000FLASHBACKLOG000FOREIGNARCHIVEDLOG000AUXILIARYDATAFILECOPY000

8 rows selected.

完整解决ORA-19815问题。

感谢各位的阅读!关于“Oracle中闪回区存储空间报ORA-19815问题怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!