db2資料庫日誌
Ⅰ 如何查看db2的資料庫的日誌文件
查看db2的資料庫的日誌文件:
實例日誌在sqllib/db2mp/db2diag.log,記錄起停、出錯警告信息。
資料庫的事務日誌通過db2 get db cfg for <dbname>,看NEWLOGPATH下面一行。
(1)db2資料庫日誌擴展閱讀:
在日常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中如何手動發起歸檔日誌或切換日誌
在資料庫中,日誌的重要性那是大大的大,所以日誌一定是要先了解的.
日誌類型:
主日誌(Primary logs)
預分配,可用數目由db cfg的LOGPRIMARY參數規定
輔助日誌(Secondary logs)
依需要再動態分配,最大數目由db cfg的LOGSECOND參數來定.輔助日誌同時會在資料庫
所有連接全部關閉後被刪除.
如果LOGSECOND為-1,則不限制記錄日誌的大小.
日誌記錄類型:
有兩類循環日誌和歸檔日誌,可以通過"配置資料庫日誌記錄"向導來修改資料庫的日誌記錄類型。
(1)循環日誌:
默認的日誌記錄策略,循環日誌按順序使用。當日誌中所包含的工作已提交或回滾時,可以重用。
主日誌預先分配。 而輔助日誌則在需要時才分配。
循環日誌有兩類日誌,主日誌和輔助日誌.
主日誌預先就要配好了,輔助日誌在需要時再分分配.
DB2管理程序按順序請求 -> 查找主日誌 -> 需要的主日誌不可用 -> 分配一個輔助日誌.
->輔助日誌也滿了 -> 再去檢查下主日誌能用不 -> 還不可用就又分配一個新的輔助日誌
->然後就一直重復上述檢查
-> 一直到有主日誌文件變為可重用為止.然後就把輔助日誌釋放掉.
循環日誌在備份恢復中的作用:
不能進行前滾恢復,但可進行崩潰恢復和版本恢復
僅支持離線備份.
(2)歸檔日誌
歸檔日誌是一種日誌文件的管理技術,將那些處理非活動狀態的日誌文件進行歸檔.
歸檔日誌是非默認的.
歸檔日誌有幾個要類
1.活動日誌
包含發那些尚未提交(或回滾)的事務相關信息.還包含已提交但改動還沒與的的事務相關信息
restart database;
rollforward
2.聯機歸檔日誌
當活動日誌關閉時,將成為一個歸檔日誌。稱它們為"聯機" 是因為它們和活動
日誌存放在相同的子目錄下。
3.離線歸檔日誌
這些日誌文件已經從活動日誌所在的目錄中移開了。可以手動,也可以
通過 userexit這樣的過程調用來自動進行。歸檔的日誌文件可以
存儲到磁帶或其它介質上。如tsm上。
正在用的日誌(活動日誌) -> 如果日誌用完了(聯機歸檔日誌) -> 再把這些不用的日誌給備份或移開(離線歸檔日誌)
循環日誌在備份恢復中的作用:
唯一支持前滾恢復和實現可恢復資料庫的日誌方法.
支持離線備份和聯機備份
在DB2資料庫中查看與日誌有關的主要參數:
userexit 是否啟用用戶出口
logretain 是否啟用歸檔日誌
trackmod 是否啟用增量備份功能
這些默認是off,即循環日誌模式,如為"Yes"或"Recovery",則表明為歸檔日誌模式.
Unix/linux下的查看命令:
DB2 v9及以前版本:
db2 get db cfg for sample|grep "USEREXIT"
db2 get db cfg for sample|grep "LOGRETAIN"
db2 get db cfg for sample|grep "TRACKMOD"
DB2 v10:
db2 get db cfg for sample |grep "LOGARCHMETH1"
Windows下的查看命令:
DB2 v9及以前版本:
db2 get db cfg for sample |find /I "userexit"
db2 get db cfg for sample |find /I "logretain"
db2 get db cfg for sample |find /I "trackmod"
DB2 v10:
db2 get db cfg for sample |find /I "LOGARCHMETH1"
可更改這些參數使DB2資料庫處於歸檔日誌模式,以便支持聯機備份.
更改命令:
DB2 v9及以前版本:
db2 update db cfg for sample using userexit on//啟用用戶出口
db2 update db cfg for sample using logretain on//啟用歸檔日誌
db2 update db cfg for sample using trackmod on//啟用增量備份功能
DB2 v10:
-- DISK : 本地磁碟
-- TSM : Tivoli Storage Manger
-- VENDOR : 第三方存儲設備
db2 update db cfg for sample using LOGARCHMETH1 disk:/db2/db/log_archive
注意事項:
變更這些歸檔模式參數後,會提示SQL1116N錯誤,DB2資料庫處於backup pending狀態,是不能馬上連接上資料庫的,必須要做離線備份一次才行.
離線備份命令例子:
db2 backup db sample to c:\xclbkcold
可手工歸檔下,檢查下生成的日誌(前提是沒資料庫連接):
db2 archive log for db xcldb
db2 list history archive log all for xcldb
關於日誌的管理:
查看首活動日誌:
db2 connect to xcldb2
--中文環境使用這個
db2 get db cfg|find "首個活動日誌文件"
--英文環境使用這個
db2 get db cfg|grep -i "First active log file"
db2 connect reset
db2 terminate
清理日誌:
db2 connect to xcldb2
db2 prune logfile prior to S0000033.LOG
其中S0000011.LOG就是剛剛的首活動日誌
手工歸檔命令:
db2 archive log for db xcldb2 //會手工產生日誌
Ⅲ 如何設置DB2資料庫為循環日誌
當創建新資料庫時,循環日誌記錄是預設行為。(將 logarchmeth1 和 logarchmeth2 資料庫配置參數設置為 OFF。)對於這種類型的日誌記錄,只允許完整的離線資料庫備份。進行完全備份時,資料庫必須離線(用戶不可訪問)。正如它的名稱所表示的那樣,循環日誌記錄使用一個聯機日誌「環」,提供對事務故障和系統崩潰的恢復。僅使用和保留日誌到確保當前事務的完整性這樣一個程度。循環日誌記錄不允許將資料庫在上次完全備份操作後執行的事務中前滾。上次備份操作後發生的所有更改都將丟失。因為這種類型的復原操作將數據恢復至進行完全備份的特定時間點,所以它稱為版本恢復。
Ⅳ linux下怎麼清除db2資料庫的日誌
你要清除什麼日誌?歸檔日誌還是診斷日誌?如果是診斷日誌,只需要刪除db2diag.log
就可以了,
db2diag.log可以通過db2
get
dbm
cfg
去查看具體的日誌位置
Ⅳ db2日誌文件在哪裡
在windows系統下的話,默認是在C:\Program Files\IBM\SQLLIB\
在日常DB2的維護中,transaction log full是比較常見的問題,日誌空間使用情況也是我們比較重視的問題,查看日誌空間使用情況的方法:
DB2 在DATABASE級別有幾個參數,如下決定了事物日誌的使用空間大小
Log file size (4KB) (LOGFILSIZ) = 60000
Number of primary log files (LOGPRIMARY) = 16
Number of secondary log files (LOGSECOND) = 200
Changed path to log files (NEWLOGPATH) =
Path to log files = /db2inst1_log01/sample
如此可以計算分配給日誌的空間大約是(200+16)*60000*4/1024/1024大約50GB。
如果日誌是單獨的文件系統分區,在操作系統上即可看到日誌空間使用情況,對日誌使用情況進行監控,可以看到如下信息:
$ df -g
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/db2inst1_log01 60.00 54.50 10% 1458 1% /db2inst1_log01
Ⅵ db2怎麼刪除資料庫的事務日誌
如要清除日誌,o,刪掉不就行了,找到log文件後直接刪除
log 的存放路徑用下邊的命令查看:
db2 get db cfg for dbname
其中有Path to log files 一行顯示了log 的存放路徑
Ⅶ 資料庫歷史diag.log怎麼看
db2diag命令,是用來查看db2資料庫運行日誌信息的,實際上,db2運行日誌是記錄在db2diag.log文件中,可以 通過此文件,查看記錄的有關DB2資料庫詳細的錯誤信息,而db2diag只是查看該日誌文件的一個小工具而已。db2資料庫在運行過程中如果經常有報錯的話,這個文件增長的會很快,需要定期清理,備份移走或者刪除,通常有兩種方法:
可以通過執行db2 get dbm cfg 來查看Diagnostic data directory path(DIAGPATH) 參數的設置。
1、使用db2diag工具,直接執行命令db2diag -A /db2diagbak (備份至/db2diagbak ,使用db2diag -h查看db2diag幫助),系統會自動移走db2diag.log並將備份的文件名添加上當前日期時間信息。
2、直接備份,在db2停止運行的情況下,將db2diag.log文件備份至其他文件系統,該文件刪除後在db2啟動後會自動重建。
Ⅷ DB2 資料庫的操作日誌,如何查看
將原db2diag.log文件備份到其它文件系統下。
刪除db2diag.log文件。刪除後,DB2會自動創建一個新的文件。
注意:如果你覺得以上操作不保險的話,Db2提供了自動歸檔db2diag.log的命令
db2diag -a 自動將該文件以日期時間命名
Ⅸ linux下怎麼清除db2資料庫的日誌
如要清除日誌,直接刪掉不就行了,找到log文件後直接刪除
log 的存放路徑用下邊的命令查看:
db2 get db cfg for dbname
其中有Path to log files 一行顯示了log 的存放路徑