oracle外部表記錄alert日誌&&資料庫執行報告
1、建立目錄【注意目錄是alert_sid.log所在的目錄,使用show parameter background_dump_dest檢視】
> show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string D:\oracle\ora11g\diag\rdbms\ora11g\ora11g\trace
------------------------------------ ----------- ------------------------------
background_dump_dest string D:\oracle\ora11g\diag\rdbms\ora11g\ora11g\trace
> create or replace directory log_dir as 'D:\oracle\ora11g\diag\rdbms\ora11g\\ora11g\trace
';
';
Directory created. --建立目錄
2、建立外部表
CREATE TABLE alert_log
(text_line varchar2(255)) ----內部表的結構定義
ORGANIZATION EXTERNAL -- 內部表結構和OS檔案的關聯載入引數定義
(TYPE ORACLE_LOADER -- 使用oracle載入器
DEFAULT DIRECTORY log_dir -- 預設的資料庫目錄
ACCESS PARAMETERS --訪問引數
(records delimited by newline fields -- 以換行符為單位定位載入行的範圍
REJECT ROWS WITH ALL NULL FIELDS ) -- 不載入整行都是null的記錄
LOCATION
('alert_ora11g.log')) -- 載入的目錄下檔名
REJECT LIMIT unlimited -- 限制長度
(text_line varchar2(255)) ----內部表的結構定義
ORGANIZATION EXTERNAL -- 內部表結構和OS檔案的關聯載入引數定義
(TYPE ORACLE_LOADER -- 使用oracle載入器
DEFAULT DIRECTORY log_dir -- 預設的資料庫目錄
ACCESS PARAMETERS --訪問引數
(records delimited by newline fields -- 以換行符為單位定位載入行的範圍
REJECT ROWS WITH ALL NULL FIELDS ) -- 不載入整行都是null的記錄
LOCATION
('alert_ora11g.log')) -- 載入的目錄下檔名
REJECT LIMIT unlimited -- 限制長度
3、此時可以透過表alter_log來檢視alert告警相關資訊了
如:
> select * from alert_log where rownum<=10;
TEXT_LINE
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
Wed Feb 08 10:20:47 2012
Adjusting the default value of parameter parallel_max_servers
from 160 to 135 due to the value of parameter processes (150)
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Shared memory segment for instance monitoring created
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_1 parameter default value as D:\oracle\ora11g\product\RDBMS
Autotune of undo retention is turned on.
Adjusting the default value of parameter parallel_max_servers
from 160 to 135 due to the value of parameter processes (150)
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Shared memory segment for instance monitoring created
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_1 parameter default value as D:\oracle\ora11g\product\RDBMS
Autotune of undo retention is turned on.
10 rows selected.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
利用上面的外部表來生成一個oracle的啟動、關閉相關的報告,使用下面的sql:
SELECT TO_CHAR(LAST_TIME, 'dd-mon-yyyy hh24:mi') SHUTDOWN,
TO_CHAR(START_TIME, 'dd-mon-yyyy hh24:mi') STARTUP,
ROUND((START_TIME - LAST_TIME) * 24 * 60, 2) MINS_DOWN,
ROUND((LAST_TIME - LAG(START_TIME) OVER(ORDER BY R)), 2) DAYS_UP,
CASE
WHEN (LEAD(R) OVER(ORDER BY R) IS NULL) THEN
ROUND((SYSDATE - START_TIME), 2)
END DAYS_STILL_UP
FROM (SELECT R,
TO_DATE(LAST_TIME, 'Dy-Mon-DD HH24:MI:SS YYYY') LAST_TIME,
TO_DATE(START_TIME, 'Dy-Mon-DD HH24:MI:SS YYYY') START_TIME
FROM (SELECT R,
TEXT_LINE,
LAG(TEXT_LINE, 1) OVER(ORDER BY R) START_TIME,
LAG(TEXT_LINE, 2) OVER(ORDER BY R) LAST_TIME
FROM (SELECT ROWNUM R, TEXT_LINE
FROM ALERT_LOG
WHERE TEXT_LINE LIKE '___ ___ __ __:__:__ 20__'
OR TEXT_LINE LIKE 'Starting ORACLE instance %'))
WHERE TEXT_LINE LIKE 'Starting ORACLE instance %')
/
SHUTDOWN STARTUP MINS_DOWN DAYS_UP DAYS_STILL_UP
-------------------- -------------------- ---------- ---------- -------------
26-jul-2012 17:34 27-jul-2012 08:41 907.23 .37
27-jul-2012 17:34 30-jul-2012 08:59 3804.52 .37
30-jul-2012 17:33 31-jul-2012 08:56 922.9 .36
31-jul-2012 17:33 01-aug-2012 08:59 926.07 .36
01-aug-2012 17:34 02-aug-2012 08:48 913.87 .36 .11
TO_CHAR(START_TIME, 'dd-mon-yyyy hh24:mi') STARTUP,
ROUND((START_TIME - LAST_TIME) * 24 * 60, 2) MINS_DOWN,
ROUND((LAST_TIME - LAG(START_TIME) OVER(ORDER BY R)), 2) DAYS_UP,
CASE
WHEN (LEAD(R) OVER(ORDER BY R) IS NULL) THEN
ROUND((SYSDATE - START_TIME), 2)
END DAYS_STILL_UP
FROM (SELECT R,
TO_DATE(LAST_TIME, 'Dy-Mon-DD HH24:MI:SS YYYY') LAST_TIME,
TO_DATE(START_TIME, 'Dy-Mon-DD HH24:MI:SS YYYY') START_TIME
FROM (SELECT R,
TEXT_LINE,
LAG(TEXT_LINE, 1) OVER(ORDER BY R) START_TIME,
LAG(TEXT_LINE, 2) OVER(ORDER BY R) LAST_TIME
FROM (SELECT ROWNUM R, TEXT_LINE
FROM ALERT_LOG
WHERE TEXT_LINE LIKE '___ ___ __ __:__:__ 20__'
OR TEXT_LINE LIKE 'Starting ORACLE instance %'))
WHERE TEXT_LINE LIKE 'Starting ORACLE instance %')
/
SHUTDOWN STARTUP MINS_DOWN DAYS_UP DAYS_STILL_UP
-------------------- -------------------- ---------- ---------- -------------
26-jul-2012 17:34 27-jul-2012 08:41 907.23 .37
27-jul-2012 17:34 30-jul-2012 08:59 3804.52 .37
30-jul-2012 17:33 31-jul-2012 08:56 922.9 .36
31-jul-2012 17:33 01-aug-2012 08:59 926.07 .36
01-aug-2012 17:34 02-aug-2012 08:48 913.87 .36 .11
其中:SHUTDOWN 關閉資料庫的時間
STARTUP 啟動資料庫的時間
MINS_DOWN 資料庫關閉了多少分鐘
DAYS_UP 資料庫一直執行了多少天
DAYS_STILL_UP 資料庫最後一次執行到當前有多少天
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-739615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用外部表實現Alert日誌的檢視
- 使用外部表檢視ORACLE報警日誌薦Oracle
- Oracle之外部表警告日誌Oracle
- oracle alert日誌Oracle
- Oracle之外部表監聽日誌Oracle
- 使用外部表管理Oracle 告警日誌Oracle
- oracle 外部表alert_orcl.oraOracle
- 歸檔oracle alert日誌Oracle
- 第12章 管理資料庫日誌記錄方式資料庫
- 使用Oracle的外部表查詢警告日誌Oracle
- oracle日誌操作記錄Oracle
- 手工建立資料庫及刪除資料庫示例--附建庫時alert日誌資料庫
- ORACLE資料庫刪除表中記錄報record is locked by another userOracle資料庫
- oracle alert日誌每天截斷truncate_alert.shOracle
- oracle資料庫mmnl日誌很大Oracle資料庫
- oracle alert日誌亂碼處理Oracle
- oracle 中 alert 報警日誌過大的處理方法Oracle
- 【原創】用外部表的方式查詢當天資料庫alert日誌檔案中當天所有的ora-錯誤資訊資料庫
- 用外部表的方式查詢alert日誌檔案中ora-錯誤資訊
- 使用Oracle的外部表查詢警告日誌檔案Oracle
- Oracle補充日誌及日誌記錄規則Oracle
- controlfile的extend也會記錄在alert日誌中
- mysql誤修改全表記錄,使用binlog日誌找回資料MySql
- 外部表在Oracle資料庫中使用心得Oracle資料庫
- 使用外部表讀日誌檔案
- php日誌,記錄日誌PHP
- Oracle 巧用外部表將大量excel資料匯入資料庫OracleExcel資料庫
- 最佳實踐(保持、清理ORACLE alert日誌)Oracle
- 資料庫使用者不能登入 alert日誌報ORA-04031故障分析處理資料庫
- 根據Alert日誌查詢資料庫啟動、關閉時間資料庫
- 使用oracle外部表進行資料泵解除安裝資料Oracle
- alert日誌報checkpoint not complete解決思路
- 日誌資訊記錄表|全方位認識 mysql 系統庫MySql
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 分析Oracle資料庫日誌檔案(2)Oracle資料庫
- 分析Oracle資料庫日誌檔案(3)Oracle資料庫
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- 如何將 winston log 庫記錄的日誌寫入 mongo DB 資料庫Go資料庫