我在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间
我在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。但是我在Oracle 10g上发现,存储空间还有很大,却也报这个错误。原来是Oracle 10g中新的特性,对Flash Recovery的管理导致的。
1、软硬件环境 服务器 HP Proliant DL580G4 操作系统 RHEL5.4 数据库 Oracle 10.2.0.4.0
2、问题现象 数据库系统已经试运行了半个多月,在7月24日晚上连接数据库后做数据更新时出现ORA-00257错误,如下图。 提示归档错误,,通过查找ORACLE错误代码,解释为硬盘空间不足,需要删除归档日志增加空间,但是服务器可用空间200GB,目前只用了10GB左右,这是为什么呢?
3、诊断过程: (1)查看ORACLE数据库归档日志情况 [root@db2/]# cd /oracle/flash_recovery_area/HKCHR/archivelog [root@db2 archivelog]# ls可以查看到,出现问题之前数据库归档处理一直是正常的。(2)查看数据库REDOLOG情况 [oracle@db2~]$ sqlplus “/as sysdba”SQL> select * from v$log;可以发现ARC状态为NO,说明系统无法正常归档。 (3)手工切换日志 SQL> alter system switch logfile; alter system switch logfile * 第1行出现错误: ORA-01013: 用户请求取消当前的操作 在等待长时间没反应后,中断操作,手工切换日志没有成功。(4) 查看Oracle数据库后台归档服务进程 [oracle@db2~]$ ps -ef|grep oracle …… oracle 20923 1 0 Jul24 ? 00:00:01 ora_pmon_hkchr oracle 20925 1 0 Jul24 ? 00:00:00 ora_psp0_hkchr…… [oracle@hrmsdb ~]$ 后台进程都正常运行。(5) 查看FLASH_RECOVERY_AREA空间使用情况 [root@db2/]# cd /oracle [root@db2 oracle]# ls admin flash_recovery_area oraInventory product [root@db2 oracle]# du -a -k flash_recovery_area…… [root@db2 oracle]# FLASH_RECOVERY_AREA空间使用了3.35GB (6)查看FLASH_RECOVERY_AREA空间中各部分使用情况 SQL> select * from v$recovery_file_dest; NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES ------------------------------------------------------------ /oracle/flash_recovery_area 2147483648 2134212608 0 35 SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------------ ------------------------- CONTROLFILE 0 0 0 ONLINELOG 0 0 0 ARCHIVELOG 69.97 0 40 BACKUPPIECE 30.01 0 2 IMAGECOPY 0 0 0 FLASHBACKLOG 0 0 0 已选择6行。 发现ARCHIVELOG占近70%,BACKUPPIRCR占了30%,这样FLASH_RECOVERY_AREA空间的空间已经被完全占据了。
4、解决过程 根据数据库目前可用存储空间为200GB、FLASH_RECOVERY_AREA空间为2GB的实际情况,把FLASH_RECOVERY_AREA的空间修改为50GB。SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=50g scope=both;(如报错可用scope=spfile) 系统已更改。
本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1148672.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!