① db2 如何還原執行過的sql
建議讓應用程序去做這件事情,交給DB的話 會給 DB 帶來負擔,
方法一: 執行A的SQL的時候,另起線程去給B 執行同樣身為SQL(實時性要求搞的)
方法二:記錄在A 表中執行過的SQL,然後定時取出這些sql在B中執行一次
② 如何查看db2的資料庫的日誌文件
查看db2的資料庫的日誌文件:
實例日誌在sqllib/db2mp/db2diag.log,記錄起停、出錯警告信息。
資料庫的事務日誌通過db2 get db cfg for <dbname>,看NEWLOGPATH下面一行。
(2)db2sql執行日誌擴展閱讀:
在日常DB2的維護中,transaction log full是比較常見的問題,日誌空間使用情況也是我們比較重視的問題,如果日誌是單獨的文件系統分區,在操作系統上即可看到日誌空間使用情況,對日誌使用情況進行監控,可以看到如下信息:
$ df -g
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/db2inst1_log01 60.00 54.50 10% 1458 1% /db2inst1_log01
③ db2查詢執行的sql語句
select tabname from syscat.tables where tabschema = current schema ;// 獲取當前模式下面的所有用戶表
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
④ 如何查看一個條sql語句在DB2中的執行時間
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Cannot create command without commandClass being set - either set commandClass or (in a form controller) override formBackingObject
⑤ db2 怎樣查一個sql連接執行過的所有語句
我使用mysql的時候
修改my.cnf 記錄所有信息
開啟 error = /var/log/mysql/mysql.log linux是在這個文件
然後查看所有信息 這個裡面記錄了mysql的所有記錄
sqlserver 是要開啟那個追蹤程序才能看
一般有這個需要的時候 在程序的配置文件中配置一個連接資料庫的類
然後在這個類中 加上一段小代碼 把針對這個程序中所有的連接語句 寫入txt文件中
日後作為日誌查詢
⑥ DB2 資料庫的操作日誌,如何查看
將原db2diag.log文件備份到其它文件系統下。
刪除db2diag.log文件。刪除後,DB2會自動創建一個新的文件。
注意:如果你覺得以上操作不保險的話,Db2提供了自動歸檔db2diag.log的命令
db2diag -a 自動將該文件以日期時間命名
⑦ db2如何關閉日誌,db2資料庫日誌滿了,如何是哪個資料庫進程
在db2diag.log裡面有進程號,然後get snapshot~
希望我的回答對你有幫助,如果有疑問,請繼續「追問」
答題不易,互相理解,您的採納是我前進的動力。
⑧ 請教高手:DB2 SQL腳本批量執行如何保存日誌問題
可以在命令編輯器或者Windows 的DB2 命令窗口或者 Linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但我們建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。
⑨ 如何通過sql日誌,查看以前執行過的sql語句
如果你的資料庫是完全恢復模式的話,可以通過log Explorer,查看。
具體使用搜索一下就成。
使用Log Explorer查看和恢復數據
Log Explorer 4.1.可用於SQL Server2005的日誌查看工具
使用方法:
打開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的代碼放到查詢分析器里執行.就可以恢復數據.
----------------------------------------------------------------------
--如何恢復被delete/update的數據
----------------------------------------------------------------------
1連接到被刪除資料庫的Db
打開log explorer 選擇 "file"->"attach log file"->選擇伺服器和登陸方式->"connect"->選擇"資料庫"->"attach"
2 查看日誌
在左面操作項目的對話框中選擇"browse"項目->"view log"->就可以看到當前的Log記錄了
3 恢復數據
右鍵某一條log記錄,選擇"undo transation"->"選擇保存文件名和路徑"->然後打開該文件到查詢分析器里執行
T-sql代碼就可以了
例如: 如果log是delete table where ...的話,生成的文件代碼就是insert table ....
----------------------------------------------------------------------
--Log Explorer恢復被drop table和truncate table後的數據
----------------------------------------------------------------------
1 連接到被刪除資料庫的Db
操作同上
2 恢復方法
1) 選擇"salvaage dropped/truncate"菜單,在右邊的對話框中選擇表名,和droped/trucated的日期,
File Name中選擇生成insert語句腳步的存放位置,condition選擇是droped還是truncated,
最後點擊"create" 就會生成insert語句,把生成的語句到查詢分析器裡面執行一下就可以了
2) 選擇"ViewDDL Commands"菜單->選"truncate table" 操作項->點擊"Salvage"->生成語句->查詢分析器里執行
----------------------------------------------------------------------
--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中修改的日誌記錄,所以無法做恢復.
4) 不要用SQL的備份功能備份,搞不好你的日誌就破壞了.
正確的備份方法是:
停止SQL服務,復制數據文件及日誌文件進行文件備份.
然後啟動SQL服務,用log explorer恢復數據