❶ 為什麼我使用DB2在命令窗口中輸入db2icrt slab1,它說 必須在命令窗口中以完整管理特權運行才能啟動此命令
用Administrator試試
❷ 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
❸ DB2怎麼啟動資料庫
1、 打開命令行窗口
#db2cmd
2、 打開控制中心
# db2cmd db2cc
3、 打開命令編輯器
db2cmd db2ce
=====操作資料庫命令=====
4、 啟動資料庫實例
#db2start
5、 停止資料庫實例
#db2stop
如果你不能停止資料庫由於激活的連接,在運行db2stop前執行db2
force application all就可以了 /db2stop force
6、 創建資料庫
#db2 create db
[dbname]
7、 連接到資料庫
#db2 connect to [dbname] user [username] using
[password]
8、 斷開資料庫連接
#db2 connect reset
9、 列出所有資料庫
#db2 list
db directory
10、 列出所有激活的資料庫
#db2 list active databases
11、
列出所有資料庫配置
#db2 get db cfg
12、 刪除資料庫
#db2 drop database [dbname]
(執行此操作要小心)
如果不能刪除,斷開所有資料庫連接或者重啟db2
=========操作數據表命令==========
13、 列出所有用戶表
#db2 list tables
14、列出所有系統表
#db2 list tables for
system
15、列出所有表
#db2 list tables for all
16、 列出系統表
#db2 list
tables for system
17、列出用戶表
#db2 list tables for user
18、 列出特定用戶表
#db2 list tables for schema [user]
19、 創建一個與資料庫中某個表(t2)結構相同的新表(t1)
#db2 create table t1 like t2
20、 將一個表t1的數據導入到另一個表t2
#db2 "insert
into t1 select * from t2"
21、 查詢表
#db2 "select * from table name where
..."
22、 顯示表結構
#db2 describe table tablename
23、 修改列
#db2
alter table [tablename] alter column [columname] set data type varchar(24)
======腳本文件操作命令=======
24、 執行腳本文件
#db2 -tvf scripts.sql
25、幫助命令
* 查看命令幫助
#db2 ? db2start
* 查看錯誤碼信息
#db2 ? 22001
* memo:
詳細命令請使用"db2 ? <command>"進行查看。
=========================
26、備份資料庫
#db2 backup db <db name>
備註:執行以上命令之前需要斷開資料庫連接
27、在線備份資料庫
#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2
BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢復資料庫
#db2
restore db <source db name>
29、在線恢復資料庫
#db2 "RESTORE DB
<database name> TO <db path> LOGTARGET <logpath> WITHOUT
PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND
STOP" ...
30、導出數據文件
#db2move <db name> export
[-sn
<模式名稱,一般為db2admin>]
[-tn <表名,多個之間用逗號分隔>]
31、導入數據文件
#db2move <db name> import
32、獲取db2資料庫管理配置環境信息
#db2 get dbm cfg
33、.獲取db2某個資料庫資料庫管理配置環境信息
#db2 get db cfg for <db name>
或者:連接至某個資料庫以後執行db2 get db cfg
34、更改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。
35、創建臨時表空間
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY
DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256
36、獲取資料庫管理器的快照數據
#db2 –v get snapshot for dbm
37、顯示進行程號
#db2
list applications show detail
===================================================
一、載入數據:
1、
以默認分隔符載入,默認為「,」號
db2 "import from btpoper.txt of del insert into btpoper"
2、 以指定分隔符「|」載入
db2 "import from btpoper.txt of del modified by coldel|
insert into btpoper"
二、卸載數據:
1、 卸載一個表中全部數據
db2 "export to
btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del
modified by coldel| select * from btpoper"
2、 帶條件卸載一個表中數據
db2 "export to
btpoper.txt of del select * from btpoper where brhid='907020000'"
db2
"export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2
"export to cmmcode.txt of del modified by coldel| select * from cmmcode where
codtp='01'"
三、查詢數據結構及數據:
db2 "select * from btpoper"
db2 "select *
from btpoper where brhid='907020000' and oprid='0001'"
db2 "select
oprid,oprnm,brhid,passwd from btpoper"
四、刪除表中數據:
db2 "delete from
btpoper"
db2 "delete from btpoper where brhid='907020000' or
brhid='907010000'"
五、修改表中數據:
db2 "update svmmst set prtlines=0 where
brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where
jobtp='02' or jobtp='03'"
六、聯接資料庫
db2 connect to btpdbs
七、清除資料庫聯接
db2 connect reset 斷開資料庫連接
db2 terminate 斷開資料庫連接
db2 force
applications all 斷開所有資料庫連接
八、備份資料庫
1、 db2 backup db btpdbs
2、
db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢復資料庫
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql
crtdb.sql文件內容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2幫助命令:
db2 ?
db2 ? restroe
db2 ?
sqlcode (例:db2 ? sql0803) 註:code必須為4位數,不夠4位,前面補0
十一、bind命令:將應用程序與資料庫作一捆綁,每次恢復資料庫後,建議都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看資料庫參數:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改資料庫參數:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2
update db cfg for btpdbs using LOGFILSIZ 5120
改完後,應執行以下命令使其生效:
db2 stop
db2 start
❹ 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
❺ 如何啟動db2實例
運行db2start命令就可以啟動db2實例。
如果你的機器上有多個DB2的實例,可以通過環境變數DB2INSTANCE指定當前需要操作的實例。(如實例名是
DB2)
=>
set
DB2INSTANCE=DB2
=>
db2start
可以通過命令db2ilist
顯示所有的DB2實例。
C:\SQLLIB95\BIN>db2ilist
DB2_02
❻ linux 怎麼啟動db2
在 Linux 上啟動 DB2 方法:
以下過程描述了如何在 Linux® 上啟動 DB2® 控制中心。
要啟動 DB2 控制中心,請執行以下步驟:
(1) 作為 root 用戶登錄。
(2) 在命令行上,運行以下命令:xhost +localhost。
(3) 運行以下命令:su - ctginst1。
(4) 運行以下命令:db2cc。
❼ 如何在DB2命令窗口執行sql腳本
DB2 命令行中執行sql腳本如下:
db2 => connect to dbName user xxx using password
db2 => sql語句
如果要執行一個sql腳本文件:
db2 => quit
c:\> db2 -tvf sql文件名
db2 -td@ -f filename
@是語句結束符。
E:\>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。
選項 描述 預設設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-l 將命令記錄到歷史文件中 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示 db2 互動式提示符 ON
-r 將輸出報告保存到文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回送當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF
注意:
使用 DB2OPTIONS 環境變數定製選項預設值。
緊跟選項字母後的減號(-)使該選項關閉。
使用 UPDATE COMMAND OPTIONS 更改選項設置(以互動式或
文件輸入方式)。
只能提供nt環境下編寫腳本的例子給你以供參考:
腳本樣例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','[email protected]')
db2 insert into newuser(username,password,email) values('Judy','1234','[email protected]')
db2 commit
db2 disconnect yourdb
運行腳本: 運行db2cmd X:\XXX.bat
以下摘自本論壇的FAQ可參考:
"
在命令窗口中運行DB2腳本,可用 db2 -svtf 腳本文件名 來實現。
例如,腳本文件名為sample.sql,運行:db2 -svtf sample.sql
參數中:
s 代表遇到錯誤時中止運行腳本
v 代表輸出結果到屏幕
t 指以;號作為每行的分隔符
f 指後面需跟腳本文件名 "---此摘錄版權歸斑竹非本人所有
具體在AS400如何編寫腳本非常遺憾.
db2 -x select SERIALNO from tabname where clause
C:>db2 attach to db2164 user ccp
輸入 ccp 的當前密碼:
實例連接信息
實例伺服器 = DB2/NT 8.2.0
授權標識 = CCP
本地實例別名 = DB2164
C:>db2 connect to dw164 user ccp
輸入 ccp 的當前密碼:
資料庫連接信息
資料庫伺服器 = DB2/NT 8.2.0
SQL 授權標識 = CCP
本地資料庫別名 = DW164
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736. ZFS 2008-05-07-10.02.00.453000
3145886. ZFS 2008-05-07-10.02.00.453000
2 條記錄已選擇。
C:>db2 list command options
命令行處理器選項設置
後端進程等待時間(秒) (DB2BQTIME) = 1
連接至後端的重試次數 (DB2BQTRY) = 60
請求隊列等待時間(秒) (DB2RQTIME) = 5
輸入隊列等待時間(秒) (DB2IQTIME) = 5
命令選項 (DB2OPTIONS) = +m
選項 描述 當前設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-d 檢索並顯示 XML 聲明 OFF
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-i 顯示 XML 數據並帶有縮進 OFF
-l 將命令記錄到歷史記錄文件中 OFF
-m 顯示受影響的行數 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示互動式輸入提示符 ON
-q 保留空格和換行符 OFF
-r 將輸出保存到報告文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回傳當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF
C:>db2set DB2OPTIONS=-x
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
4654908. ZFS 2008-05-07-10.02.00.453000
3716687. ZFS 2008-05-07-10.02.00.453000
❽ db2常用命令
操作資料庫命令
1、 啟動資料庫實例
#db2start
2、 停止資料庫實例
#db2stop
如果你不能停止資料庫由於激活的連接,在運行db2stop前執行db2 force application all就可以了 /db2stop force
3、 創建資料庫
#db2 create db [dbname]
4、 連接到資料庫
#db2 connect to [dbname] user[username] using [password]
5、 斷開資料庫連接
#db2 connect reset
操作數據表命令
1、 列出所有用戶表
#db2 list tables
2、列出所有系統表
#db2 list tables for system
3、列出所有表
#db2 list tables for all
4、 列出系統表
#db2 list tables for system
5、列出用戶表
#db2 list tables for user
6、 列出特定用戶表
#db2 list tables for schema[user]
❾ DB2未初始化命令行環境 怎麼使用命令行運行db2
根據你的截圖,可以看出你裝的是db2客戶機,這樣的話,你使用create database建庫語句不可能會成功(你的錯誤提示:SQL2014N,資料庫連接不存在),因為你沒有連接伺服器端,你本機也沒有裝db2伺服器端。 解決方法: 安裝db2伺服器端,一般是企業級安裝,安裝後也就800M大小不到,一般pc機都行(默認瀏覽器為IE,要不會報錯),安裝完成後: a、windows點擊運行,命令行輸入db2cmd(初始化db2語言環境) b、進入實例用戶,可以鍵入db2,進入db2命令行,然後create database建立資料庫,建立好資料庫後就可以操作資料庫了