DB2初級使用-常用命令

db2start啓動具體的數據庫實例。   
db2admin   start啓動管理服務器(DAS)。

點開始菜單,選擇運行
輸入db2cc ,或者db2cmd
就可以啓動控制檯了,。
輸入db2cw就是命令行
在命令行輸入db2start啓動數據庫,db2stop 停止數據庫

輸入 db2systray 可以把你推出的圖標重新啓動出來。

create tablespace ::

The CREATE TABLESPACE statement defines a new table space within the database, assigns containers to the table space, and records the table space definition and attributes in the catalog.

eg1:
CREATE TABLESPACE TS1 MANAGED BY DATABASE USING (file'd:/aa' 200m)  DMS
CREATE TABLESPACE TS2 MANAGED BY SYSTEM USING ('d:/bb') SMS



0.進入db2命令環境
db2cmd

1.啓動db2
db2start;

2.關閉db2
db2stop;
db2stop force;

3.創建數據庫
db2 create db <db name>;
db2 create db <db name> using codeset GBK territory CN;
db2 Create database <db name> using codeset IBM-eucCN territory CN;
這樣可以支持中文。

4.刪除數據庫(執行此操作要小心)
db2 drop db <db name>

如果不能刪除,斷開所有數據庫連接或者重啓db2。

5.斷開數據庫連接
db2 force application all

6.連接數據庫
db2 connect to <db name> user <username> using <password>

7.斷開數據庫連接
斷開當前數據庫連接:db2 connect reset
或者:db2 disconnect current
斷開所有數據庫的連接:db2 disconnect all

8.備份數據庫
db2 backup db <db name>

備註:執行以上命令之前需要斷開數據庫連接

9.恢復數據庫
db2 restore db <source db name>

10.導出數據文件
db2move <db name> export [-sn <模式名稱,一般爲db2admin>] [-tn <表名,多個之間用逗號分隔>];
更多時候用下面這種方式:
db2 export to test.ixf of ixf select * from <tablename>

11.導入數據文件
db2move <db name> import
db2 import from text.ixf of ixf create into <tablename>;(表不存在)
db2 import from text.ixf of ixf insert into <tablename>;(表已經存在)

db2 load from text.ixf of ixf insert into <tablename>;(不寫日誌)

12.建立映像:

db2 catalog tcpip node nodename remote 10.0.2.3 server 50000
db2 catalog db dbname at node nodename

13.撤銷映像:
db2 uncatalog db dbname

14.列出數據庫中所有db:
db2 list db directory

列出數據庫中的數據表:

list tables; 只顯示錶格的模式名稱(所屬的包)與連接到數據庫的用戶名相同的表。

模式含義:
模式是用於數據庫中創建的數據庫對象的高級限定符。它是數據庫對象的集合,這些對象有表、視圖、索引或觸發器等等。
它對數據庫對象進行了邏輯分類。當您將數據組織成表時,將表和其它相關對象組合在一起可能也很有好處。
eg. 比如一個表,用戶A的表table1表示爲A.table1,A就是模式,同理,用戶B也可以有一個表table1.表示爲B.table1。
雖然這兩個表名一樣,但由於模式不一樣,DB2認爲是兩個對象。

這可以通過使用 create schema 命令定義模式來完成。有關模式的信息保存在您所連接的數據庫的系統目錄表中。當創建其它對象時,可以將它們放置在該模式內。



15.獲取建表腳本:

db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql
-d: 數據庫名:這必須指定
-e: 抽取複製數據庫所需要的 DDL 文件
-u: 創建程序標識:若 -u 和 -a 都未指定,則將使用 $USER
-z: 模式名:如果同時指定了 -z 和 -a,則將忽略 -z
-t: 生成指定表的統計信息
-h: 更詳細的幫助消息
-o: 將輸出重定向到給定的文件名
-a: 爲所有創建程序生成統計信息
-m: 在模擬方式下運行 db2look 實用程序
-c: 不要生成模擬的 COMMIT 語句
-r: 不要生成模擬的 RUNSTATS 語句
-l: 生成數據庫佈局:數據庫分區組、緩衝池和表空間。
-x: 生成排除對象的原始定義器的“授權”語句 DDL
-xd: 生成包括對象的原始定義器的“授權”語句 DDL
-f: 抽取配置參數和環境變量
-td: 將 x 指定爲語句定界符(缺省定界符爲分號(;))
-p: 使用簡單文本格式
-s: 生成 postscript 文件
-g: 使用圖形來顯示索引的頁取裝對
-i: 登錄到數據庫駐留的服務器時所使用的用戶標識
-w: 登錄到數據庫駐留的服務器時所使用的密碼
-noview: 不要生成 CREATE VIEW ddl 語句
-wrapper: 爲適用於此包裝器的聯合對象生成 DDL
-server: 爲適用於此服務器的聯合對象生成 DDL
-nofed: 不要生成 Federated DDL
-fd: 爲 opt_buffpage 和 opt_sortheap 以及其它配置和環境參數生成 db2fopt語句。

16.查看建視圖腳本:
db2 select text from syscat.views where viewname='viewname'

17.導出全部存儲過程:
db2 select char(routineschema,20), char(routinename,20), text from syscat.routines > tmp.sql
db2 get routine into f:/tmp.sql from PROCEDURE procedurename(導出某個存儲過程)

18. 創建db2實例:
db2icrt <實例名稱>

19.刪除db2實例:
db2idrop <實例名稱>

20.設置當前db2實例:
set db2intance=db2

21.顯示db2擁有的實例:
db2ilist

22.查看當前連接數據庫:
db2 connect

23.db2命令環境設置
db2 list command options(查看命令環境)
db2 update command options using <option> on <路徑>;(只是臨時改變)
db2set <變量>=<值>,永久改變
db2set -? 顯示命令幫助消息

24.編譯和調用存儲過程

db2 -td@ -vf procedurefilename.db2 編譯存儲過程

db2 call procedrename 調用存儲過程


25. 讀數據庫管理程序配置:
db2 get dbm cfg

26.寫數據庫管理程序配置:
 db2 update dbm cfg using 參數名 參數值

27.
讀數據庫配置:
db2 get db cfg for database
  查看實例配置參數: db2 get dbm cfg

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

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

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



指定 LIST TABLESPACES 命令的 SHOW DETAIL 選項將顯示其它信息:

LIST TABLESPACES
LIST TABLESPACES SHOW DETAIL

29. 要列出容器,我們需要使用以上輸出中的 Tablespace ID:

LIST TABLESPACE CONTAINERS FOR 2

30 . 顯示錶結構:
DESCRIBE   TABLE   tablename;  
31. 執行某腳本文件 
db2 -tvsf xx.sql //對於代參數"s" 的,如果xx.sql中,存在錯誤,就立即停止執行以下腳本。
db2 -tvf xx.sql //對於不帶 參數"s"的,如果 xx.sql中,存在錯誤,也繼續執行。
// 對於此行代碼 ,如果沒有註釋掉,並且先前沒有生成
table cmis.eipfleger,則利用:
db2 -tvsf xx.sql執行時,就要報錯。
--drop table cmis.eipfleger;
create table cmis.eipfleger(
org_id varchar(8) NOT NULL ,
currency varchar(12) Not Null,
bddate DATE not null ,
subject varchar(12) not null,
sum varchar(12),
cmisstat char(10),
primary key(org_id, currency,bddate,subject))
in dataspace index in indexspace;
~

32.

  set schema =

33.導出表數據
     db2 export to c:/dftz.txt of del select * from dftz
     db2 export to c:/dftz.ixf of ixf select * from dftz
34.導入表數據
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)

35.執行一個批處理文件
       db2 –tf 批處理文件名
      (文件中每一條命令用 ;結束)
36.自動生成批處理文件
     建文本文件:temp.sql
   select 'runstats on table DB2.' || tabname || ' with distribution and  detailed indexes all&#59;' from syscat.tables where tabschema='DB2' and type='T'&#59;
db2 –tf temp.sql>;runstats.sql
37.自動生成建表(視圖)語句
在服務器上: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

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