DB2 命令大全

來源:互聯網
上載者:User
 

串連資料庫:

    connect to [資料庫名] user [操作使用者名稱] using [密碼]

建立緩衝池(8K):

    create bufferpool ibmdefault8k IMMEDIATE    SIZE 5000 PAGESIZE 8 K ;
建立緩衝池(16K)(OA_DIVERTASKRECORD):
    create bufferpool ibmdefault16k IMMEDIATE    SIZE 5000 PAGESIZE 16 K ;
建立緩衝池(32K)(OA_TASK):
    create bufferpool ibmdefault32k IMMEDIATE    SIZE 5000 PAGESIZE 32 K ;

建立資料表空間:

    CREATE TABLESPACE exoatbs IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer') EXTENTSIZE 32 PREFETCHSIZE 16    BUFFERPOOL IBMDEFAULT8K    OVERHEAD 24.10 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

    CREATE TABLESPACE exoatbs16k    IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 16K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer16k'     ) EXTENTSIZE 32    PREFETCHSIZE 16    BUFFERPOOL IBMDEFAULT16K    OVERHEAD 24.1 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

    CREATE TABLESPACE exoatbs32k    IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer32k'     ) EXTENTSIZE 32    PREFETCHSIZE 16    BUFFERPOOL IBMDEFAULT32K    OVERHEAD 24.1 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

GRANT USE OF TABLESPACE exoatbs TO PUBLIC;
GRANT USE OF TABLESPACE exoatbs16k TO PUBLIC;
GRANT USE OF TABLESPACE exoatbs32k TO PUBLIC;

建立系統資料表空間:

    CREATE TEMPORARY TABLESPACE exoasystmp IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8K    MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp'     ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT8K    OVERHEAD 24.10 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

    CREATE TEMPORARY TABLESPACE exoasystmp16k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 16K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp16k'    ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT16K OVERHEAD 24.10 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

    CREATE TEMPORARY TABLESPACE exoasystmp32k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp32k') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT32K OVERHEAD 24.10 TRANSFERRATE 0.90    DROPPED TABLE RECOVERY OFF;

1. 啟動執行個體(db2inst1):

db2start

2. 停止執行個體(db2inst1):

db2stop

3. 列出所有執行個體(db2inst1)

db2ilist

5.列出當前執行個體:

db2 get instance

4. 察看樣本設定檔:

db2 get dbm cfg|more

5. 更新資料庫管理員參數資訊:

db2 update dbm cfg using para_name para_value

6. 建立資料庫:

db2 create db test

7. 察看資料庫配置參數資訊

db2 get db cfg for test|more

8. 更新資料庫參數配置資訊

db2 update db cfg for test using para_name para_value

10.刪除資料庫:

db2 drop db test

11.串連資料庫

db2 connect to test

12.列出所有資料表空間的詳細資料。

db2 list tablespaces show detail

13.查詢資料:

db2 select * from tb1

14.刪除資料:

db2 delete from tb1 where id=1

15.建立索引:

db2 create index idx1 on tb1(id);

16.建立視圖:

db2 create view view1 as select id from tb1

17.查詢檢視:

db2 select * from view1

18.節點編目

db2 catalog tcp node node_name remote server_ip server server_port

19.察看連接埠號碼

db2 get dbm cfg|grep SVCENAME

20.測試節點的附接

db2 attach to node_name

21.察看本地節點

db2 list node direcotry

22.節點反編目

db2 uncatalog node node_name

23.資料庫編目

db2 catalog db db_name as db_alias at node node_name

24.察看資料庫的編目

db2 list db directory

25.串連資料庫

db2 connect to db_alias user user_name using user_password

26.資料庫反編目

db2 uncatalog db db_alias

27.匯出資料

db2 export to myfile of ixf messages msg select * from tb1

28.匯入資料

db2 import from myfile of ixf messages msg replace into tb1

29.匯出資料庫的所有表資料

db2move test export

30.產生資料庫的定義

db2look -d db_alias -a -e -m -l -x -f -o db2look.sql

31.建立資料庫

db2 create db test1

32.組建定義

db2 -tvf db2look.sql

33.匯入資料庫所有的資料

db2move db_alias import

34.重組檢查

db2 reorgchk

35.重組表tb1

db2 reorg table tb1

36.更新統計資料

db2 runstats on table tb1

37.備份資料庫test

db2 backup db test

38.恢複資料庫test

db2 restore db test

399/.列出容器的資訊

db2 list tablespace containers for tbs_id show detail

40.建立表:

db2 ceate table tb1(id integer not null,name char(10))

41.列出所有表

db2 list tables

42.插入資料:

db2 insert into tb1 values(1,’sam’);

db2 insert into tb2 values(2,’smitty’);

. 建立資料庫DB2_GCB

CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB

USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32

2. 串連資料庫

connect to sample1 user db2admin using 8301206

3. 建立別名

create alias db2admin.tables for sysstat.tables;

CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS

create alias db2admin.columns for syscat.columns;

create alias guest.columns for syscat.columns;

4. 建立表

create table zjt_tables as

(select * from tables) definition only;

create table zjt_views as

(select * from views) definition only;

5. 插入記錄

insert into zjt_tables select * from tables;

insert into zjt_views select * from views;

6. 建立視圖

create view V_zjt_tables as select tabschema,tabname from zjt_tables;

7. 建立觸發器

CREATE TRIGGER zjt_tables_del

AFTER DELETE ON zjt_tables

REFERENCING OLD AS O

FOR EACH ROW MODE DB2SQL

Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))

8. 建立唯一性索引

CREATE UNIQUE INDEX I_ztables_tabname

[size=3]ON zjt_tables(tabname);

9. 查看錶

select tabname from tables

where tabname='ZJT_TABLES';

10. 查看列

select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 類型,LENGTH as 長度

from columns

where tabname='ZJT_TABLES';

11. 查看錶結構

db2 describe table user1.department

db2 describe select * from user.tables

12. 查看錶的索引

db2 describe indexes for table user1.department

13. 查看視圖

select viewname from views

where viewname='V_ZJT_TABLES';

14. 查看索引

select indname from indexes

where indname='I_ZTABLES_TABNAME';

15. 查看存貯過程

SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)

FROM SYSCAT.PROCEDURES;

16. 類型轉換(cast)

ip datatype:varchar

select cast(ip as integer)+50 from log_comm_failed

17. 重新串連

connect reset

18. 中斷資料庫連接

disconnect db2_gcb

19. view application

LIST APPLICATION;

20. kill application

FORCE APPLICATION(0);

db2 force applications all (強迫所有應用程式從資料庫斷開)

21. lock table

lock table test in exclusive mode

22. 共用

lock table test in share mode

23. 顯示目前使用者所有表

list tables

24. 列出所有的系統資料表

list tables for system

25. 顯示當前活動資料庫

list active databases

26. 查看命令選項

list command options

27. 系統資料庫目錄

LIST DATABASE DIRECTORY

28. 資料表空間

list tablespaces

29. 資料表空間容器

LIST TABLESPACE CONTAINERS FOR

Example: LIST TABLESPACE CONTAINERS FOR 1

30. 顯示使用者資料庫的存取許可權

GET AUTHORIZATIONS

31. 啟動執行個體

DB2START

32. 停止執行個體

db2stop

33. 表或視圖特權

grant select,delete,insert,update on tables to user

grant all on tables to user WITH GRANT OPTION

34. 程式包特權

GRANT EXECUTE

ON PACKAGE PACKAGE-name

TO PUBLIC

35. 模式特權

GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER

36. 資料庫特權

grant connect,createtab,dbadm on database to user

37. 索引特權

grant control on index index-name to user

38. 資訊協助 (? XXXnnnnn )

例:? SQL30081

39. SQL 協助(說明 SQL 陳述式的文法)

help statement

例如,help SELECT

40. SQLSTATE 協助(說明 SQL 的狀態和類別代碼)

? sqlstate 或 ? class-code

41. 更改與"管理伺服器"相關的口令

db2admin setid username password

42. 建立 SAMPLE 資料庫

db2sampl

db2sampl F:(指定安裝盤)

43. 使用作業系統命令

! dir

44. 轉換資料類型 (cast)

SELECT EMPNO, CAST(RESUME AS VARCHAR(370))

FROM EMP_RESUME

WHERE RESUME_FORMAT = 'ascii'

45. UDF

要運行 DB2 Java 預存程序或 UDF,還需要補救伺服器上的 DB2 資料庫管理程式配置,以包括在該機器上安裝 JDK 的路徑

db2 update dbm cfg using JDK11_PATH d:sqllibjavajdk

TERMINATE

update dbm cfg using SPM_NAME sample

46. 檢查 DB2 資料庫管理程式配置

db2 get dbm cfg

47. 檢索具有特權的所有授權名

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH

UNION

SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH

ORDER BY GRANTEE, GRANTEETYPE, 3

create table yhdab

(id varchar(10),

password varchar(10),

ywlx varchar(10),

kh varchar(10));

create table ywlbb

(ywlbbh varchar(8),

ywmc varchar(60))

48. 修改表結構

alter table yhdab ALTER kh SET DATA TYPE varchar(13);

alter table yhdab ALTER ID SET DATA TYPE varchar(13);

alter table lst_bsi alter bsi_money set data type int;

insert into yhdab values

('20000300001','123456','user01','20000300001'),

('20000300002','123456','user02','20000300002');

49. 業務類型說明

insert into ywlbb values

('user01','業務申請'),

('user02','業務撤消'),

('user03','費用查詢'),

('user04','費用自繳'),

('user05','費用預存'),

('user06','密碼修改'),

('user07','發票列印'),

('gl01','改使用者基本資料'),

('gl02','更改支付資訊'),

('gl03','日統計功能'),

('gl04','沖帳功能'),

('gl05','對帳功能'),

('gl06','計費功能'),

('gl07','綜合統計')

備份資料庫:
CONNECT TO EXOA;
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
CONNECT RESET;
BACKUP DATABASE EXOA TO "/home/exoa2/db2bak/" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;
CONNECT TO EXOA;
UNQUIESCE DATABASE;
CONNECT RESET;

以下是小弟在使用db2move中的一些經驗,希望對大家有所協助。

db2     connect     to    YOURDB   
串連資料庫

db2look -d    YOURDB    -a -e -x -o creatab.sql
匯出建庫表的SQL

db2move     YOURDB    export
用db2move將資料備份出來

vi     creatab.sql
如要匯入的資料庫名與原資料庫不同,要修改creatab.sql中CONNECT 項
如相同則不用更改

db2move    NEWDB    load
將資料匯入新庫中

在匯入中可能因為種種原因發生中斷,會使資料庫暫掛
db2      list tablespaces     show     detail
如:
        詳細說明:
       裝入暫掛
總頁數                            = 1652
可用頁數                          = 1652
已用頁數                           = 1652
空閑頁數                           = 不適用
高水位標記(頁)                   = 不適用
頁大小(位元組)                     = 4096
盤區大小(頁)                     = 32
預讀取大小(頁)                   = 32
容器數                             = 1
狀態更改資料表空間標識                      = 2
狀態更改對象標識                        = 59

db2 select tabname,tableid from syscat.tables where tableid=59
查看是哪張表掛起

表名知道後到db2move.lst(在db2move    YOURDB    export的目錄中)中找到相應的.ixf檔案
db2 load from tab11.ixf of ixf terminate into db2admin.xxxxxxxxx
tab11.ixf對應的是xxxxxxxxx表

資料庫會恢複正常,可再用db2 list tablespaces show detail查看

30.不能通過GRANT授權的許可權有哪種?

SYSAM

SYSCTRL

SYSMAINT

要更該述許可權必須修改資料庫管理員配置參數

31.表的類型有哪些?

永久表(基表)

暫存資料表(說明表)

暫存資料表(派生表)

32.如何知道一個使用者有多少表?

SELECT*FROMSYSIBM.SYSTABLESWHERECREATOR='USER'

33.如何知道使用者下的函數?

select*fromIWH.USERFUNCTION

select*fromsysibm.SYSFUNCTIONS

34.如何知道使用者下的VIEW數?

select*fromsysibm.sysviewsWHERECREATOR='USER'

35.如何知道當前DB2的版本?

select*fromsysibm.sysvERSIONS

36.如何知道使用者下的TRIGGER數?

select*fromsysibm.SYSTRIGGERSWHERESCHEMA='USER'

37.如何知道TABLESPACE的狀況?

select*fromsysibm.SYSTABLESPACES

38.如何知道SEQUENCE的狀況?

select*fromsysibm.SYSSEQUENCES

39.如何知道SCHEMA的狀況?

select*fromsysibm.SYSSCHEMATA

40.如何知道INDEX的狀況?

select*fromsysibm.SYSINDEXES

41.如何知道表的欄位的狀況?

select*fromsysibm.SYSCOLUMNSWHERETBNAME='AAAA'

42.如何知道DB2的資料類型?

select*fromsysibm.SYSDATATYPES

43.如何知道BUFFERPOOLS狀況?

select*fromsysibm.SYSBUFFERPOOLS

44.DB2表的欄位的修改限制?

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

45.如何查看錶的結構?

DESCRIBLETABLETABLE_NAME

OR

DESCRIBLESELECT*FROMSCHEMA.TABLE_NAME

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.