溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle怎么清理數據庫中沒用的文件

發布時間:2021-08-24 18:19:32 來源:億速云 閱讀:195 作者:chen 欄目:關系型數據庫

本篇內容主要講解“Oracle怎么清理數據庫中沒用的文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“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怎么清理數據庫中沒用的文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女