當前位置:首頁 » 編程語言 » sql查詢歷史

sql查詢歷史

發布時間: 2022-08-17 20:19:09

『壹』 sql如何查詢歷史同期記錄

歷年來所有日期相同的記錄...
就是說每年的同一個月同一天就是相同的記錄吧?
思路是在日期中截取月份,天數。對這兩項進行比較。
1 怎樣截取:DATE類型或VARCHAR類型的截取方式不同,具體你可以查;
2 查詢天數和月份都相同的ID,再根據ID查詢完整的記錄

以上只是思路.....

『貳』 怎麼查詢SQL資料庫的歷史數據,並調用出來做報表

  1. SQL關鍵字 where,類型轉換Convert

  2. 歷史數據,多久後的數據,假如有表A,有2個欄位a,b

  3. a 為int 類型,b 為日期類型

  4. 轉換日期以及日期范圍SQL 如下:

  5. select * from A where b between convert(datetime,'2015-08-01 08:08:08' ) and convert(datetime,'2015-08-01 08:12:08')

  6. 以上SQL 就是查詢歷史記錄,日期為'2015-08-01 08:08:08'與 '2015-08-01 08:12:08'

    之間的數據

  7. 創建報表可以通過MicrosoftSQLServer2008R2中的創建,也可以在Microsoftvisualstudio中通過使用ReportView控制項來創建報表。本實例採用MicrosoftSQLServer2008R2中的創建報表。

  8. 創建報表伺服器項目

  9. 在製作報表之前,要先創建一個報表伺服器項目,在其中可以存放若干報表供用戶調用。在中創建報表伺服器項目的操作步驟如下。

  10. 選擇【開始】|【所有程序】|【MicrosoftSQLServer2008R2】|【】,啟動商業智能開發環境。在菜單欄中選擇【文件】|【新建】|【項目】命令,彈出【新建項目】對話框。在【項目類型】列表中選擇【商業智能項目】選項,在【模板】列表中選擇【報表伺服器項目向導】選項,在【名稱】文本框中輸入【報表項目4】,單擊【確定】按鈕以創建項目。

『叄』 sql如何查詢第三列歷史數量 前兩列也是動態獲得的數據

SQL如何查詢第三列歷史數據前兩列也是動態獲得的數據某人簡寫框架前兩列當然也是動態獲得的數據

『肆』 sql 查詢歷史數據

java">selectcode,min(data_data)fromtablegroupbycode

『伍』 如何查看PL/SQL執行的歷史

除了PL/SQL的ctrl+e的查看方法外還有如下方法:

【方法一】查詢v$sql、v$sqltext、v$sqlarea、v$sqlstats視圖
select * from v$sqlarea t where t.PARSING_SCHEMA_NAME in ('schema') order by t.LAST_ACTIVE_TIME desc;
#對v$sqltext、v$sqlarea查看的是shared pool中的SQL,其時間索引是其解析歷史,因為共享的問題這個查詢可能並不能完整地反映出執行的歷史。
#v$sqlstats反應的是實例啟動起來的sql執行統計,sql語句本身比v$sqltext/area完整,因為後者有可能失效換出緩存

【方法二】
聯合v$active_session_history和v$sqlarea
#v$active_session_history 這個表只是個取樣數據,按秒進行,只有在那一秒采樣點處於on cpu或非idle等待的session統計在內。所以可能會不全,有些執行很短的SQL會忽略。這個視圖無法還原完整的session歷史。
#v$sqlarea中有執行過的SQL語句,但並無到session的關聯信息,v$session中只關聯了當前的sql,所以也不行。

從v$sqlstat可以查看到資料庫啟動起來的所有SQL信息,但是沒有時間順序關系、沒有執行用戶信息,只有執行次數與資源統計。
從dba_hist_sqlstat可以看到AWR snapshot之間的SQL統計信息,與v$sqlstats比不受實例重啟的影響,因為實例重啟之後v$sqlstats中的信息就清除了。

【方法三:session trace】
SQL> execute dbms_session.session_trace_enable(true,true);
PL/SQL procere successfully completed.

SQL> select count(*) from dba_hist_sqltext;

COUNT(*)
----------
478

SQL> select * from V$sesstat where rownum=1;

SID STATISTIC# VALUE
---------- ---------- ----------
134 0 1

SQL> execute dbms_session.session_trace_disable();
PL/SQL procere successfully completed.

$ cd $ORACLE_HOME/admin/test/ump
$ ls -lrt
$ tkprof test_ora_2195620.trc report.txt sys=no explain=no aggregate=yes
$ more report.txt --這個文件包括了啟停trace之間所有SQL語句的執行信息,執行計劃、統計

【方法四:logminer】
只包含DML與DDL語句,不能查詢select語句。另外需要開啟supplemental logging,默認是沒有開啟的。
conn / as sysdba
--安裝LOGMINER
SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
SQL> @$ORACLE_HOME/rdbms/admin/dbmslm.sql;
SQL> @$ORACLE_HOME/rdbms/admin/dbmslms.sql;
SQL> @$ORACLE_HOME/rdbms/admin/prvtlm.plb;

--開啟附加日誌
alter database add supplemental log data;

--模擬DML操作
conn p_chenming/...
SQL> select * from test2;
SQL> insert into test2 values(7,77);
SQL> commit;

conn / as sysdba
--切歸檔
SQL> alter system switch logfile;
SQL> select name,dest_id,thread#,sequence# from v$archived_log; --最後一個即為新的歸檔

--新建LOG MINER
SQL> execute dbms_logmnr.add_logfile(logfilename=>'/oracle/archive_10g/test/test_1_138_786808434.arc',options=>dbms_logmnr.new);
--開始miner
SQL> execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
--查看結果
SQL> col username format a8;
SQL> col sql_redo format a50
SQL> select username,scn,timestamp,sql_redo from v$logmnr_contents where table_name='TEST2';
SQL> select username,scn,timestamp,sql_redo from v$logmnr_contents where username='P_CHENMING';
--關閉MINER
SQL> execute dbms_logmnr.end_logmnr;
--關閉輔助日誌
SQL> alter database drop supplemental log data;

【總結】
查看v$sqlarea只能查看粗略的歷史,因為很多SQL是共享的。
查看ASH也不全,因為這是采樣數據,測試的時候基本沒有把SQL查詢出來。
查看V$SQLSTATS能看到所有執行過的sql,以及其執行統計,但是沒有時序、沒有用戶信息。
查看TRACE應該是最完整的,但需要在執行SQL前開啟。
查看logminer不能查看select語句,而且默認的系統沒有開啟supplementing log,所以能查看的內容有限。
或許還有審計的方法可用,我沒測試。每種方法都有各自的缺陷,看來很難有一種完備的查看SQL執行歷史的方法

『陸』 怎麼SQL執行歷史記錄

查看用戶的SQL執行歷史的語句如下:
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; 查看當前用戶的角色

『柒』 如何查看mysql執行的所有以往 sql 語句歷史命令

如果你想知道mysql執行的所有以往 sql 語句歷史命令,需要配置log
my.ini文件中
log=log路徑 比如D:/MySQL/datalog.log
配置後重啟mysql服務,然後就可以查看mysql執行的sql語句了,
如果你沒開啟日誌的話,那就沒辦法

『捌』 如何查看SQL SERVER的操作歷史記錄

打開log explorer file=>attach log file->選擇伺服器和登陸方式->connect-> 選擇資料庫->attach->左面對話框中browse->view log->就可以看到log記錄了 想恢復的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然後打開該文件到查詢分.

『玖』 如何查看PL/SQL 執行過的歷史語句

SQL Server有Default Trace默認跟蹤,資料庫記錄信息到log.trc文件,可以查看trace_event_id,46表示Create對象(Object:Created),47表示Drop對象(Object:Deleted),93表示日誌文件自動增長(Log File Auto Grow),164表示Alter對象(Object:Altered),20表示錯誤日誌(Audit Login Failed)。
雖然可以通過上面的方式找到相關的操作,但是它有兩個缺點:
1) log.trc文件是滾動更新文件,所有有可能會被系統刪除,找不了太久的數據;
2) 有些操作可能是後知後覺,出了問題才會去找問題,應該主動去監控這些DDL;
可以使用DDL觸發器主動監控DDL語句的執行,當有對資料庫執行DDL就會觸發,把這些信息保存到表中,並且把操作用戶的HostName和修改的T-SQL以郵件的形式發送到指定的郵件。

『拾』 sql 如何查詢歷史操作語句

打開Log Explorer -> Attach Log File -> 選擇SQL Server伺服器和登陸方式 -> Connect -> 在Database Name中選擇資料庫 -> Attach-> 左面對話框中Browse-> View Log-> 就可以看到log記錄了
想恢復的話: 右鍵Log記錄 Undo Transation-> 選擇保存文件名和路徑-> 然後打開該文件到查詢分析器里執行 T-sql代碼就可以了
例如 如果Log是delete table where ...的話,生成的文件代碼就是insert table .... 然後將此insert table的代碼放到查詢分析器里執行.就可以恢復數據.
Log Explorer使用的一個問題
1)對資料庫做了完全 差異 和日誌備份 備份時選用了刪除事務日誌中不活動的條目 再用Log Explorer打試圖看日誌時 提示No log recorders found that match the filter,would you like to view unfiltered data 選擇yes 就看不到剛才的記錄了
如果不選用了刪除事務日誌中不活動的條目 再用Log Explorer打試圖看日誌時,就能看到原來的日誌
2)修改了其中一個表中的部分數據,此時用Log Explorer看日誌,可以作日誌恢復
3)然後恢復備份,(注意:恢復是斷開Log Explorer與資料庫的連接,或連接到其他數據上, 否則會出現資料庫正在使用無法恢復) 恢復完後,再打開Log Explorer 提示No log recorders found that match the filter,would you like to view unfiltered data 選擇yes 就看不到剛才在2中修改的日誌記錄,所以無法做恢復.

熱點內容
嫁個編程男 發布:2025-01-20 02:51:39 瀏覽:932
掛勞文件夾 發布:2025-01-20 02:44:22 瀏覽:520
寫編程英文 發布:2025-01-20 02:37:50 瀏覽:15
安卓怎麼修改飢荒 發布:2025-01-20 02:20:54 瀏覽:618
android64位開發環境 發布:2025-01-20 01:58:01 瀏覽:261
阿里雲伺服器能搭美國站點 發布:2025-01-20 01:49:34 瀏覽:276
安卓手機壁紙如何更換成動態壁紙 發布:2025-01-20 01:40:27 瀏覽:705
安卓微信簽名在哪裡修改 發布:2025-01-20 01:25:31 瀏覽:109
安卓電腦管家怎麼恢復出廠設置 發布:2025-01-20 01:24:06 瀏覽:313
qt編譯sqlite庫 發布:2025-01-20 01:22:30 瀏覽:525