本篇內容主要講解“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 (確??臻g足夠) /* 清理辦法 方法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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。