db2 命令使用集合


 在DB2的開發過程當中,貫穿整個開發過程還有很重要的一部分工做就是數據庫的維護;對於維護一個龐大信息系統來講是很是必要的;留一份簡易的維護手冊,以備不時之需;如下收集到的部分維護命令,以饗咱們的維護工程師和項目經理。
 
*************************************************
*     update: 2006-06-14
*     memo: 詳細命令請使用"db2 ? <command>"進行查看。 
*************************************************
命令db2 get instance 是得到當前所在的實例,set db2instance=instance_name是把當前實例變爲instance_name.
 
1.關閉db2
 
db2stop 或db2stop force。

 
在腳本中通常兩個都寫上,避免使用db2stop force命令,如:
 
db2stop
db2stop force
23. 將暫掛的數據恢復到前滾狀態
 
db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE

 
24.備份表空間
 
BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 )
TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING

 
25.建立db2工具數據庫
 
db2 create tools catalog systools create new database toolsdb

 
26.如何進行增量/差量備份
增量:上一次完整備份至本次備份之間增長的數據部分;
差量(delta):上次備份以來(多是完整備份、增量備份或者差量備份)至本次備份之間增長的數據部分;
27.更新全部表的統計信息
 
db2 -v connect to DB_NAME
db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"
db2 -v reorgchkupdate statistics on table all
db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"
db2 -v terminate

 
28.對一張表運行統計信息
 
db2 -v runstatson table TAB_NAMEand indexes all

 
29.查看是否對數據庫執行了RUNSTATS
 
db2 -v "select tbname, nleaf, nlevels,
stats_timefrom sysibm.sysindexes"

 
30.更改緩衝池的大小
緩衝池中,當syscat.bufferpools的npages是-1時,由數據庫的配置參數bufferpage控制緩衝池的大小。
將npages的值更改成-1的命令:
 
db2 -v connect to DB_NAME
db2 -v select * from syscat.bufferpools
db2 -v alter bufferpoolIBMDEFAULTBP size -1
db2 -v connect reset
db2 -v terminate

 
更改數據庫配置參數BufferPages的命令以下:
 
db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value
db2 -v terminate

 
31.查看數據庫監視內容列表
 
db2 -v get monitor switches

 
32.打開某個數據庫監視內容
 
db2 -v update monitor switches using bufferpoolon

 
33.獲取數據庫快照
 
db2 -v get snapshot for all databases > snap.out
db2 -v get snapshot for dbm>> snap.out
db2 -v get snapshot for all bufferpools>> snap.out
db2 -v terminate

 
2.啓動db2
 
db2start

 
3.建立數據庫
 
db2 create db <db name>或db2 create db using codeset GBK 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     <表名,多個之間用逗號分隔>]

 
11.導入數據文件
 
db2move <db name> import

 
12.列出數據庫中全部db
 
db2 list db directory

 
13.進入db2命令環境
 
在「運行」中執行:db2cmd
14.獲取db2數據庫管理配置環境信息
 
db2 get dbm cfg

 
15.獲取db2某個數據庫數據庫管理配置環境信息
 
db2 get db cfg for <db name>
或者:鏈接至某個數據庫之後執行db2 get db cfg。

 
16.設置聯合數據庫爲可用(默認聯合數據庫不可用)
 
db2 update dbm cfg using federated yes

 
17.更改db2日誌空間的大小
備註:如下命令爲了防止db2數據庫過份使用硬盤空間而設,僅用於開發者本身機器上的db2,若是是服務器,則參數須要修改。
 
db2 UPDATE DB CFG FOR <db name> USING logretain OFF
logprimary 3 logsecond 2 logfilsiz 25600;

 
若是頁大小是4KB,則以上命令建立3個100M的日誌文件,佔用300MB硬盤空間。25600*4KB=102400KB。
18.建立臨時表空間
 
DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K
MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256

 
19.獲取數據庫管理器的快照數據
 
db2 –v get snapshot for dbm

 
20.顯示進行程號
 
db2 list applications show detail

 
21.調查錯誤
 
sqlcode:產品特定錯誤碼;
sqlstate:DB2系列產品的公共錯誤碼,符合ISO/ANSI 92SQL標準。
調查sqlcode : db2 ? sql1403n
調查sqlstate: db2 ? 08004

 
22.建立表空間
 
rem 建立緩衝池空間 8K
db2 connect to gather
db2 CREATE BUFFERPOOL STMABMP IMMEDIATE     SIZE 25000 PAGESIZE 8K
rem 建立表空間:STMA
rem 必須確認路徑正確
rem D:\DB2Container\Stma
db2 drop tablespace stma
db2 CREATE
     REGULAR TABLESPACE STMA PAGESIZE 8 K
     MANAGED BY SYSTEM
     USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8
     OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL
     STMABMP
     DROPPED TABLE RECOVERY OFF
db2 connect reset
34.重置數據庫快照
 
db2 -v reset monitor all

 
35.計算緩衝池命中率
理想狀況下緩衝池命中率在95%以上,計算公式以下:
 
(1 -((buffer pool data physical reads + buffer pool index physical reads)
/(buffer pool data logical reads + pool index logical reads))) *100%

 
36.建立db2實例
 
db2icrt <實例名稱>

 
37.刪除db2實例
 
db2idrop <實例名稱>

 
38.設置當前db2實例
 
set db2intance=db2

 
39.顯示db2擁有的實例
 
db2ilist

 
40.恢復離線增量備份數據庫的命令
 
DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM
D:\backup\autobak\db2 TAKEN AT 20060314232015

 
41.建立樣本數據庫
在unix平臺,使用:
 
sqllib/bin/db2sampl <path>

 
在windows,os/2平臺,使用:db2sampl e,e是可選參數,指定將建立數據庫的驅動器;
42.列出數據庫中全部的表
 
db2 list tables

 
43.列出某個表的數據結構
 
db2 describe table v_ro_role

 
44.給表增長列
 
ALTER TABLE STAFF    
ADD COLUMN PNHONE VARCHAR(20)

 
45.數據遷移方法1
export腳本示例
 
db2 connect to testdb user test password test
db2 "export to aa1.ixf of ixf select * from table1"
db2 "export to aa2.ixf of ixf select * from table2"
db2 connect reset

 
import腳本示例
 
db2 connect to testdb user test password test
db2 "load from aa1.ixf of ixf     replace into table1     COPY NO     without prompting "
db2 "load from aa2.ixf of ixf     replace into table2     COPY NO     without prompting "
db2 connect reset

本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/guopengzhang/archive/2009/11/06/4774692.aspx
相關文章
相關標籤/搜索