程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 曾經培訓寫的內容:db2常用命令總結

曾經培訓寫的內容:db2常用命令總結

編輯:DB2教程

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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved