热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

ORA-00257错误诊断及解决方法

我在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间

我在实际项目中遇到了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)
  系统已更改。


推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
author-avatar
xiejiahui62272
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有