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

早上同事说测试环境的数据库连不上了。检查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

Linux系统中,`firewalld.service` 不被找到通常意味着你尝试启动或管理防火墙服务(firewalld),但该服务并没有安装或者配置文件不存在。firewalld是Linux的一个动态防火墙工具,它提供了一个用户友好的接口来管理网络规则。 当你遇到这个错误时,可以按照以下步骤进行检查和解决: 1. **确认服务是否安装**:运行 `systemctl list-unit-files | grep firewalld`,如果没列出firewalld.service,说明firewalld没有安装。你可以使用包管理器如`apt`(Debian/Ubuntu)、`yum`(RHEL/CentOS)或`dnf`(Fedora)来安装它。 2. **检查启动状态**:执行 `systemctl status firewalld`,看服务是否已经启动。如果显示未启动,可以用 `systemctl start firewalld` 或 `systemctl enable firewalld` 来尝试启动并设置开机启动。 3. **查看配置文件**:确认`/etc/firewalld`目录是否存在,以及其中的配置文件是否完整。 4. **启动和初始化**:如果以上步骤都无法解决问题,可能需要手动初始化服务,使用 `firewalld --reload` 命令,然后重启系统以确保更改生效。 5. **检查依赖**:有时候,服务无法启动可能是因为依赖项缺失,比如iptables等。确保所有必要的库和服务都已经正确配置和安装。 6. **错误日志**:查阅`/var/log/messages`或`/var/log/audit/audit.log`等日志文件,查找有关firewalld.service找不到的详细错误信息。 如果你是在服务器管理场景,可能需要查看权限和SELinux策略是否允许firewalld运行。如果是在开发环境中,确保你当前用户有权限管理网络服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值