在ORACLE中怎麼檢視SQL執行日誌

2022-02-23 19:06:01 字數 5130 閱讀 6691

1樓:小小歐平兒

2、在二級選單中,選擇sql歷史記錄選項,或者按快捷鍵f8開啟視窗。

3、預設開啟是會顯示在最下方的小視窗,在標題欄雙擊滑鼠左鍵,即可最大化視窗,再次雙擊左鍵還原視窗。

4、最大化視窗之後,便於更好的查詢記錄結果,可以看到,以往執行的sql記錄都顯示出來了可以往下翻動,查詢自己需要的日誌。

2樓:折柳成萌

oracle日誌檢視

一.oracle日誌的路徑:

登入:sqlplus "/as sysdba"

檢視路徑:sql> select * from v$logfile;

sql> select * from v$logfile;(#日誌檔案路徑)

二.oracle日誌檔案包含哪些內容:(日誌的數量可能略有不同)

control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf

control02.ctl redo03.log system01.dbf users01.dbf

control03.ctl redo01.log shttest.dbf temp01.dbf

三.oracle日誌的檢視方法:

sql>select * from v$sql (#檢視最近所作的操作)

sql>select * fromv $sqlarea(#檢視最近所作的操作)

oracle 資料庫的所有更改都記錄在日誌中,從目前來看,分析oracle日誌的唯一方法就是使用oracle公司提供的logminer來進行,因為原始的日誌資訊我們根本無法看懂,oracle8i後續版本中自帶了logminer,而logminer就是讓我們看懂日誌資訊的工具,通過這個工具可以:查明資料庫的邏輯更改,偵察並更正使用者的誤操作,執行事後審計,執行變化分析。

四.logminer的使用:

1、建立資料字典檔案(data-dictionary)

1).首先在init.ora初始化引數檔案中,新增一個引數utl_file_dir,該引數值為伺服器中放置資料字典檔案的目錄。

如:utl_file_dir = ($oracle_home\logs) ,重新啟動資料庫,使新加的引數生效:

sql> shutdown;

sql>startup;

2).然後建立資料字典檔案

sql> connect /as sysdba

sql> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => '/data1/oracle/logs');

pl/sql procedure successfully completed

2、建立要分析的日誌檔案列表

1).建立分析列表,即所要分析的日誌

sql>execute dbms logmnr.add logfile(logfilename => '/data1/oracle/oradata/akazamdb/redo01.log',options => dbms_logmnr.

new);

pl/sql procedure successfully completeds

2).新增分析日誌檔案,一次新增1個為宜

sql>execute dbms_ logmnr.add_ logfile(logfilename => '/data1/oracle/oradata/akazamdb/redo01.log',options => dbms_logmnr.

addfile);

pl/sql procedure successfully completed

3、使用logminer進行日誌分析(具體要查詢什麼內容可以自己修改)

(1)無限制條件

sql> execute dbms_logmnr.start_logmnr(

dictfilename=>'/data1/oracle/logs/v816dict.ora ');

oracle裡怎麼對sql查詢的日誌進行檢視

如何查詢oracle操作記錄的sql

3樓:

select * from v$sqlarea t where t.parsing_schema_name in ('使用者名稱') order by t.last_active_time desc

使用者名稱需要大寫

select * from v$sqlarea t order by t.last_active_time desc

注意 :執行此語句等等一些相關的語句 必須具有dba 的許可權 雖然這條語句很普通 但是需要的時候很管用 能夠及時查出一個人執行sql語句情況

-------oracle 檢視已經執行過的sql 這些是存在共享池中的 --------->

select * from v$sqlarea t order by t.last_active_time desc

-----------檢視oracle會話----------------------------》

select * from v$session t order by t.last_active_time desc

-------------檢視oracle的許可權角色------------------------------>

select * from dba_role_privs; 授予使用者和其他角色的角色

select * from dba_sys_privs; 授予使用者和其他角色的系統許可權

select * from dba_tab_privs; 資料庫中物件的所有授權

select * from user_role_privs; 檢視當前使用者的角色

如何查詢oracle表的操作日誌記錄

4樓:我叫王土土豆

2、在二級選單中,選擇sql歷史記錄選項,或者按快捷鍵f8開啟視窗。

3、預設開啟是會顯示在最下方的小視窗,在標題欄雙擊滑鼠左鍵,即可最大化視窗,再次雙擊左鍵還原視窗。

4、最大化視窗之後,便於更好的查詢記錄結果,如圖所示,以往執行的sql記錄都顯示出來了,可以在每個欄目標題上單擊,進行排序操作,一般可以點選時間戳欄位,按時間來排序查詢記錄。第二次點選,可以切換順序和逆序。

5、最後一個欄位是持續時間,點選排序之後可以查詢出哪些sql語句最快,哪些sql語句執行比較慢,需要優先等。

7、在刪除按鈕後面就是一個搜尋輸入框,在此處輸入搜尋關鍵字可以模糊匹配到記錄,對於記不清的記錄,採用模糊搜尋的方式查詢,效率非常高。工具會自動根據我們輸入的關鍵字進行篩選過濾的。

5樓:

select * from v$sqlarea t order by t.first_load_time desc

6樓:李英珏

需要開啟oracle審計功能才能記錄,並且消耗一定效能。

簡單開啟審計如下

1、設定引數

alter system set audit_trail=db scope=spfile;

2、重啟資料庫

3、開啟相應的審計(審計選項很多),如,對使用者test對錶操作的審計audit table by test;

4、以dba檢視審計記錄

select * from dba_audit_trail;

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

7樓:匿名使用者

首先,向你介紹一個動態檢視:v$sql

該檢視展示最近一段時間所有執行過的sql語句:

select * from v$sql

即可。如果報錯找不到v$sql,一般是許可權問題,換sysdba就肯定能查到。

但要注意的是「隱式sql」,很多sql語句是呼叫執行的,(比如,儲存過程中對dbms包的呼叫,再如執行create 語句所觸發的對系統表空間、資料字典的修改等等。),這些語句同樣會展現在v$sql中。

8樓:我叫王土土豆

2、在二級選單中,選擇sql歷史記錄選項,或者按快捷鍵f8開啟視窗。

3、預設開啟是會顯示在最下方的小視窗,在標題欄雙擊滑鼠左鍵,即可最大化視窗,再次雙擊左鍵還原視窗。

4、最大化視窗之後,便於更好的查詢記錄結果,如圖所示,以往執行的sql記錄都顯示出來了,可以在每個欄目標題上單擊,進行排序操作,一般可以點選時間戳欄位,按時間來排序查詢記錄。第二次點選,可以切換順序和逆序。

5、最後一個欄位是持續時間,點選排序之後可以查詢出哪些sql語句最快,哪些sql語句執行比較慢,需要優先等。

7、在刪除按鈕後面就是一個搜尋輸入框,在此處輸入搜尋關鍵字可以模糊匹配到記錄,對於記不清的記錄,採用模糊搜尋的方式查詢,效率非常高。工具會自動根據我們輸入的關鍵字進行篩選過濾的。

如何查詢oracle資料庫操作日誌記錄

9樓:折柳成萌

方法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 bon a.sql_id = b.sql_idjoin dba_users c

on a.user_id = c.user_idwhere a.sample_time between sysdate - 3 and sysdate

and b.command_type in (7, 85)order by a.sample_time desc;

oracle怎麼檢視錶中的約束,oracle 如何檢視一個資料表的 約束,索引?

查詢外來鍵約束的列名 select from user cons columns cl where cl.constraint name 外來鍵名稱 select table name,constraint name,constraint type from user constraints whe...

oracle中sql語句開發語法selectinto含義

和sqlserver的不一樣bai sqlserver或者access中select into 是通過查du 詢資料來建zhi表 oracle中,這個daoselect into不能在語句中執行,必回須要放答到儲存過程,函式等等裡邊執行 譬如select to char sysdate,yyyy m...

在中怎麼檢視字數,在WORD中怎麼檢視字數?

1 如圖所示想統計一下 中的字數。2 首先需要在單元格內輸入公式len 2 在單元格內輸入 len d5 敲擊回車。3 然後下拉單元格,統計出其他單元格的字數。4 然後需要用求和公式計算出總字數。5 敲擊回車後,求和出字數總數。開啟word2007文件頁面,單擊 審閱 選項卡。在 校對 中單擊 字數...