db2常見問題

zgy13121發表於2008-10-18

編目節點:

catalog tcpip node nodename remote ip server 50000

編目資料庫: catalog db dbname at node nodename

顯示節點: list node directory

顯示資料庫: list db directory

連線資料庫 connect to dbname user username using password

db2歸檔

db2 update db cfg using LOGARCHMETH1 DISK:d:archlog

DISK:後面不要空格

如果db2處在backup pending狀態,如果不備份整個庫,

解決方法 db2dart /chst /WHAT DBBP off

資料庫匯出

db2move dbname export -u username -p password

出現警告錯誤如sql3107,怎麼解決

一般是字符集問題,

可以首先檢視資料庫伺服器引數codepage

db2 connect to dbname user username using password

db2 get db cfg

在windows下的大多設定為1386

那麼在linux下很可能出現問題

db2 connect to dbname user username using password

db2set db2codepage=1386

db2 terminate

之後,再

db2move dbname export -u username -p password

[@more@]以下節選自http://myfriend2010.itpub.net/post/29012/404769 myfriend2010的部落格 DB2歸檔模式及與DB2複製相關問題 該文簡單介紹了DB2歸檔模式,並說明了如何設定歸檔模式及其與DB2複製相關的問題。 1. DB2日誌簡介 1.1. 日誌型別 1.1.1. 活動日誌(ACTIVE LOG)功能類似於ORACLE的online redo log, 該日誌包含尚未提交或回滾的事務單元的相關資訊,以及已提交但尚未寫入資料庫檔案的事務的資訊。 具體又分兩種 l 主日誌 數量由引數LOGPRIMARY決定,預先分配 l 從日誌 當主日誌不夠時,臨時分配最多LOGSECOND數目個從日誌 1.1.2. 存檔日誌(ARCHIVED LOG) 存在於歸檔模式。 1.1.2.1. 聯機存檔日誌(ONLINE ARCHIVED LOG) 它們是駐留在資料庫活動日誌目錄(“online”)中、普通資料庫活動不再需要的日誌檔案。 1.1.2.2. 離線存檔日誌(OFFLINE ARCHIVED LOG) 它們是已經從資料庫日誌目錄移到離線儲存位置(如備份伺服器)、普通資料庫活動不需要的日誌檔案 這兩者的不同僅在於聯機歸檔日誌存在於活動日誌目錄下,而離線的不是 1.2. 日誌模式 1.2.1. 迴圈日誌模式 如圖所示,預先分配好的若干個主日誌迴圈利用,當不夠的時候,臨時申請若干個從日誌 1.2.2. 歸檔日誌模式當開啟歸檔模式後,日誌將不會被覆蓋,而是不停新產生。如果不設LOGARCHMETH1引數的話,歸檔日誌將仍然待原目錄,就成為聯機歸檔日誌。如下圖: 而如果,設定LOGARCHMETH1引數到另外一個目錄的話,歸檔後的日誌將被自動移動到新目錄下,即被稱為離線歸檔日誌,如下圖: 2. DB2歸檔模式設定 1. 修改引數LOGRETAIN為recovery (預設為N) Db2 update db cfg for TEST using logretain recovery 2. 將資料庫做一次全備 Db2 BACKUP DATABASE TEST TO "C:test" 3. 修改USER_EXIT引數 a) 可以透過圖形介面;控制中心-》資料庫》DBNAME》右鍵》配置資料庫記錄嚮導 b) 透過命令列 Db2 UPDATE DB CFG FOR TEST USING logarchmeth1 "DISK:C:testMYLOG" 這樣日誌就被自動歸檔到C:testMYLOG目錄下了。 3. DB2日誌跟ORACLE日誌的比較有兩個比較大的不同點: 1. DB2要求活動日誌被覆蓋或者歸檔之前必須保證裡面的事務已經commit或者rollback了,也就是說,如果一個事務太大,超過了主日誌加從日誌的和的話,將會報日誌滿錯誤。而ORACLE沒這個要求,只可能在歸檔模式時,空間滿了才會報日誌滿錯誤。 2. 對於歸檔模式而言,DB2的活動日誌總是新分配的,不象oracle,線上日誌總是重用的 4. 與複製相關的問題 1. 如果DB2啟用複製並且作為資料來源後,必須使用歸檔日誌模式,DB2複製是從日誌或者歸檔日誌裡捕獲需要的表的修改資訊的。 2. 如果複製程式中途斷掉,經過一段時間再啟用時,這時可能相應的表修改資訊已經被歸檔了,這時db2將從歸檔日誌(可能聯機歸檔日誌,也可能是離線歸檔日誌)裡面將資訊去找。 3. 這就涉及到一個問題,歸檔日誌不會無限期的放到歸檔目錄下,如何設定歸檔日誌存放時間呢?如果時間過短,複製的capture程式可能會發生找不到相應日誌,從而失敗的問題。存放時間太長的話,需要的歸檔空間又太多。這就需要根據實際情況,兩方面均衡的考慮了。 4. 如果真的發生了找不到日誌的情況,可以有兩種方法 a) 將日誌從別處拷回 b) 將複製完全重新整理 對單向複製而言,複製完全重新整理這個選項就已經夠了。但對雙向複製而言,完全重新整理的話,意味著從節點自上次重新整理之後的修改就完全丟失了,所以最好將日誌拷回來。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11419868/viewspace-1012082/,如需轉載,請註明出處,否則將追究法律責任。