oracle adump清理 - 待整理

文章讲述了如何管理Oracle数据库的审计日志,包括进入审计日志目录,删除旧文件,以及调整audit_trail参数关闭审计功能。即便设置为NONE,仍会在操作系统中生成审计文件。建议定期清理AUD$表和adump目录,避免影响系统性能。

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

--进入审计日志目录:

cd $ORACLE_BASE/admin/$ORACLE_SID/adump

--删除3个月前的审计文件:

find ./ -type f -name "*.aud" -mtime +91|xargs rm -f

--一次清空所有审计文件

find ./ -type f -name "*.aud"|xargs rm-f

find ./ -mtime +7 -name "*.aud" -type f –delete

通常我们新装好一个数据库中查询审计开关的时候,可能会发现它的设置为DB。(预装设置,如果为其他表示被认为设置过)

SQL>show parameter audit_trail

Name       TYPE     VALUE

-----------------------------------

audit_trail   string     DB

audit_trail=DB,代表的是,oracle将把每次审计跟踪记录在数据库的一张叫做AUD$的表中。

SQL>select owner,table_name,tablespace_name from dba_tables a where a.table_name ='AUD$'

OWNER TABLE_NAME TABLESPACE_NAME

--------------------------------------------------------------

SYS AUD$ SYSTEM

而这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。

由于这个表空间非常特殊:如果此时它正好被设置为自动扩展(AUT=YES)的话:

SQL>select a.tablespace_name,a.bytes,a.autoextensible from dba_data_files a where a.tablespace_name='SYSTEM'TABLESPACE_NAME BYTES AUT

--------------------------------------------------------

SYSTEM 2147473648 YES

长此以往,SYSTEM表空间最终会因为过度肥胖把磁盘撑爆。

(反过来,如果SYSTEM表空间的autoextensible=NO,AUD$表就没地方写就会报错无法分配空间)

SO,有点数据库就会根据情况,将审计功能“关闭”:

1.设置审计参数关闭

SQL>alter system set audit_trail=none scope=spfile;

2.重启数据库

SQL>shutdownimmediate;

SQL>startup;

这时候小伙伴以为高枕无忧了,其实,oracle早有准备,有一个叫强制审计的变态功能在等着你。

只要你敢用SYSDBA或者SYSOPER权限登录数据库

敢startup

敢shutdown

oracle就给你在$ORACLE_BASE/admin/$ORACLE_SID/adump 目录中记.aud的文件

所以,开了DB功能,会同时将审计日志记在AUD$表中和操作系统aud文件中。

设置为NONE,仍然会而且毫无其他办法的将记录在操作系统aud文件中。

*数据库的表为:sys.aud$

*操作系统目录为:$ORACLE_BASE/admin/实例名/adump/

可通过SQL>show parameter audit 查询到)

是不是很变态?

所以这个目录长期不清理的话,会积压大量*.aud文件

长期大量不删除的话,会影响到操作系统inodes

所以,小伙伴们:

如果为DB,记得定期清空aud$表

SQL>truncate table sys.aud$;

如果你不想用DB功能,可以设置关闭

SQL>alter system set audit_trail=none scope=spfile;

注意,需要重启数据库

SQL>shutdownimmediate;

SQL>startup;

如果为NONE,记得清空aud文件或者配置crontab定时任务定时清空aud文件。

注意:不要直接删除adump目录,否则,你会sqlplus不了数据库。

<think>好的,我需要帮助用户查找与PLSQL相关的日志文件信息以及如何处理日志文件。用户特别询问了PLSQL日志文件的位置和配置方法。首先,我需要回忆一下PLSQL Developer相关的日志文件位置和配置方法,同时结合用户提供的引用资料中的相关信息。 根据用户提供的引用资料,引用[3]提到安装PLSQL Developer时需要注意安装路径不能包含括号,比如不要安装在C:\Program Files (x86)目录下。这可能影响到日志文件的默认存储位置,但具体路径还需要进一步确认。 另外,引用[2]中讨论了PostgreSQL的日志文件,包括pg_xlog目录,虽然这是PostgreSQL的日志,但用户的问题是关于PLSQL的,可能需要区分PLSQL Developer工具本身的日志和Oracle数据库的日志。PLSQL Developer是一个用于Oracle数据库的第三方工具,因此可能需要查看Oracle的日志文件位置,比如联机重做日志文件,如引用[1]中提到的ALTER DATABASE DROP LOGFILE MEMBER命令,说明Oracle的日志文件可能在/oracle/dbs/这样的目录下。 用户的问题可能涉及两个方面:PLSQL Developer工具自身的日志和通过PLSQL Developer访问的Oracle数据库的日志。需要分别处理这两个方面。 首先,PLSQL Developer工具自身的日志位置通常在安装目录下的Logs文件夹中,例如C:\Program Files\PLSQL Developer\Logs,但根据引用[3]的提示,如果安装路径包含括号可能会有问题,所以正确的路径可能取决于用户的实际安装位置。 其次,对于Oracle数据库的日志,引用[1]提到联机重做日志文件的位置,例如/oracle/dbs/log3c.rdo,这可能是在Linux系统下的路径。在Windows系统中,Oracle的日志文件可能位于ORACLE_BASE\diag\rdbms\<数据库名>\<实例名>\trace目录下,其中包含警报日志和跟踪文件。 此外,引用[5]提到审计日志的导出方式,Log后端配置可能涉及Oracle的审计参数设置,如audit_trail参数,可以配置为DB或OS,决定审计日志存储位置。 因此,我需要整理这些信息,分步骤说明PLSQL Developer工具日志和Oracle数据库日志的位置及配置方法,同时引用相关的资料来支持回答。 需要注意的是,用户可能混淆了PLSQL(作为Oracle的过程语言扩展)和PLSQL Developer工具,但根据问题中的“PLSQL”,可能指的是工具本身。需要明确区分这两者,避免混淆。 总结回答结构: 1. PLSQL Developer工具的日志位置和配置方法 2. Oracle数据库相关日志的位置和配置方法 3. 处理日志文件的注意事项(如引用[2]提到的不要随意删除事务日志) 同时,根据用户提供的引用,引用[2]虽然关于PostgreSQL,但强调了事务日志的重要性,可以类比到Oracle的联机重做日志,提醒用户谨慎处理。 最后生成相关问题,可能需要涉及日志管理、配置优化、故障排查等方向。</think>### PLSQL日志文件位置及配置方法 #### 1. **PLSQL Developer工具自身日志** - **日志位置**:PLSQL Developer的安装目录下的`Logs`文件夹中。例如,若安装路径为`D:\PLSQL Developer`,则日志文件位于`D:\PLSQL Developer\Logs`[^3]。 - **配置方法**: - 打开PLSQL Developer,进入`工具 > 首选项 > 日志`,可设置日志保存路径、日志级别(如调试、错误等)及自动清理策略。 - 注意安装路径需避免括号(如`C:\Program Files (x86)`),否则可能导致日志生成异常[^3]。 #### 2. **Oracle数据库相关日志** - **联机重做日志(Redo Log)**: - **位置**:通过SQL查询获取: ```sql SELECT MEMBER FROM V$LOGFILE; ``` 默认路径示例:Linux系统下为`/oracle/dbs/`[^1],Windows系统下为`ORACLE_BASE\oradata\<数据库名>\`。 - **配置**:使用`ALTER DATABASE`命令调整日志文件组,例如删除日志成员: ```sql ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo'; ``` - **跟踪文件与警报日志**: - **位置**:位于`ORACLE_BASE\diag\rdbms\<数据库名>\<实例名>\trace`目录中,包含错误诊断和审计信息。 - **警报日志文件**:`alert_<实例名>.log`记录数据库关键事件(如启动、关闭、错误)。 - **审计日志**: - **配置**:通过`audit_trail`参数设置: ```sql ALTER SYSTEM SET audit_trail = DB SCOPE=SPFILE; -- 日志存储到数据库表 ALTER SYSTEM SET audit_trail = OS SCOPE=SPFILE; -- 日志存储到操作系统文件 ``` 文件默认路径为`ORACLE_BASE\admin\<数据库名>\adump`[^5]。 #### 3. **处理日志的注意事项** - **联机重做日志**:不可随意删除或移动,否则可能导致数据库无法恢复[^2]。 - **定期归档**:建议开启归档模式并配置`ARCHIVELOG`,避免日志文件占满空间。 - **清理策略**:对PLSQL Developer工具日志,可通过首选项设置自动保留天数;对Oracle日志,需结合备份策略清理过期归档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值