ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 磁盘归档写满问题

磁盘归档写满问题

原创 Linux操作系统 作者:windtalker_cs 时间:2012-05-03 09:56:00 0 删除 编辑

2012-04-30磁盘归档写满问题报告

    凌晨接到同事的电话,说ORACLE服务器写不进行数据,报归档目录已满的错误。因为是开了归档,所以并没有用默认的快速恢复区作为归档目录,所以马上排除了是快速恢复区的问题(同事找我之前先是查了百度以为是这个问题)。判断应该是备份脚本的执行出了问题,要验证是不是这个问题也很简单,只要看一下磁盘的使用率。只要是备份脚本的执行出了问题,那么归档就可能不能及时的删除,那么磁盘空间就会不够,同样也可能报归档目录已满的问题。因为无法直接连接服务器,也没有时间去找问题,因为每耽搁一个小时就有几百兆的数据要写入。同事对ORACLE又不懂,所以就果断让其删除一些备份,先让数据库处于可用的状态,待可以连接上服务器后再做进一步处理。
    第二天连接上数据库后,先检查了一下磁盘使用率。
    df -lh
    结果显示磁盘还剩100多G的空间,简单看了一下归档,发现从4月18号后的归档一直存在,正常情况下,归档最多只会保存一天的,其它的归档会在每天备份时就自动删除的,更确定是备份的脚本执行出问题了。于是查看了一下备份存放的目录发现备份也停在了18号。再去查看备份日志。发现如下错误:
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    ORA-01031: insufficient privileges
    问题查到这里就有点不太明白了,怎么会执行RMAN没有权限呢?数据库现在都在正常的访问的呀。
    思考中。。。。。
    。。。。。。。。
    。。。。。。。。
    重新打开了一个PUTTY连接服务器,用ORACLE用户登录,报如下错误:
    id: cannot find name for user ID 501
    但是仍然连接上了。
[root@zhyd ~]# su - oracle
id: cannot find name for user ID 501
id: cannot find name for user ID 501
[I have no name!@zhyd ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 3 09:30:29 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL>
这个熟习的错误又出现了,ORA-01031: insufficient privileges,没有权限!现在问题进一步锁定到了ORACLE用户的问题了,基本可以推断LINUX的ORACLE用户某些权限问题引起的RMAN执行问题。这个错误没有见过,就百度了一下,说是/etc/passwd 文件的权限如果没有设置好就会报这个错误。检查了一下该文件的权限:
$ ls -l /etc/passwd
-rw------- 1 0 root 1898 2010-12-01 /etc/passwd 

调整该文件的权限:chmod 644 /etc/passwd
再登录ORACLE用户,错误消失。
RMAN TARGET /
CROSSCHECK BACKUP;
DELETE ARCHIVELOG ALL;
DELETE BACKUP;

重新执行了一下0级备份,到此问题得以解决。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23065269/viewspace-722596/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-02-24

  • 博文量
    49
  • 访问量
    184246