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

時間 2021-08-14 09:13:55

1樓:彭城程式詩人

用sys使用者以dba身份登入。

然後,檢視檢視:v_$sql,如下參考:

select *

from v_$sql t

where t.service = 'orcl'

and t.parsing_schema_name = 'bhoa'

and t.sql_text like 'update %'

order by t.last_active_time可直接查出當前update的那條sql語句。從語句中可看出對什麼表進行了什麼操作。

2樓:匿名使用者

查詢檢視:v$sqlarea,它是oracle中專門儲存操作的檢視,可以通過它查詢歷史操作。

授權某使用者,檢視動態效能檢視的許可權(如v$latch,v$lock,v$sqlarea,v$sql,v$sysstat)

grant select any dictionary to ***;

如通過以下查詢語句就可以得知那個使用者進行了刪除操作。

select t.sql_text, t.first_load_time

from v$sqlarea t

where t.sql_text like 'delete%' and t.first_load_time like '2013-03-30%'

order by t.first_load_time desc

3樓:折柳成萌

方法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;

4樓:匿名使用者

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

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

select * from v$sql

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

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

還有其它與sql歷史記錄相關的v$檢視,詳情可以參考oracle官方文件《oracle® reference》,直接給你個10.2的文件連結,夠方便了吧:

5樓:眾態生態治理****

select count(stuid) from stuinfo;

count 函式;

一般是主鍵:stuid;學生編號

stuinfo: 學生資訊表

oracle資料庫查詢語句,oracle 資料庫查詢語句

select sum bal cifno from select from a cross join b group by cifno order by 1 如果select from a cross join b不顯示或者顯示錯誤,那麼可以換為select from a union all sel...

oracle資料庫的操作步驟,如何查詢oracle資料庫的操作記錄?

前端報錯 開始 執行 cmd sqlplus sys sys orcl as sysdba然後就可以查詢表了 使用者名稱和密碼添你自己的 e資料庫伺服器就足夠了,這時你已經擁有oracle客戶端的功能。1 你可以通過第三方軟體 如 plsql developer 非常強大的oracle資料庫操作軟體...

請問ORACLE資料庫多個表查詢不同資料怎麼查詢

select a.a2,b.b2,c.c2 from a,b,c where a.a1 b.b1 and b.b1 c.c1 and a.a2 b.b2 or a.a2 c.c2 orb.b2 c.c2 select from a,b,c where a.a1 b.b1 and a.a1 c.c1 ...