linux執行db2sql腳本
DB2資料庫命令簡介
1.啟動資料庫
DB2start
2.停止資料庫
DB2stop
DB2資料庫在linux相關指令之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:
DB2資料庫在linux相關指令之11.綁定存儲過程
DB2 connect to o_yd user DB2 using pwd
DB2 bind c:dfplus.bnd
拷貝存儲過程到伺服器上的C:sqllibfunction目錄中
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:sqllibmisc目錄中
DB2 connect to o_yd user DB2 using pwd
DB2look -d o_yd -u DB2 -e -p -c c:o_yd.txt
DB2資料庫在linux相關指令之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
B. linuxdb2鍛戒護琛屾墽琛屽煎嚭鏌ヨ㈢粨鏋渓inuxdb2鍛戒護
db2鏃犳硶榪炴帴鏁版嵁搴擄紵
1.鐪嬬湅絝鍙e彿鏈夋病鏈夐厤緗姝g『錛岀湅涓涓嬮厤緗鍙傛暟svcename璺焥ervices鏂囦歡涓閰嶇疆鐨刣b2絝鍙e彿鏄鍚︿竴鑷達紝windows涓鑸鐢50000錛寀nix/linux涓鑸鐢60000
2.榪炴帴鍑洪敊棣栧厛鐪嬬湅鏈嶅姟鍣╥p鍜岀鍙e啓瀵規病鏈
ip濡傛灉娌¢敊灝辮佺湅鐪嬫湇鍔″櫒鐨刣b2鏈嶅姟絝鍙e逛笉瀵廣傚彟澶栧逛簬鏈嶅姟鍣ㄤ笅闈㈣繖浜涗篃瑕佹敞鎰
媯鏌ユ湇鍔″櫒鐨勯厤緗鎯呭喌濡備笅錛
楠岃瘉瀛樺湪鐨凞B2鏁版嵁搴
db2listdbdirectory
db2listdbdirectoryshowdetail
楠岃瘉瀹炰緥浣跨敤鐨勯氳鍗忚錛屾煡鐪婦B2COMM鍙橀噺
db2set-all
鏌ョ湅鏁版嵁搴撶$悊鍣ㄧ殑閰嶇疆錛屾煡鐪婼VCENAME錛堢壒鎸噒cpip鍗忚錛
db2getdbmcfg
鏌ョ湅/etc/services涓錛屾湁鏃犱笌涓婇潰瀵瑰簲SVCENAME鐨勭鍙o紝渚嬪傦細
db2cDB250000/tcp
瑕佺『璁ゆ湇鍔″櫒鏄鍚﹀湪鐩戝惉錛屽彲浠ョ敤netstat-an鏉ユ煡鐪嬬鍙f槸鍚﹀勪簬LISTEN鐘舵併
鎬庝箞鏌ョ湅DB2鐨勫悗鍙拌繘紼嬶紵鎬庝箞鐪嬬郴緇熷垎閰嶇粰鏁版嵁搴撶殑瑁歌懼囷紵
1.unix/linuxls-al|grepdb2
2.濡傛灉浠巐v鐨勫悕瀛椾笂鐪嬩笉鍑烘潵灝辮繛涓婃暟鎹搴擄紝鐒跺悗鐪嬭〃絀洪棿瀹瑰櫒鍚
銆愭ャ戝備綍瀵煎嚭鏈嶅姟鍣ㄤ笂鐨刣b2鏁版嵁搴擄紝鏄瀵煎嚭鏁翠釜鏁版嵁搴擄紝鍖呮嫭琛ㄧ粨鏋勮〃絀洪棿錛屾暟鎹絳夛紵
涓嶇敤錛屽彲浠ヨ繙紼嬭繛鎺ュ埌鏈嶅姟鍣錛寃indows緋葷粺鍙浠ラ氳繃榪滅▼榪炴帴錛宭inux/unix緋葷粺鍙浠ラ氳繃ssh/telnet榪炴帴錛屽湪鏈嶅姟鍣ㄤ笂鐢╠b2connectto鏁版嵁搴撳悕榪炴帴鏁版嵁搴擄紝鐒跺悗閫氳繃db2look-d鏁版嵁搴撳悕-e-a-c-o瀵煎嚭鏂囦歡鍚.sql-i鐢ㄦ埛鍚-w瀵嗙爜瀵煎嚭緇撴瀯錛岄氳繃db2move鏁版嵁搴撳悕export-u鐢ㄦ埛鍚-p瀵嗙爜瀵煎嚭鏁版嵁錛
鍦ㄦ湰鍦板煎叆鍓嶅厛connect鏁版嵁搴擄紝鐒跺悗db2-td;-cf瀵煎嚭鏂囦歡鍚.sql鍦ㄦ湰鍦版牴鎹璇ユ枃浠秙ql寤虹珛鏁版嵁緇撴瀯錛屼箣鍚庣敤db2move鏁版嵁搴撳悕load-u鐢ㄦ埛鍚-p瀵嗙爜瀵煎叆鏁版嵁
濡備綍鏌ョ湅db2涓鍒涘緩鎴愬姛鐨勫瓨鍌ㄨ繃紼嬶紵
瀛樺偍榪囩▼錛歴p_xx.鏌ョ湅瀛樺偍linux錛歞b2"select*fromsyscat.PROCEDURES|grep-isp_xx"window:db2"select*fromsyscat.PROCEDURES|find/i"sp_xx""
C. linux怎麼裝db2資料庫伺服器(linux連接db2資料庫命令)
一、安裝前准備工作:
1、對於Linux系統,至ibm網站下載軟體包
2、Linux內核設置:編輯/etc/sysctl.conf文件
3、創建相應用戶以及組:
4、創建相應毀宴明目錄用於存放db2的數據文件以及日誌文件:
這里在根下面創建一個db2總目錄,然後創建了一個15G大小的邏輯卷掛載/db2下面,然後在其下面創建相應的文件夾。
database目錄存放資料庫實例
db2log1存放db2的主日誌文件
db2log2存放鏡像日誌文件
db2temp存放db2臨時表空間
db2用戶的家目錄的位置
二、安裝過程:
安裝可以使用root用戶安裝也可以使用非root用戶安裝,這里就直接使用root用戶安裝了。
以root身份執行db2setup,會彈出以下畫面:
這里選擇安裝企業版,點擊installnew:
下一步之後,就出現創建用戶的畫面:
最後點擊finish開始安裝過程。
三、創建資料庫:
如果在安裝過程中,沒有創建資料庫,則後續可以使用db2命令創建資料庫。這是一個基於圖形界面的管理工具,使用起來也非常方便。執行db2後,會彈出以下畫面:
點擊祥陪右側的CreateNewDatabase,創建資料庫:
指定資料庫名稱以及存放位置,選中LetDB2managemystorage,下一步:
點擊finish開始創建。默認db2會創建以下三個表空間:
(1)、catalogtablespace用於存放catalog表。
(2)、usertablespace存放所有表和索引數據。
(3)、temporarytablespace臨時數據的存放位置。
創建完成後,會看到如下畫面:
此時還沒有連接到xzxjdb1上,點擊右側的connect進行連接。連接之後,會看到右側多了好多信息:纖告
使用命令行查看當前資料庫中表空間信息:
四、DB2的簡單管理:
1、查看錶空間信息:
2、查看錶信息:
3、查看當前實例下的所有資料庫信息:
4、停止資料庫:
5、啟動資料庫:
6、設置實例自動啟動:
D. linux系統下 重啟db2資料庫
我用的CentOS系統,內核是Linux。 進入圖形界面後,在桌面上右鍵點擊「創建新終端」
1.在命令行界面中用如下語句切換到db2inst1賬戶中:
su - db2inst1
注意,命令要小寫,中間的減號是半形的。其中db2inst1賬戶(同時也是實例、進程)是在安裝DB2過程中創建的一個默認賬戶,相當於Windows中的那個DB2實例,要想執行各種db2的命令,需要在這個賬戶下操作;
2.在該賬戶下,可以打開控制中心,也可以進入到命令行處理器。進入命令行處理器的方法很簡單,直接用db2命令,然後回車即可;
3.打開控制中心稍微有點麻煩,需要在桌面上另外打開一個命令行窗口,在其中輸入:
xhost local:db2
然後在db2inst1賬戶所在的窗口中,輸入命令:
db2cc &
就可以打開控制中心。
4.現在可以查看當前實例
db2ilist
如果需要創建表,則需要打開資料庫管理服務,輸入命令:
su - db2inst1
db2start //啟動db2工作實例
db2stop //停止db2實例
db2set -all //查看db2所有注冊表變數
在變數列表中有一個db2管理用戶:DB2ADMINSERVER=XXXXX
只有切換到管理用戶才可以創建表 su - XXXXX
然後,輸入命令: db2admin start 啟動管理實例
說明:
在Linux環境下,一個用戶對應一個實例,創建資料庫必須在實例下創建,因此切換到用戶即可切換到實例。命令如下:
su - db2inst1
db2 get instance
E. 請教高手:DB2 SQL腳本批量執行如何保存日誌問題
可以在命令編輯器或者Windows 的DB2 命令窗口或者 Linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但我們建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。
F. 怎樣使用命令行執行DB2的SQL
一、准備工作
運行db2cmd或者db2cw打開DB2命令行處理器
進入SQL腳本存放目錄
用db2 connect to <dbname> user <username> using <password> 命令連接資料庫
用db2 set current schema <schema_name> 設置當前的SCHEMA,這個SCHEMA可以是未創建的,DB2會自動創建。
二、執行不同類型的SQL
1、在命令行執行簡單SQL命令
db2 <SQL語句內容>
2、在命令行執行SQL腳本文件
db2 -td; -cf <SQL腳本文件路徑> -l <輸出日誌文件路徑>
說明:-td; 指定語句結束標志。因為一般SQL都是以分號結尾,所以就寫成「-td;」。
-l <輸出日誌文件路徑> 是可選的。
3、在命令行執行DB2 存儲過程文件
db2 -td@ -f <SQL過程文件路徑> -l <輸出日誌文件路徑>
說明:-td@ 指定語句結束標志。因為一般SQL過程都是以@結尾,所以就寫成「-td@」。
-l <輸出日誌文件路徑> 是可選的。