1、切換用戶
su - db2inst1
2、創建數據庫
db2 create db databaseName using codeset utf-8 territory CN
注意:
1.出現錯誤:SQL1004C there is not enough storage on the file to process the command----物理空間不足 2.創建數據庫失敗(中間斷掉或空間不足引起)無法重新創建,提示已存在,SQL1005N,此時需要刪除掉重新創建
解決方案: 查看是否存在系統數據庫目錄中 db2 list db directory 若存在則可以直接刪除 db2 drop db databasename 注意系統創建的文件不能隨意刪除再復制回來需要修改權限否者出現SQL1036C An I/O error occurred while accessing the database. SQLSTATE=58030 若不存在則需要添加進來再刪除 db2 catalog db databasename 將數據庫移除系統數據庫目錄中 db2 uncatalog db databasename
3、連接新數據庫
db2 connect to databaseName
4、創建BUFFERPOOL
db2 create BUFFERPOOL testBUFFER SIZE 1000 PAGESIZE 32K
5、創建TABLESPACE
db2 create TABLESPACE testSpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/test/ts') BUFFERPOOL testBUFFER
6、創建臨時表空間
db2 create SYSTEM TEMPORARY TABLESPACE testBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/tts') BUFFERPOOL testBUFFER
7、斷開連接
db2 disconnect databaseName
8、使用db2inst1角色連接數據庫
db2 connect to databaseName
9、創建用戶和密碼用於連接數據庫(一個庫下使用不同用戶連接數據庫管理各自的表(但是數據庫名字是同一個,只需連接是指定用戶名密碼)類似oracle)
useradd username passwd password
10、db2inst1進行授權
使用db2inst1連接數據庫進行授權給指定用戶后,該用戶才可以有權訪問表db2 grant dbadm on database to user userName
11、使用創建用戶重新連接數據庫進行添加當前用戶下的表
db2 connect to databaseName user username using password
12、導出數據庫的所有表及數據(導出的文件是db2move.lst、export.out、tabxx.ixf、tabxx.msg)
db2move <數據庫名> export
13、導入數據庫的所有表及數據(需要修改db2move.lst中的第一個字段是用戶名,管理需要導入的表,不需要導入的直接刪除即可也可以修改用戶)
db2move <數據庫名> import
14、導出表創建語句
db2look -d <數據庫名> -u <用戶> -e -o <腳本名稱>.sql
15、運行sql腳本
db2 -tvf <腳本名稱>.sql
16、導出單個表數據(只能導出一個表)
db2 export to test.txt of del select * from test
17、導入單個表數據
db2 import from test.txt of del insert into test
總結:
針對數據庫操作千萬不要手動刪除數據庫文件
db2可以創建多個庫,也可以只創建一個數據庫使用不用的用戶進行登錄,管理各自的表