当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-06

    本文导语:   我在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。但是我在Oracle 10g上发现,存储...

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



    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 解决报错ora-32035的方法分析
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • zilong28提问:Tomcat3.2报错内容是Error occurs when connecting DB: ORA-00020: maximum number of processes(59) exceeded 我应该如何解决,先谢了
  • ORA-28002 Oracle 11g存在密码过期问题解决方案
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • 如何解决ORA-01843与NLS_DATE_FORMAT问题
  • 如何得到带有ora的行的下一行
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀? iis7站长之家
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • 我在Linux7。3下面装了一个Oracle8i,但是现在启动不起来了,总是报错ORA-01031: insufficient privileges
  • oracle报错(ORA-00600)问题处理
  • Oracle 10g之ORA-32004问题
  • 在客户端配置TNS测试报错ORA-12170:TNS:连接超时


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,