DB2命令介紹

lwitpub發表於2009-12-17
db2命令介紹:
     db2start:啟動當前的DB2資料庫管理例項。  
     db2stop:停止當前的資料庫管理例項。 
注:啟動和關閉的是資料庫管理例項,而不是單個的資料庫,而restart database並不是重新啟動資料庫,是平衡非正常結束而不一致狀態的資料庫,結束後,連線仍然存在。
     db2look:能為表,索引,檢視和諸如此類需要產生統計資訊和資料定義語言(DDL)的物件產生需要的語句,以便重建資料庫物件和/或更新統計資訊。DB2CLP下直接db2look,可看到選項。
     db2move:db2移動資料的一個工具,可以在兩個不同的db2資料庫間移動資料,這兩個DB2資料庫可以在不同的伺服器上,尤其是大量資料的表需要轉移的情況下,非常方便。 DB2CLP下直接db2move,可看到選項。 
      
以下命令在“db2=>;”下鍵入“? Command”可以看到使用。
       catalog:編目資料庫或節點
       uncatalog:刪除已經編目的資料庫或節點,這一對命令其實就實現了客戶機配置輔助程式編目資料庫的功能。
       update:功能是更新資料庫/資料庫管理器配置引數,更新命令列處理器設定和監控器的開關等。
       connect:連線到一個資料庫。 
       attach:建立一個到例項的連線,執行例項級別的管理。
      list:顯示一些資料庫物件或者設定的相關資訊
      get:獲取一些資料庫引數的設定和狀態
       runstats:執行統計,更新系統目錄表中的資訊。
       backup:備份資料庫
        1、防止意外資料丟失或系統意外
        2、重定向恢復實現整個資料庫的遷移
        3、AIX下的備份需要指定with n buffers 和 buffer size
       restore:還原資料庫
注:作業系統相同才可進行備份和恢復
       force application:強行關閉應用程式或者連線
匯入匯出資料:
檔案格式:
DEL:界定的ASCII檔案,行分隔符和列分隔符將資料分開。常用
ASC:定長的ASCII檔案,行按照行分割符分開,列定長。
PC/IXF:只能用來在db2之間導資料,根據型別數字值被打包成十進位制或者二進位制,字元被儲存為ASCII,只儲存變數已經使用了的長度,檔案中包括表的定義和表的資料。
WSF:工作表方式匯入匯出,不建議使用。

export:匯出資料,支援IXF,DEL或WSF
import:匯入資料,可以向表或者檢視中匯入資料,支援上面提到的4中檔案。
 注:當一個表中的主鍵被其他表引用為外來鍵時,匯入資料只能選APPEND,不能選替換。    
load:匯入資料,功能和import基本相同。支援以上說的4種格式。Load最大的缺點是變化沒有記錄日誌,不能前滾恢復。
Load的工作步驟:
1、載入階段:
 把資料載入到表中
 收集並儲存索引
2、建立階段
 建立載入階段收集的索引
3、刪除階段
 把違反唯一鍵或主鍵約束的記錄放到例外表中
 刪除違反主鍵和唯一鍵約束的記錄
注:自動生成列資料匯入問題。
Load完畢之後:
Load程式可以將表或者表所在的表空間處於掛起狀態。
1、載入掛起:在載入階段發生錯誤,表空間處於此狀態
   解決方法:
    A:糾正錯誤後重新載入,將replace或者insert換成restart。將從失敗處重新開始裝載操作。
    B:如果前面呼叫用了replace,則再使用replace做load。
    C:用terminate選項終止load操作。
    D:DBA撤消並重新建立表空間
    E:從一個備份中恢復表空間(歸檔日誌下才可以)。
2、刪除掛起:在刪除階段發生錯誤,將一直處於刪除掛起狀態。
3、備份掛起:這種策略是強迫使用者對目標表所在的資料庫或者表空間做一個備份。如果load是使用了copy no選項,並且開啟了歸檔日誌,load完後將處於該狀態。做一個備份就可以消除該狀態。
4、檢查掛起的表:當表上存在主鍵和唯一鍵之外的約束時,load完後表將處於該狀態。包括以下情況:
  外來鍵約束—用來強制執行內容的完整性。
  檢查約束—使用者定義的約束,檢查合法性。
  操作中引用了summary表,並且表設定的為refresh immediate。
可以使用如下命令解除該狀態:
set constraints for tabname immediate checked for exception in exp_table
load和import的不同:
1、load的目標表必須存在,而import不需要
2、load並不建立索引,只是在原來索引的基礎上追加資料
3、最大區別在於效能區別,import每次插入一條,每行都要進行一次限制檢查,日誌用來記錄變化,而load插入則快的多,每次讀取資料構造頁,然後直接輸入到資料庫。插入完頁後,索引將重新建立,違反主鍵和唯一鍵限制的記錄將被刪除並儲存到另一個擴充套件表中。
load技巧使用:大資料量刪除。 load from a.del of del replace into table

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