當前位置:首頁 » 操作系統 » oracle資料庫日誌查看

oracle資料庫日誌查看

發布時間: 2023-02-03 06:58:35

Ⅰ oracle imp 如何查看導入日誌

1、打開plsql,輸入用戶名密碼登錄到資料庫

Ⅱ 如何查詢Oracle資料庫的操作日誌

查看歸檔模式
conn /as sysdba
archive log list

如果資料庫為歸檔模式的話,可以通過logmnr來進行挖掘日誌文件查看這些信息的。如果是非歸檔模式。對不起無法查看了

開啟後台進程跟蹤,
設置參數(initsid.ora)
.backgroudn_mp_dest=目錄名 -- 指定根蹤文件存放的路徑
.user_dmup_test=目錄名 --指定用戶信息跟蹤文件的存放路徑
.用戶的跟蹤文件(.trc), 用TKPROF 來格式化用戶跟蹤文件
SQL 語句跟蹤即可。
.imed_statistics=true; --設置啟用 sql_trace =true;
.user_mp_dest=目錄 --指定跟蹤文件的存放路徑
.max_mp_file_size=5M --指定跟蹤文件最大尺寸
.SQL_TRACE=TRUE;
.動態改變 :alter session set sql_trace=true;

或者打開生成的跟蹤文件:
默認在..\oralce\admin\user\ump\*.trc,由於oralce 生成的*.trc 直接打開格式不規格,看得很累,可以用tkprof gk 來格式化 :c:\tkprof ora00001.trc a.txt

Ⅲ 如何查詢Oracle資料庫的操作日誌

方法1:使用LogMiner工具
優點:可以完全挖掘日誌內容,找出所有執行過的SQL語句
缺點:
1.
如果沒有啟用歸檔日誌,則只能對聯機日誌進行挖掘
2.
需要掌握LogMiner的用法
訪法2:查看HIST視圖
優點:簡單,只要使用普通的select語句查詢
缺點:Oracle保留約1周的歷史,所以要查太早的就不可能了
--
找出哪個資料庫用戶用什麼程序在最近三天執行過delete或truncate
table的操作
舉例如下:
SELECT
c.username,
a.program,
b.sql_text,
b.command_type,
a.sample_time
FROM
dba_hist_active_sess_history
a
JOIN
dba_hist_sqltext
b
ON
a.sql_id
=
b.sql_id
JOIN
dba_users
c
ON
a.user_id
=
c.user_id
WHERE
a.sample_time
BETWEEN
SYSDATE
-
3
AND
SYSDATE
AND
b.command_type
IN
(7,
85)
ORDER
BY
a.sample_time
DESC;

Ⅳ oracle資料庫的警告日誌如何查看

‍測試環境中出現了一個異常的告警現象:一條告警通過 Thanos Ruler 的 HTTP 介面觀察到持續處於 active 狀態,但是從 AlertManager 這邊看這條告警為已解決狀態。按照 DMP 平台的設計,告警已解決指的是告警上設置的結束時間已經過了當前時間。一條發送至 AlertManager 的告警為已解決狀態有三種可能:1. 手動解決了告警2. 告警只產生了一次,第二次計算告警規則時會發送一個已解決的告警3. AlertManager 接收到的告警會帶著一個自動解決時間,如果還沒到達自動解決時間,則將該時間重置為 24h 後首先,因為了解到測試環境沒有手動解決過異常告警,排除第一條;其次,由於該告警持續處於 active 狀態,所以不會是因為告警只產生了一次而接收到已解決狀態的告警,排除第二條;最後,告警的告警的產生時間與自動解決時間相差不是 24h,排除第三條。那問題出在什麼地方呢?

分析

下面我們開始分析這個問題。綜合第一節的描述,初步的猜想是告警在到達 AlertManager 前的某些階段的處理過程太長,導致告警到達 AlertManager 後就已經過了自動解決時間。我們從分析平台里一條告警的流轉過程入手,找出告警在哪個處理階段耗時過長。首先,一條告警的產生需要兩方面的配合:

  • metric 數據

  • 告警規則

  • 將 metric 數據輸入到告警規則進行計算,如果符合條件則產生告警。DMP 平台集成了 Thanos 的相關組件,數據的提供和計算則會分開,數據還是由 Prometheus Server 提供,而告警規則的計算則交由 Thanos Rule(下文簡稱 Ruler)處理。下圖是 Ruler 組件在集群中所處的位置:

  • 首先,圖中每個告警規則 Rule 都有一個 active queue(下面簡稱本地隊列),用來保存一個告警規則下的活躍告警。

    其次,從本地隊列中取出告警,發送至 AlertManager 前,會被放入 Thanos Rule Queue(下面簡稱緩沖隊列),該緩沖隊列有兩個屬性:

    capacity(默認值為 10000):控制緩沖隊列的大小,

    maxBatchSize(默認值為 100):控制單次發送到 AlertManager 的最大告警數

    了解了上述過程,再通過翻閱 Ruler 源碼發現,一條告警在放入緩沖隊列前,會為其設置一個默認的自動解決時間(當前時間 + 3m),這里是影響告警自動解決的開始時間,在這以後,有兩個階段可能影響告警的處理:1.緩沖隊列階段2.出緩沖隊列到 AlertManager 階段(網路延遲影響)由於測試環境是區域網環境,並且也沒在環境上發現網路相關的問題,我們初步排除第二個階段的影響,下面我們將注意力放在緩沖隊列上。通過相關源碼發現,告警在緩沖隊列中的處理過程大致如下:如果本地隊列中存在一條告警,其上次發送之間距離現在超過了 1m(默認值,可修改),則將該告警放入緩沖隊列,並從緩沖隊列中推送最多 maxBatchSize 個告警發送至 AlertManager。反之,如果所有本地隊列中的告警,在最近 1m 內都有發送過,那麼就不會推送緩沖隊列中的告警。也就是說,如果在一段時間內,產生了大量重復的告警,緩沖隊列的推送頻率會下降。隊列的生產方太多,消費方太少,該隊列中的告警就會產生堆積的現象。因此我們不難猜測,問題原因很可能是是緩沖隊列推送頻率變低的情況下,單次推送的告警數量太少,導致緩沖隊列堆積。下面我們通過兩個方面驗證上述猜想:首先通過日誌可以得到隊列在大約 20000s 內推送了大約 2000 次,即平均 10s 推送一次。結合緩沖隊列的具體屬性,一條存在於隊列中的告警大約需要 (capacity/maxBatchSize)*10s = 16m,AlertManager 在接收到告警後早已超過了默認的自動解決時間(3m)。其次,Ruler 提供了 3 個 metric 的值來監控緩沖隊列的運行情況:

    thanos_alert_queue_alerts_dropped_total

    thanos_alert_queue_alerts_pushed_total

    thanos_alert_queue_alerts_popped_total

    通過觀察 thanos_alert_queue_alerts_dropped_total 的值,看到存在告警丟失的總數,也能佐證了緩沖隊列在某些時刻存在已滿的情況。

    解決通過以上的分析,我們基本確定了問題的根源:Ruler 組件內置的緩沖隊列堆積造成了告警發送的延遲。針對這個問題,我們選擇調整隊列的 maxBatchSize 值。下面介紹一下這個值如何設置的思路。由於每計算一次告警規則就會嘗試推送一次緩沖隊列,我們通過估計一個告警數量的最大值,得到 maxBatchSize 可以設置的最小值。假設你的業務系統需要監控的實體數量分別為 x1、x2、x3、...、xn,實體上的告警規則數量分別有 y1、y2、y3、...、yn,那麼一次能產生的告警數量最多是(x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn),最多推送(y1 + y2 + y3 + ... + yn)次,所以要使緩沖隊列不堆積,maxBatchSize 應該滿足:maxBatchSize >= (x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn) / (y1 + y2 + y3 + ... + yn),假設 x = max(x1,x2, ...,xn), 將不等式右邊適當放大後為 x,即 maxBatchSize 的最小值為 x。也就是說,可以將 maxBatchSize 設置為系統中數量最大的那一類監控實體,對於 DMP 平台,一般來說是 MySQL 實例。

    注意事項

    上面的計算過程只是提供一個參考思路,如果最終計算出該值過大,很有可能對 AlertManager 造成壓力,因而失去緩沖隊列的作用,所以還是需要結合實際情況,具體分析。因為 DMP 將 Ruler 集成到了自己的組件中,所以可以比較方便地對這個值進行修改。如果是依照官方文檔的介紹使用的 Ruler 組件,那麼需要對源碼文件進行定製化修改。


    ‍‍

Ⅳ 如何查看oracle的日誌文件

1、因為oracle運行在Linux系統下,首先,要連接Linux系統。

Ⅵ oracle被刪除dbs如何查看操作日誌

Oracle日誌文件查看方法:
1、以sysdba許可權用戶登錄資料庫。
2、執行sql語句:select*fromv$logfile;
3、結果顯示即為日誌路徑:
4、另外還有其他的操作日誌可用以下兩個sql語句查詢:
select*fromv$sql;--(#查看最近所作的操作)select*fromv$sqlarea;--(#查看最近所作的操作)
Oracle日誌的查看方法:
SQL>select*fromv$sql(#查看最近所作的操作)
SQL>select*fromv$sqlarea(#查看最近所作的操作)
Oracle資料庫的所有更改都記錄在日誌中,從目前來看,分析Oracle日誌的唯一方法就是使用Oracle公司提供的LogMiner來進行,因為原始的日誌信息我們根本無法看懂,Oracle8i後續版本中自帶了LogMiner,而LogMiner就是讓我們看懂日誌信息的工具,通過這個工具可以:查明資料庫的邏輯更改,偵察並更正用戶的誤操作,執行事後審計,執行變化分析。

Ⅶ 如何查看oracle資料庫監聽日誌文件目錄及大小

監聽日誌在$ORACLE_BASE/diag/tnslsnr/hostname/listener/trace目錄下,文件名為listener.log
上面的hostname根據你的實際主機名而定

熱點內容
光介質存儲 發布:2024-05-07 01:32:25 瀏覽:350
蘋果平板ipad密碼忘了怎麼辦 發布:2024-05-07 01:17:16 瀏覽:704
伏吟的演算法 發布:2024-05-07 00:51:48 瀏覽:830
安卓手機上的照相鍵在哪裡 發布:2024-05-07 00:51:45 瀏覽:606
ftp如何刪除頑固文件 發布:2024-05-07 00:50:57 瀏覽:251
idea文件夾顯示 發布:2024-05-07 00:30:04 瀏覽:250
怎麼把ps存儲為ai 發布:2024-05-07 00:30:03 瀏覽:274
參數內存緩存 發布:2024-05-07 00:28:54 瀏覽:747
android狀態欄高度 發布:2024-05-07 00:24:42 瀏覽:242
資料庫主文件 發布:2024-05-07 00:14:41 瀏覽:609