Ⅰ db2 10.5 怎樣開啟歸檔日誌。 老的方法報discontinued(停止使用了),所以老帖子上的都已經不能用了。
DB2 10.5的資料庫有一個參數叫LOGARCHMETH1,用於歸檔日誌的設置,可以設置的值為:
OFF[LOGRETAIN,USEREXIT,DISK,TSM,VENDOR]
如果LOGARCHMETH1和LOGARCHMETH2均為OFF,表示使用循環日誌。
比較常用的值:
LOGRETAIN表示啟用歸檔日誌,並保留在活動日誌目錄下,在前滾時會用到並成為在線歸檔日誌。
DISK表示將歸檔日誌歸檔到指定目錄,格式為DISK:/path/,如:
:/DB/arclogs/
如果想把歸檔日誌直接歸檔到第三方備份設備,可以用USEREXIT等,具體用法可參考IBM官網information center,這里資料很全。
另外,提醒一下,設置完歸檔後,建議重新激活資料庫使參數生效,同時必須對資料庫進行一次備份(設置歸檔後,資料庫處於backup pending狀態)
db2deactivatedb<dbname>
db2activatedb<dbname>
db2terminate
db2backupdb<dbname>
或者,如果可以重啟實例,建議重啟實例執行:
db2stopforce
db2start
db2backupdb<dbname>
Ⅱ 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在線備份 沒有日誌如何恢復
備份文件中備份的是開始點資料庫的一切數據,備份的時候數據變更會記載在日誌里。通過恢復資料庫和前滾日誌的方式可以把數據恢復到備份後的狀態。恢復的方法是:1》db2restoredb資料庫名logtarget日誌解壓位置2》db2rollforwarddb資料庫名(「日誌解壓位置」)是需要把生產的歸檔日誌都到測試環境中前滾,活動日誌不需要
Ⅳ db2如何查看日誌文件內容,有工具嗎
查看不了,事務日誌內容只有IBM實驗室用特定工具才能看,望採納
Ⅳ db2 如何查看事務日誌空間
用著條語句:db2 get snapshot for applications on pis|grep -i 'uow log'
Ⅵ 怎麼查看DB2每個表的大小
第一個是db2的日誌問題。db2資料庫的日誌有兩種模式,一種是循環日誌,一種是歸檔模式。你的說法有問題,如果是循環日誌的話,根據你的資料庫里配置的三個參數,主日誌文件和輔助日誌文件數及日誌大小文件,總的日誌大小不會超過(總日誌文件數與日誌大小的乘積),然後是循環使用的,也就是說,如果資料庫進行一次事務操作時,先生成第一個主日誌文件(受日誌文件大小參數)控制,不足時生成第二個主日誌文件,當一次事務超過所有的主日誌文件時,才會創建輔助日誌文件),然後下次覆蓋第一個,依次循環,所以循環日誌模式,日誌文件大小不是無限增大的。只有在歸檔模式下才會不斷產生日誌文件,這種模式的好處是資料庫可以恢復到任意時點。查看資料庫日誌的模式時,可以在db2=>命令行下connect to db name 然後 db2=> get db cfg for dbname
會看到有如下幾個參數與日誌有關系:
啟用的恢復的日誌保留 (LOGRETAIN) = OFF
啟用的日誌記錄的用戶出口 (USEREXIT) = OFF
日誌文件大小(4KB) (LOGFILSIZ) = 1024
主日誌文件的數目 (LOGPRIMARY) = 13
輔助日誌文件的數目 (LOGSECOND) = 4
已更改的至日誌文件的路徑 (NEWLOGPATH) =
日誌文件路徑 = D:\DB2\NODE0000\SQL00002\SQLOGDIR\
溢出日誌路徑 (OVERFLOWLOGPATH) =
鏡像日誌路徑 (MIRRORLOGPATH) =
首個活動日誌文件 =
可以看出這里的資料庫是運行於循環日誌模式,第一個參數是off,如果是on則處於歸檔模式。下邊有日誌文件的路徑,如果是歸檔模式,還可以查看到首個活動日誌文件,則可以備份歸檔日誌後,刪除活動日誌以前的歸檔日誌文件。因此你說的按天的日誌不知道是什麼意思。更改上述參數採用 update db cfg using ....
第二個問題:db2的資料庫數據是存儲在表裡的,表是位於表空間的,表空間對應的表空間容器物理文件存儲在文件系統上。隨著數據量的增大,分區容量不夠時,一種方法是備份資料庫,然後使用[重定向]還原資料庫,將資料庫的表空間容器重定向到一個存儲量大的目錄或者磁碟上。另一種方法是,直接為該表空間增加新的表空間容器,就可以了。比較簡單,在此不在詳述。
Ⅶ DB2 資料庫的操作日誌,如何查看
將原db2diag.log文件備份到其它文件系統下。
刪除db2diag.log文件。刪除後,DB2會自動創建一個新的文件。
注意:如果你覺得以上操作不保險的話,Db2提供了自動歸檔db2diag.log的命令
db2diag -a 自動將該文件以日期時間命名
Ⅷ 那在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的系統日誌,在什麼位置,如何查看,請教
1 是說<instname>.nfy或者db2diag.log么?在dbm cfg中參數diagpath的對應路徑下,默認在<inst_home>/sqllib/db2mp下。
2 關於怎麼看,直接打開即可。還有一個命令也可以用 —— db2diag 如果需要看幫助就運行 db2diag -h
over
Ⅹ linux下怎麼清除db2資料庫的日誌
如要清除日誌,直接刪掉不就行了,找到log文件後直接刪除
log 的存放路徑用下邊的命令查看:
db2 get db cfg for dbname
其中有Path to log files 一行顯示了log 的存放路徑