DB2數(shù)據(jù)庫的31個管理命令
無論你是一個資深的DBA,還是一個DB2的新手,DB2數(shù)據(jù)庫的管理命令都是必須要掌握的,下面將為您介紹31個常用的DB2管理命令,希望對您有所幫助。
1. 查看本地節(jié)點目錄
命令窗口中輸入:db2 list node directory
2. 編目一個TCP/IP節(jié)點
命令窗口:db2 catalog tcpip node remote server ostype
3. 取消節(jié)點編目
db2 uncatalog node
4. 查看系統(tǒng)數(shù)據(jù)庫目錄
db2 list database directory
5. 查看本地數(shù)據(jù)庫目錄
db2 list database directory on <盤符>
在本地數(shù)據(jù)庫目錄中有而系統(tǒng)數(shù)據(jù)庫目錄中沒有的數(shù)據(jù)庫不能訪問,可以在控制中心中選中<數(shù)據(jù)庫>右鍵單擊選擇添加,然后輸入需要添加的數(shù)據(jù)庫名稱或者點擊刷新按鈕選擇數(shù)據(jù)庫,加入數(shù)據(jù)庫后即可以訪問。
6. 編目數(shù)據(jù)庫
db2 catalog database as at node
7. 取消數(shù)據(jù)庫編目
db2 uncatalog database
8. 測試遠程數(shù)據(jù)庫的連接
db2 connect to user using
9. 設(shè)置默認模式 #p#
任何用戶均可通過設(shè)置Current Schema專用寄存器為特定的數(shù)據(jù)庫連接設(shè)置默認模式,初始默認值為當(dāng)前會話用戶的權(quán)限ID。
set schema =
可以由用戶交互式的使用,也可在應(yīng)用程序中使用,如果用Dynamicrules Bind選項綁定包,這個語句就沒有作用。此語句不在事務(wù)控制之下。
10. 代碼頁的設(shè)置
在創(chuàng)建數(shù)據(jù)庫時設(shè)置字符集
create database using codeset territory
例:
create database dbtest using codeset IBM-437 territory US
也可以設(shè)置整個數(shù)據(jù)庫的代碼頁,在win2000/NT/xp中,在我的電腦-->屬性-->高級-->環(huán)境變量中添加變量 DB2CODEPAGE = ,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM DB2命令窗口輸入 db2set DB2CODEPAGE=1386,設(shè)置后需要重新啟動DB2生效。
11. DB2低版本數(shù)據(jù)到高版本的遷移
先將低版本數(shù)據(jù)備份使用恢復(fù)功能導(dǎo)入高版本數(shù)據(jù)庫,然后在命令窗口輸入 db2 migrate database 。
12. 表名或模式中含有引號時訪問表
命令窗口:db2 select * from "tabschema"."tabname"
命令行處理器:db2=> select * from "tabschema"."tabname"
13. 導(dǎo)出數(shù)據(jù)庫的表結(jié)構(gòu)生成DDL文件
命令窗口:db2look -d -e -c -o
14. 執(zhí)行腳本文件
命令窗口:db2 -tvf
15. 代碼頁的轉(zhuǎn)換 #p#
16. 獲取當(dāng)前DB2的版本
select * from sysibm.sysversions
17. DB2表的字段的修改限制?
只能修改VARCHAR2類型的并且只能增加不能減少
alter table alter column set data type varchar(SIZE)
18. 如何查看表的結(jié)構(gòu)?
describe table
or
describe select * from .
19. 如何快速清除一個大表?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
20. 如何查看數(shù)據(jù)庫的存儲過程?
SELECT * FROM SYSCAT.POCEDURES
21. 如何查看表的約束?
SELECT * FROM SYSCAT.CHECKS WHERE TABNAME =
22. 如何查看表的引用完整約束?
SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME =
23. 如何知道BUFFERPOOLS狀況?
select * from SYSCAT.BUFFERPOOLS #p#
24. 如何在命令行下查看修改實例和數(shù)據(jù)庫配置參數(shù)?
查看實例配置參數(shù): db2 get dbm cfg
修改實例配置參數(shù): db2 update dbm cfg using 參數(shù)名 新值
查看數(shù)據(jù)庫配置參數(shù): db2 get db cfg for
修改數(shù)據(jù)庫配置參數(shù): db2 update db cfg for using 參數(shù)名 新值
25. 如何修改緩沖區(qū)?
增加緩沖區(qū): create bufferpool size [pagesize 4096] {[not] EXTENDED STORAGE}
修改緩沖區(qū): alter bufferpool size {[not] EXTENDED STORAGE}
刪除緩沖區(qū): drop bufferpool
如果緩沖區(qū)大小設(shè)置為 -1 表示緩沖池的頁面數(shù)目由數(shù)據(jù)庫配置參數(shù)buffpage決定。
注意: 數(shù)據(jù)庫配置參數(shù)buffpage僅對緩沖區(qū)大小設(shè)置為 -1 的緩沖池起作用。
26. 多個字段時如何不通過使用select子句使用in/not in
select * from tabschema.tabname where (colA, colB, colC) [not] in (values (valueA1, valueB1, valueC1), (valueA2, valueB2, valueC2), ...(valueAn, valueBn, valueCn))
27. 查看當(dāng)前連接到數(shù)據(jù)庫的應(yīng)用
db2 list application [show detail]
28. 如何確認DB2數(shù)據(jù)庫的一致性
db2dart /DB
/DB表示檢查整個數(shù)據(jù)庫的一致性
29. 測試SQL語句的性能
db2batch -d -f [-a userid/passwd] [-r ]
-r 選項表示將查詢結(jié)果輸出到一個文件中。
30. 導(dǎo)出某個表的數(shù)據(jù)
export to
如:導(dǎo)出用戶表
export to c:user.ixf of ixf select * from user
31. 導(dǎo)入數(shù)據(jù)
import from
:導(dǎo)入用戶表。導(dǎo)入時可以直接建立新表。如果有該表存在也可以用INSERT 插入,或者用UPDATE更新
import from c:user.ixf of ixf [Create/Insert into / update] tablename