本篇内容主要讲解“Oracle怎么清理数据库中没用的文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么清理数据库中没用的文件”吧!
1. (optional)可以创建备份目录,提前备份需要清理日志
mkdir /log_bak_date
2. 数据库各项日志文件路径
sqlplus / as sysdba SYS@honor1 > show parameter dump_dest; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ background_dump_dest string /u01/app/oracle/diag/rdbms/honor/honor1/trace core_dump_dest string /u01/app/oracle/diag/rdbms/honor/honor1/cdump user_dump_dest string /u01/app/oracle/diag/rdbms/honor/honor1/trace 11gR1之后引入全新的诊断信息架构: SYS@honor1 > show parameter diag; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ diagnostic_dest string /u01/app/oracle SYS@honor1 > show parameter audit_file_dest; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_file_dest string /u01/app/oracle/admin/honor/adump audit_file_dest /* 路径下存放的是数据库审计信息文件,如果未设置audit_trail为OS,则默认此目录只存放SYS登陆审计信息。 background_dump_dest /* 存放数据库后台进程调试信息,与记录影响实例、数据库的trace文件和alert日志文件,11gR1之后,缺省忽略此参数设置,根据diagnostic_dest存放 diagnostic_dest /* 11gR1之后,引入,后台进程与alert告警日志会根据ADR base目录存放 user_dump_dest /* 存放用户进程调试trace文件,11gR1之后,引入新的诊断架构这个参数将被忽略,由diagnostic_dest控制trace文件生成目录 core_dump_dest /* 存放Oracle核心转储文件
3. 数据库审计信息文件清理
find /u01/app/oracle/admin/honor/adump -mtime +30 -name \*.aud /* 可选择如下命令备份审计文件: find /u01/app/oracle/admin/honor/adump -mtime +30 -name \*.aud -exec mv {} /log_bak_date \; /* 查看审计目录下30天前的审计文件 find audit_file_dest -mtime +30 -name \*.aud /* 确保审计日志无需保留,可选择删除 cd /log_bak_date rm -rf *.aud /* 数据库中审计一般可以选择直接truncate掉aud$
4. 数据库trace文件
/* 清理trace文件 进入background_dump_dest路径下,将30天之前的文件移到准备删除的文件夹,执行命令如下: find /opt/oracle/diag/rdbms/orcl/czh29c/trace -mtime +30 -name \*.tr* /* (可选)可选择将文件备份 $ find /opt/oracle/diag/rdbms/orcl/czh29c/trace -mtime +30 -name \*.tr* -exec mv {} /log_bak_date/background_dump_dest \; /* 确保日志无用处之后,手工执行删除命令 cd /log_bak_date/background_dump_dest rm -rf *.tr*
5.清理数据库alert日志
/* alert有两种办法可以清理 /* /* cp备份 cd /u01/app/oracle/diag/rdbms/honor/honor1/trace cp alert_$ORACLE_SID.log /log_bak_date/alert_$ORACLE_SID.log.bak (确保空间足够) /* 清理办法 方法1:echo 0 >alert_$ORACLE_SID.log (清空内容) 方法2:rm alert_$ORACLE_SID.log (直接删除掉)
6. 数据库sql trace文件清理
数据库默认user_dump_dest和background_dump_dest路径一致,如不一致,参照4中清理trace文件步骤清理
7. 数据库监听日志清理
/* Oracle 11g的监听日志和告警日志分别在,RAC日志在grid用户的$ORACLE_BASE下: $ORACLE_BASE/diag/tnslsnr/hostname/listener/trace(文本监听日志) $ORACLE_BASE/diag/tnslsnr/hostname/listener/alert(xml监听日志) /* 删除监听日志的方法如下: /* 切换到oracle用户(如果为RAC,切换到grid用户) $ su oracle $ lsnrctl LSNRCTL> set log_status off $ mv listener.log listener.log.bak /*(备份一下监听文件或者删除监听日志文件) $ mv listener.xml listener.xml.bak LSNRCTL> set log_status on /*(这时候会自动创建一个listener.log文件) /* 11g可以使用ADRCI工具查看告警日志 /* 要看警告日志可以在oracle用户下执行adrci $ adrci adrci> show alert /* 可根据提示查看数据库或者监听日志内容。 $ adrci adrci> SHOW TRACEFILE /* 可以看到所有的trace以及alert日志文件 /* 使用adrci清理trace文件 $ adrci adrci> show home adrci> set homepath diag/rdbms/honor/honor1 adrci> help purge /* 可根据清理多少分钟前的数据,也可以show problem查看日志中错误信息
到此,相信大家对“Oracle怎么清理数据库中没用的文件”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。