程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據庫使用的32個經典小技巧

DB2數據庫使用的32個經典小技巧

編輯:DB2教程
在翻閱論壇的帖子時,發現很多同學苦於手邊沒有一些“小貼士”,所以不得不放下手裡的活去查資料,結果查出結果了,剛才文思隽永的思路也沒了。現在分類整理出一些小技巧,希望可以幫助需要幫助的人。那就先從DB2開始吧。

  1. 查看本地節點目錄

  命令窗口中輸入:db2 list node directory

  2. 編目一個TCP/IP節點

  命令窗口:db2 catalog tcpip node remote server ostype

  3. 取消節點編目

  db2 uncatalog node

  4. 查看系統數據庫目錄

  db2 list database directory

  5. 查看本地數據庫目錄

  db2 list database directory on <盤符>

  在本地數據庫目錄中有而系統數據庫目錄中沒有的數據庫不能訪問,可以在控制中心中選中 <數據庫> 右鍵單擊選擇添加,然後輸入需要添加的數據庫名稱或者點擊刷新按鈕選擇數據庫,加入數據庫後即可以訪問。

  6. 編目數據庫

  db2 catalog database as at node

  7. 取消數據庫編目

  db2 uncatalog database

  8. 測試遠程數據庫的連接

  db2 connect to user using

  9. 任何用戶均可通過設置Current Schema專用寄存器為特定的數據庫連接設置默認模式,初始默認值為當前會話用戶的權限ID。

  set schema =

  可以由用戶交互式的使用,也可在應用程序中使用,如果用Dynamicrules Bind選項綁定包,這個語句就沒有作用。此語句不在事務控制之下。

  10. 代碼頁的設置

  在創建數據庫時設置字符集

  create database using codeset territory

  例:  

以下是引用片段:
create database dbtest using codeset IBM-437 territory US

  也可以設置整個數據庫的代碼頁,在win2000/NT/xp中,在我的電腦--> 屬性--> 高級--> 環境變量中添加變量DB2CODEPAGE = ,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM DB2命令窗口輸入 db2set DB2CODEPAGE=1386,設置後需要重新啟動DB2生效。

  11. DB2低版本數據到高版本的遷移

  先將低版本數據備份使用恢復功能導入高版本數據庫,然後在命令窗口輸入 db2 migrate database

  12. 表名或模式中含有引號時訪問表

  命令窗口:db2 select * from "tabschema ". "tabname "

  命令行處理器:db2=> select * from "tabschema ". "tabname "

  13. 導出數據庫的表結構生成DDL文件

  命令窗口:db2look -d -e -c -o

  14. 執行腳本文件

  命令窗口:db2 -tvf

  15. 代碼頁的轉換

16. 獲取當前DB2的版本

  select * from sysibm.sysversions

  17. DB2表的字段的修改限制?

  只能修改VARCHAR2類型的並且只能增加不能減少

  alter table alter column set data type varchar(SIZE)

  18. 如何查看表的結構?

  describe table

  or

  describe select * from .

  19. 如何快速清除一個大表?

  ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE

  20. 如何查看數據庫的存儲過程?

  SELECT * FROM SYSCAT.PROCEDURES

  21. 如何查看表的約束?

  SELECT * FROM SYSCAT.CHECKS WHERE TABNAME =

  22. 如何查看表的引用完整約束?

  SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME =

  23. 如何知道BUFFERPOOLS狀況?

  select * from SYSCAT.BUFFERPOOLS

  24. 如何在命令行下查看修改實例和數據庫配置參數?

  查看實例配置參數: db2 get dbm cfg

  修改實例配置參數: db2 update dbm cfg using 參數名 新值

  查看數據庫配置參數: db2 get db cfg for

  修改數據庫配置參數: db2 update db cfg for using 參數名 新值

  25. 如何修改緩沖區?

  增加緩沖區: create bufferpool size [pagesize 4096] {[not] EXTENDED STORAGE}

  修改緩沖區: alter bufferpool size {[not] EXTENDED STORAGE}

  刪除緩沖區: drop bufferpool

  如果緩沖區大小設置為 -1 表示緩沖池的頁面數目由數據庫配置參數buffpage決定。

  注意: 數據庫配置參數buffpage僅對緩沖區大小設置為 -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. 查看當前連接到數據庫的應用

  db2 list application [show detail]

  28. 如何確認DB2數據庫的一致性

  db2dart /DB

  /DB表示檢查整個數據庫的一致性

  29. 測試SQL語句的性能

  db2batch -d -f [-a userid/passwd] [-r ]

  -r 選項表示將查詢結果輸出到一個文件中。

  30. 導出某個表的數據

  export to

  如:導出用戶表

  export to c:user.ixf of ixf select * from user

  31. 導入數據

  import from

  如:導入用戶表。導入時可以直接建立新表。如果有該表存在也可以用INSERT 插入,或者用UPDATE更新。

  執行導入 :

  import from c:user.ixf of ixf [Create/Insert into / update] tablename

  32.查詢鎖表

  select * from table(snapshot_lock( 'ssfx ',-1)) as lock


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