DB2數據庫命令簡介

DB2數據庫命令簡介
 
LoadAllIEPlugin=1

1.啓動數據庫

      db2start

2.停止數據庫

      db2stop

3.連接數據庫

      db2 connect to o_yd user db2 using pwd

4.讀數據庫管理程序配置

      db2 get dbm cfg

5.寫數據庫管理程序配置

      db2 update dbm cfg using 參數名 參數值

6.讀數據庫的配置

      db2 connect to o_yd user db2 using pwd

      db2 get db cfg for o_yd

7.寫數據庫的配置

      db2 connect to o_yd user db2 using pwd

      db2 update db cfg for o_yd using 參數名 參數值

8.關閉所有應用連接

      db2 force application all

      db2 force application ID1,ID2,,,Idn MODE ASYNC

      (db2 list application for db o_yd show detail)

9.備份數據庫

      db2 force application all

      db2 backup db o_yd to d:

     (db2 initialize tape on //./tape0)

     (db2 rewind tape on //./tape0)

     db2 backup db o_yd to //./tape0

10.恢復數據庫

     db2 restore db o_yd from d: to d:

     db2 restore db o_yd from //./tape0 to d:

11.綁定存儲過程

    db2 connect to o_yd user db2 using pwd

    db2 bind c:/dfplus.bnd

   拷貝存儲過程到服務器上的C:/sqllib/function目錄中

12.整理表

     db2 connect to o_yd user db2 using pwd

     db2 reorg table ydd

     db2 runstats on table ydd with distribution and indexes all

13.導出表數據

      db2 export to c:/dftz.txt of del select * from dftz

      db2 export to c:/dftz.ixf of ixf select * from dftz

14.導入表數據

import from c:/123.txt of del   insert into ylbx.czyxx

db2 import to c:/dftz.txt of del commitcount 5000 messages   c:/dftz.msg insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 messages c:/dftz.msg insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 insert_update into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 replace into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 create into dftz    (僅IXF)

db2 import to c:/dftz.ixf of ixf commitcount 5000 replace_create into dftz   (僅IXF)

15.執行一個批處理文件

        db2 -tf 批處理文件名

       (文件中每一條命令用 ;結束)

16.自動生成批處理文件

      建文本文件:temp.sql

    select 'runstats on table DB2.' || tabname || '

    with distribution and   detailed indexes all;'

    from syscat.tables where tabschema='DB2' and type='T';

db2 -tf temp.sql>runstats.sql

17.自動生成建表(視圖)語句

在服務器上:C:/sqllib/misc目錄中

db2 connect to o_yd user db2 using pwd

db2look -d o_yd -u db2 -e -p -c c:/o_yd.txt

18.其他命令

grant dbadm on database to user bb

19select * from czyxx fetch first 1 rows only

20db2look -d ylbx -u db2admin -w -asd -a -e -o a.txt21. 顯示當前用戶所有表

  list tables

22.列出所有的系統表

  list tables for system

23.查看錶結構

  db2 describe select * from user.tables

DB2 實用操作指令總結

db2 force application all : 強制停止所有數據庫鏈接

            db2stop force : 停止DB2

            db2start : 啓動數據庫

  

             SET INTEGRITY FOR [ MView Table Name ] IMMEDIATE CHECKED :

             REFRESH TABLE     [ MView Table Name ]     對建立的MView物化視圖進行refresh操作。

            1. 查看本地節點目錄

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

            2. 編目一個TCP/IP節點

              命令窗口:db2 catalog tcpip node <node_name> remote

            <hostname|ip_address> server <svcname|port_number> ostype

            <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

            3. 取消節點編目

              db2 uncatalog node <node_name>

            1. 查看本地節點目錄

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

            2. 編目一個TCP/IP節點

              命令窗口:db2 catalog tcpip node <node_name> remote

            <hostname|ip_address> server <svcname|port_number> ostype

            <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

            3. 取消節點編目

              db2 uncatalog node <node_name>

            4. 查看系統數據庫目錄

              db2 list database directory

            5. 查看本地數據庫目錄

              db2 list database directory on <盤符>

             

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

            6. 編目數據庫

              db2 catalog database <db_name> as <db_alias> at node <node_name>

            7. 取消數據庫編目

              db2 uncatalog database <db_name>

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

              db2 connect to <db_alias> user <user_id> using <password>

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

              set schema = <schema name>

              可以由用戶交互式的使用,也可在應用程序中使用,如果用Dynamicrules

            Bind選項綁定包,這個語句就沒有作用。此語句不在事務控制之下。

            10. 代碼頁的設置

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

              create database <db_name> using codeset <codeset> territory

            <territiry>

              例:

              create database dbtest using codeset IBM-437 territory US

             

            也可以設置整個數據庫的代碼頁,在win2000/NT/xp中,在我的電腦-->屬性-->高級-->環境變量中添加變量DB2CODEPAGE

            = <codepage>,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM

            DB2命令窗口輸入 db2set DB2CODEPAGE=1386,設置後需要重新啓動DB2生效。

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

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

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

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

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

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

              命令窗口:db2look -d <db_name> -e -c -o <file_name>

             

            14. 執行腳本文件

              命令窗口:db2 -tvf <file_name>

             

            15. 代碼頁的轉換

            16. 獲取當前DB2的版本

              select * from sysibm.sysversions

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

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

              alter table <tb_name> alter column <col_name> set data type

            varchar(SIZE)

            18. 如何查看錶的結構?

              describe table <tb_name>

              or

              describe select * from <schema>.<tb_name>

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

              ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE

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

              SELECT * FROM SYSCAT.PROCEDURES

            21. 如何查看錶的約束?

              SELECT * FROM SYSCAT.CHECKS WHERE TABNAME = <tb_name>

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

              SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME = <tb_name>

            23. 如何知道BUFFERPOOLS狀況?

              select * from SYSCAT.BUFFERPOOLS

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

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

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

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

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

            25. 如何修改緩衝區?

              增加緩衝區:   create bufferpool <buf_name> size <number of pages>

            [pagesize 4096] {[not] EXTENDED STORAGE}

              修改緩衝區:   alter bufferpool <buf_name> size <number of pages> {[not]

            EXTENDED STORAGE}

              刪除緩衝區:   drop   bufferpool <buf_name>

              如果緩衝區大小設置爲 -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_name> /DB

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

            29. 測試SQL語句的性能

              db2batch -d <db_name> -f <file_name> [-a userid/passwd] [-r

            <outfile_name>]

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

            30. 導出某個表的數據

              export to <Derectry><filme>

            如:導出用戶表

              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

第七部分 DB2使用命令編目遠程數據庫至本地

 


本文測試環境:Windows 32位平臺

              DB2 V7  DB2 V8 版本

1  編目遠程節點:

   db2 catalog tcpip node db2cdb2 remote 10.81.XX.XX server 50000

   成功以後顯示:

   DB20000I  CATALOG TCPIP NODE 命令成功完成。

   DB21056W  只有在刷新目錄高速緩存以後,目錄更改纔會生效。

 

2  設置編目的節點爲當前節點:  

   db2 attach to db2cdb2 user user_name using password

   成功以後顯示:

    實例連接信息

 

    實例服務器             = DB2/NT 8.2.0

    授權標識       = user_name

    本地實例別名           = db2cdb2

 

3  編目數據庫:

    db2 catalog db DB_NAME AS ALIAS_NAME AT NODE DB2CDB2

   成功以後顯示:

   DB20000I  CATALOG DATABASE 命令成功完成。

   DB21056W  只有在刷新目錄高速緩存以後,目錄更改纔會生效。

 

4  測試數據庫連接:

   db2 connect to ALIAS_NAME user user_name USING password

   成功顯示:

     數據庫連接信息

 

    數據庫服務器         = DB2/NT 8.2.0

    SQL 授權標識         = user_name
    本地數據庫別名       = ALIAS_NAME

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章