根據Alert日誌查詢資料庫啟動、關閉時間
alert日誌記錄oracle例項生命週期中發生的重要事件,例如資料庫啟動、關閉、日誌切換等,方便程式設計師和管理員發現問題。有時alert日誌內容較多,我們很難快速定位我們感興趣的資訊,例如資料庫啟動時間。今天和大家分享一個利用外部表,根據alert日誌查詢資料庫啟動、關閉資料庫時間的方法,個人認為非常好用。
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/hoegh/HOEGH/trace
SQL>
SQL> create or replace directory data_dir as '/u01/app/oracle/diag/rdbms/hoegh/HOEGH/trace';
Directory created.
SQL>
建立轉儲目錄
首先我們建立一個目錄,用來指定alert日誌的路徑。
SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/hoegh/HOEGH/trace
SQL>
SQL> create or replace directory data_dir as '/u01/app/oracle/diag/rdbms/hoegh/HOEGH/trace';
Directory created.
SQL>
建立外部表
SQL>
SQL> CREATE TABLE alert_log
(
text_line varchar2(255)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_dir
ACCESS PARAMETERS
(
records delimited by newline
fields
)
LOCATION
(
'alert_HOEGH.log'
)
)
reject limit unlimited
/ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Table created.
SQL>
SQL> CREATE TABLE alert_log
(
text_line varchar2(255)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_dir
ACCESS PARAMETERS
(
records delimited by newline
fields
)
LOCATION
(
'alert_HOEGH.log'
)
)
reject limit unlimited
/ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Table created.
SQL>
執行查詢
SQL> set linesize 300
set pagesize 100
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 'ALTER DATABASE OPEN'
)
)
where text_line like 'ALTER DATABASE OPEN'
)
/SQL> SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
SHUTDOWN STARTUP MINS_DOWN DAYS_UP DAYS_STILL_UP
-------------------------- -------------------------- ---------- ---------- -------------
13-oct-2014 23:36 13-oct-2014 23:36 .08
13-oct-2014 23:37 13-oct-2014 23:37 .07 0
14-oct-2014 00:13 14-oct-2014 00:13 .07 .03
14-oct-2014 00:16 14-oct-2014 00:16 .07 0
14-oct-2014 00:18 14-oct-2014 00:18 .07 0
14-oct-2014 00:21 14-oct-2014 00:22 .07 0
07-jan-2016 23:00 07-jan-2016 23:00 .07 450.94
08-jan-2016 20:02 08-jan-2016 20:02 .08 .88
08-jan-2016 20:15 08-jan-2016 20:15 .07 .01 26.04
9 rows selected.
SQL>
set pagesize 100
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 'ALTER DATABASE OPEN'
)
)
where text_line like 'ALTER DATABASE OPEN'
)
/SQL> SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
SHUTDOWN STARTUP MINS_DOWN DAYS_UP DAYS_STILL_UP
-------------------------- -------------------------- ---------- ---------- -------------
13-oct-2014 23:36 13-oct-2014 23:36 .08
13-oct-2014 23:37 13-oct-2014 23:37 .07 0
14-oct-2014 00:13 14-oct-2014 00:13 .07 .03
14-oct-2014 00:16 14-oct-2014 00:16 .07 0
14-oct-2014 00:18 14-oct-2014 00:18 .07 0
14-oct-2014 00:21 14-oct-2014 00:22 .07 0
07-jan-2016 23:00 07-jan-2016 23:00 .07 450.94
08-jan-2016 20:02 08-jan-2016 20:02 .08 .88
08-jan-2016 20:15 08-jan-2016 20:15 .07 .01 26.04
9 rows selected.
SQL>
~~~~~~~ the end~~~~~~~~~
hoegh2016.02.03
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-1986182/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Centos系統關閉Mysql資料庫查詢操作日誌的方法CentOSMySql資料庫
- vue+element-ui根據時間查詢VueUI
- MSSQL遍歷資料庫根據列值查詢資料SQL資料庫
- 根據時間範圍呼叫gitLab介面查詢Gitlab
- 關於Oracle資料庫的時間查詢Oracle資料庫
- Logtail:像查詢資料庫一樣查詢日誌AI資料庫
- 資料庫MySQL一般查詢日誌或者慢查詢日誌歷史資料的清理資料庫MySql
- MySQL關於根據日期查詢資料的sql語句MySql
- openguass 3.1.0 資料庫啟動,關閉,狀態檢查資料庫
- 根據查詢條件批量修改表資料
- 【ElasticSearch】給ElasticSearch資料庫配置慢查詢日誌Elasticsearch資料庫
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- mybatis 根據多個id查詢資料 foreach標籤MyBatis
- 慢查詢日誌開啟分析
- pid,sid相互查詢,根據PID查詢sqlSQL
- Linux 查詢 日誌 相關命令Linux
- 總結Oracle根據時間查詢的一些常見情況Oracle
- 基於Geomesa服務查詢軌跡資料無法根據空間和時間範圍進行查詢的問題解決辦法
- List根據時間排序排序
- js根據時間排序JS排序
- oracle alert日誌Oracle
- C# 根據前臺傳入實體名稱,動態查詢資料C#
- linux根據字尾查詢文字Linux
- db2資料庫的啟動和關閉DB2資料庫
- day14--【Mybatis】動態代理--根據id查詢MyBatis
- 20240719資料庫關聯查詢、條件查詢資料庫
- Laravel ORM 中,根據關聯查詢的欄位值,對主查詢排名LaravelORM
- Java根據前端返回的欄位名進行查詢資料Java前端
- mysql 開啟和關閉日誌記錄MySql
- 微博根據手機號查詢
- 啟動tomcat時,日誌裡大量輸出建立資料來源dataSource的日誌Tomcat
- MySQL慢查詢日誌相關設定MySql
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- Classy:根據資料庫表在執行時建立類/模型資料庫模型
- mysql千萬級資料量根據索引優化查詢速度MySql索引優化
- [20201106]瞭解oracle資料庫啟動時間.txtOracle資料庫
- 如何啟用Hibernate慢查詢日誌? -Vlad Mihalcea