如何查詢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資料庫中所有表的所有欄位哪個

這個不可能使用簡單一個查詢語句來實現這個功能。因為你的這個需要基本都是比一定邏輯的查詢,實現起來有相當的難度。因為首先要確定有多少張表,每張表中有多少個欄位,然後才能實現某個欄位中的某條記錄包含你所需要的這個特定的值。這僅僅是一個簡單的思路,供參考。 佴寄風 寫一個儲存過程 將show tables...

如何查詢oracle資料庫中已經建立的索引

根據表名,查詢一張表的索引 select from user indexes where table name upper 表名 根據索引號,查詢表索引欄位 select from user ind columns where index name 索引名 根據索引名,查詢建立索引的語句 selec...

Oracle資料庫查詢問題,如何讓列的值分開顯示?

典型的行列轉換問題。select case f tpye when a then f name else end 蘋果,case f tpye when b then f name else end 香蕉,case f tpye when c then f name else end 橘子,f ty...