程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|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插入則快的多,每次讀取數據構造頁,然後直接輸入到數據庫。插入完頁後,索引將重新建立,違反主鍵和唯一鍵限制的記錄將被刪除並保存到另一個擴展表中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved