背景
最近几天清理公司内一个比较大的Oracle数据库.
其实Oracle的数据文件没法像SQLServer一样进行收缩
所以只能通过删除不用的数据文件
以及清理一些垃圾日志进行相关的处理.
Oracle的日志主要是分为审计日志和监听日志.
这里分别进行说明
监听日志
Oracle低版本的兼容日志存放在这个路径下面:
$ORACLE_HOME/network/log/listener_$ORACLE_SID.log
高版本的数据库监听日志在这里:
$ORACLE_BASE/diag/tnslsnr/主机名称/listener/trace/listener.log
关闭监听日志的方法为:
su - oracle
lsnrctl set log_status off
开启的方法为:
lsnrctl set log_status on
先备份然后清理文件就可以了.
审计日志
审计相关的参数:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/gscdb/adump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB
unified_audit_common_systemlog string
unified_audit_sga_queue_size integer 1048576
unified_audit_systemlog string
查看审计日志的位置:
audit_file_dest 是审计日志的文件位置
最简单的办法是进入该目录并且清理文件
cd /u01/app/oracle/admin/gscdb/adump
find . -mtime +15 -exec rm -rf {} \;
关闭审计日志的办法主要是:
alter system set audit_trail=none scope=spfile;
# 设置 audit_trail 为 none 就不记录审计了
# 注意需要重启数据库使之生效
需要说明 DB的话 其实数据库里面也会审计存一份, 其实对性能不是很好
如果是OS的话 会有海量的小文件 有可能会导致分区 inode 空间不足出现问题.
关于 adrci
Oracle ADRCI(Automatic Diagnostic Repository Command Interpreter)
ADRCI 是 Oracle 提供的一个命令行工具,
用于管理和操作 Automatic Diagnostic Repository (ADR) 中的诊断数据。
ADR 是 Oracle 数据库的一个关键组件,用于存储和管理数据库的诊断信息,
包括警报、事件、跟踪文件等。
su - oracle
adrci #可以进入命令行:
show control 可以查看部分信息
然后可以修改归档的时间:
set control (SHORTP_POLICY = 168)
set control (LONGP_POLICY = 240)
这样就可以将审计日志存在的时间进行缩短了.
文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




