天天看點

Oracle管理監控之檢查資料庫和日常維護資料庫

linux系統的系統日志一般位于/var/log目錄下。linux的系統日志由一個叫syslog的程序管理的,如下日志都是由syslog服務驅動的。

/var/log/ messages:記錄linux系統常見的系統和服務錯誤。

/var/log/lastlog:記錄最後一次使用者登入的時間,登入IP等資訊。

/var/log/secure:linux系統安全日志,記錄使用者和工作組變化情況,使用者登入認證資訊。

/var/log/btmp:記錄linux登入失敗的使用者,時間以及遠端ip位址。

/var/log/cron:記錄crond計劃任務服務的執行情況。

上面的日志都可以用linux系統的vi和cat指令檢視。

$vi 日志名

$cat 日志名

oracle資料庫中最重要的日志是警告日志,警告日志alert_sid.log一般位于$ORACLE_HOME/admin/ORACLE_SID/bdump目錄下面。如果不知道oracle11g資料庫警告日志的具體位置,可以通過以下代碼查找:

SQL>show parameter background_dump_dest

打開alert_sid.log日志,主要産看ora-或者是errers關鍵詞的,這一般是資料庫發生錯誤的資訊。

檢查linux磁盤空間情況:$df -lh

檢查資料庫表空間使用率:

oracle的dba權限登入pl/sql development,在sql視窗輸入如下内容:

SQL> select a.tablespace_name,

round((a.maxbytes / 1024 / 1024), 2) "sum MB",

round((a.bytes / 1024 / 1024), 2) "datafile MB",

round(((a.bytes - b.bytes) / 1024 / 1024), 2) "used MB",

round(((a.maxbytes - a.bytes + b.bytes) / 1024 / 1024), 2) "free MB",

round(((a.bytes - b.bytes) / a.maxbytes) * 100, 2) "percent_used"

from (select tablespace_name, sum(bytes) bytes, sum(maxbytes) maxbytes

from dba_data_files

where maxbytes != 0

group by tablespace_name) a,

(select tablespace_name, sum(bytes) bytes, max(bytes) largest

from dba_free_space

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name

order by ((a.bytes - b.bytes) / a.maxbytes) desc

執行即可産看結果.

檢查資料庫檔案是否為自動擴充:

在pl/sql developer的sql視窗輸入下面語句:

SQL>select file_id,file_name,tablespace_name,autoextensible from dba_data_files;

執行。

檢查RMAN備份是否出錯:

$crontab -l

回車可以看到rman備份情況及對應的日志,可以打開日志進行檢視。如果日志中包含RMAN-的則表示可能不成功。

實時監控linux作業系統:

$top

回車即可監控linux系統的cpu,記憶體,交換空間,IO的使用情況。

如果想停止實時監控,可以同時按ctrl+C組合鍵來終止。

檢視oracle資料庫程序:

$ps -ef|grep ora_

回車即可檢視oracle11g所有程序情況。

檢視oracle資料庫的監聽程式:

$lsnrctl status