归档日志满处理(OS Audit file could not be created; failing after 6 retries)

本文记录了一次Oracle数据库测试环境中遇到的问题,包括归档日志空间满导致的连接失败以及监听无法启动的情况。通过调整归档策略、清理归档日志和修复配置,最终解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

早上同事说测试环境的数据库连不上了。检查alert日志,发现报错如下:

************************************************************************
ARC3: Error 19809 Creating archive log file to '/u01/app/oracle/fast_recovery_area/SGDSDB/archivelog/2017_05_31/o1_mf_1_4695_%u_.arc'
ARC1: Error 19809 Creating archive log file to '/u01/app/oracle/fast_recovery_area/SGDSDB/archivelog/2017_05_31/o1_mf_1_4694_%u_.arc'
Errors in file /u01/app/oracle/diag/rdbms/sgdsdb/sgdsdb/trace/sgdsdb_arc0_5237.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 104857600000 bytes is 100.00% used, and has 0 remaining bytes available.
Errors in file /u01/app/oracle/diag/rdbms/sgdsdb/sgdsdb/trace/sgdsdb_arc1_5239.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 104857600000 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
************************************************************************
You have following choices to free up space from recovery area:
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   system command was used to delete files, then use RMAN CROSSCHECK and   DELETE EXPIRED commands.

   DELETE EXPIRED commands.
************************************************************************

 

本以为是很简单的归档日志满造成的报错,按照以往的操作过程,先把db_recovery_file_dest对应的很久之前的归档删除,再等数据库自己把没有归档的日志进行恢复。

结果删除完归档后,发现仍然报错。sqlplus和rman也无法进入。

因为是测试环境,所以就直接将pmon进程干掉,然后将数据库启动到nomount状态,结果发现仍然报错:

OS Audit file could not be created; failing after 6 retries
OS Audit file could not be created; failing after 6 retries
Wed May 31 10:57:32 2017
Performing implicit shutdown abort due to dead PMON
Shutting down instance (abort)

这个应该是相应的audit的目录没有健全,或者oracle的执行文件的权限不对。

首先检查权限:

[oracle@dsdev trace]$ ll $ORACLE_HOME/bin/oracle
-rwsr-s--x. 1 oracle oinstall 239626731 Jul  8  2015 /u01/app/oracle/product/11.2/db_1/bin/oracle
[oracle@dsdev trace]$ 

权限是对的,接着检查对应的目录

[oracle@dsdev dbs]$ ls -l /u01/app/oracle/admin/sgdsdb/adump
ls: cannot access /u01/app/oracle/admin/sgdsdb/adump: No such file or directory
[oracle@dsdev dbs]$ 

发现audit_file_dest的目录不存在,创建好之后,数据库恢复正常。

随后在rman中crosscheck archivelog all和delete expired copy 删除过期和无效的归档日志。

 

另外,在随后的监听启动中发现

启动监听,报错

[oracle@dsdev ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 31-MAY-2017 14:02:02

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dsdev)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused

直接用lsnrctl status仍然报错,去查看相应的log无具体提示。

经检查发现是hosts里面的127.0.0.1对应的localhost被修改掉,重新添加127.0.0.1 localhost后正常(这个和安装时没有设置localhost有异曲同工之妙)。

 

转载于:https://www.cnblogs.com/nazeebodan/p/6923918.html

<think>好的,用户问的是“some files could not be create”,看起来可能是文件创建失败的问题。我需要先确定用户遇到的具体情况。首先,可能的原因有很多,比如权限不足、磁盘空间不够、路径不存在、文件名不合法,或者系统进程占用文件等。 我应该分步骤引导用户排查问题。首先检查权限,用户可能没有写权限,需要查看目标目录的权限设置,建议使用ls -l或getfacl命令。如果权限不足,可能需要用chmod或chown修改。 接下来是磁盘空间,用户可能磁盘满了,可以用df -h检查空间,删除不必要的文件或扩容。然后检查路径是否存在,如果路径中的某些目录不存在,需要用mkdir -p创建。 文件名问题也要考虑,比如特殊字符或长度过长,建议使用简单合法的文件名。另外,系统进程可能占用了文件,可以用lsof查看是否被锁定,关闭相关进程。 如果是防病毒软件或安全工具阻止了创建,可能需要暂时禁用或调整设置。还有SELinux或AppArmor这样的安全模块,检查日志是否有相关阻止信息,适当调整策略。 最后,如果是编程或脚本中的问题,确保正确处异常,检查文件操作代码是否有误,比如正确的打开模式或关闭文件流。 需要提醒用户根据具体情况逐步排查,如果问题依旧,提供更多上下文或日志能更精准定位问题。总结来说,要结构清晰,分点列出可能原因和解决步骤,用简单易懂的中文,避免技术术语过多,确保用户能跟随操作。</think>当系统提示“some files could not be created”(部分文件无法创建)时,通常由以下原因导致。以下是逐步排查和解决的思路: --- ### **1. 检查文件权限** - **现象**:当前用户对目标目录无写入权限。 - **验证方法**: ```bash ls -ld /目标目录路径 # 查看目录权限 ``` - **解决方案**: - 修改目录权限(示例): ```bash sudo chmod 755 /目标目录路径 # 赋予用户读写权限 ``` - 修改目录所有者(示例): ```bash sudo chown 用户名:用户组 /目标目录路径 ``` --- ### **2. 磁盘空间不足** - **现象**:磁盘已满,无法写入新文件。 - **验证方法**: ```bash df -h # 查看磁盘剩余空间 ``` - **解决方案**: - 删除无用文件:清临时文件、日志文件等。 - 扩展磁盘分区(需谨慎操作)。 --- ### **3. 路径不存在** - **现象**:目标目录的上级路径缺失(如 `/a/b/c` 中 `b` 不存在)。 - **验证方法**: ```bash ls /目标路径 # 确认路径是否存在 ``` - **解决方案**: ```bash mkdir -p /目标路径 # 递归创建目录 ``` --- ### **4. 文件名非法** - **现象**:文件名包含特殊字符(如 `/`, `*`, `?`)或长度超限。 - **解决方案**: - 避免使用保留字符(如 `\ / : * ? " < > |`)。 - 缩短文件名长度(通常不超过255字符)。 --- ### **5. 文件被系统进程占用** - **现象**:文件已被其他程序锁定(常见于Windows,Linux较少)。 - **验证方法**: ```bash lsof /文件路径 # 查看占用文件的进程 ``` - **解决方案**: - 关闭占用文件的程序。 - 重启系统后重试。 --- ### **6. 安全软件拦截** - **现象**:防病毒软件或系统安全策略阻止文件创建。 - **解决方案**: - 暂时禁用防病毒软件。 - 检查系统审计日志(如 `/var/log/audit/audit.log`)确认是否被SELinux/AppArmor拦截。 --- ### **7. 编程/脚本中的处** 如果问题出现在代码中: - **检查点**: - 文件操作是否包含异常处(如`try-catch`)。 - 文件路径是否正确拼接(如绝对路径 vs 相对路径)。 - 是否忘记关闭文件流(导致资源未释放)。 --- ### **总结步骤** 1. 检查目标目录权限和路径是否存在。 2. 确认磁盘空间充足。 3. 验证文件名合法性。 4. 排查进程占用或安全软件拦截。 5. 若为代码问题,添加错误日志输出定位具体原因。 若问题仍未解决,请提供具体操作场景(如命令行操作、编程语言、操作系统),以便进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值