db2資料庫常用命令總結

---安裝資料庫

tar zxvf db2_v101_linuxx64_expc.tar.gz
cd expc/
./db2_install

選擇默認安裝路徑 : yes

---配置資料庫

創建3個用戶組

groupadd -g 901 db2iadm1
groupadd -g 902 db2fadm1
groupadd -g 903 db2dadm1

創建3個用戶

useradd -g db2iadm1 -u 101 -d /home/db2inst1 -m db2inst1
useradd -g db2fadm1 -u 102 -d /home/db2fenc1 -m db2fenc1
useradd -g db2dadm1 -u 103 -d /home/db2dasusr1 -m db2dasusr1

添加3個用戶密碼

passwd db2inst1
passwd db2fenc1
passwd db2dasusr1

檢查用戶組和用戶是否創建成功

cat /etc/group | grep db2
cat /etc/passwd | grep db2

創建實例

cd /opt/ibm/db2/V10.1/instance
./dascrt -u db2dasusr1
./db2icrt -a server -u db2fenc1 db2inst1

配置db2自啟動

cd /opt/ibm/db2/V10.1/instance
./db2iauto -on db2inst1

如果上述方法不能實現開機啟動,可以嘗試在/etc/rc.local中添加如下內容:

su db2inst1 -c /home/db2inst1/sqllib/adm/db2start

配置db2網路服務埠

su - db2inst1
db2 update dbm cfg using SVCENAME 50000

修改DB2連接方式為TCP/IP

db2set DB2COMM=TCPIP

---使用

啟動資料庫

su - db2inst1
db2start

創建資料庫

db2 create db testdb using codeset UTF-8 territory CN pagesize 8192

連接資料庫,命令如下:

db2 connect to db_name user user_name using password
#db_name 是指資料庫的名字, user_name 是資料庫用戶名,password是資料庫密碼

顯示連接

db2 list applications

進入客戶端

db2

sql測試代碼-在shel中

db2 "create table test2(a integer , b integer)"
db2 "insert into test2(a , b) values(1,2)"
db2 "select * from test2"

注意:在客戶端中直接執行SQL即可,但是不能使用分號來結尾。

刪除資料庫的database

db2 drop database database_name

使用以下命令查看資料庫

db2 list db directory

對於資料庫伺服器和客戶端不在同一機器上的,需要藉助catalog命令,來先完成遠程資料庫載入到本地。連接 catalog server 端的 node ,命令如下:

db2 catalog tcpip node node_name remote hostname server service_port
db2 uncatalog node node_name (取消節點的編目)
#其中 node_name 是由你任意起的一個結點名,結點名不能跟已有的結點名重複(可通過db2 list node directory 查看),hostname也可為IP address,service_port為埠號一般默認為50000。節點目錄用於存儲遠程資料庫的所有連通性信息。

遠程連接db2 , catalog 遠端 DB2 資料庫,命令如下:

db2 catalog db db_name [as alias_name] at node node_name
db2 uncatalog db db_name (取消資料庫的編目)
#db_name 是指遠程資料庫的名字, alias_name 是客戶端實例名(可以忽略), db2node 是指上面你所指定的節點node !

用db2look命令生成表結構的DLL腳本

db2look -d db_name -i user_name -w password -a -e -o /home/script.sql
#db_name 是指資料庫的名字, user_name 是資料庫用戶名,password是資料庫密碼

用db2move導出所有表的數據

db2move db_name export -u user_name -p password
#db_name 是指資料庫的名字,user_name 是資料庫用戶名,password是資料庫密碼

用export導出指定的表數據

db2 "export to d:data ab1.ixf of ixf lobs to d:data lobfile lobs modified by lobsinsepfiles messages d:data ab1.msg select * from schema_name.table_name"
#schema_name 是表所屬,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件 前一個是生成每個,後面是生成到一個文件中

用export導出表中數據導出ixf數據

db2 "export to [path(例:D:"TABLE1.ixf)] of ixf select [欄位(例: * or col1,col2,col3)] from TABLE1 "

用export導出表中數據導出del數據

db2 "export to [path(例:D:"TABLE1.del)] of del select [欄位(例: * or col1,col2,col3)] from TABLE1 "

執行sql腳本

db2 -tvf d:script.sql -z d:script.log

用db2move導入所有表的數據

db2move db_name import -io replace -u user_name -p password

用import導入指定的表數據

db2 "import from d:data ab1.ixf of ixf messages d:data ab1.msg insert into schema_name.table_name"

詳細內容請查看:

https://blog.csdn.net/u014439239/article/details/84000373?

blog.csdn.net


推薦閱讀:
相关文章