一:安裝數據庫
1. 用root用戶登錄,通過smitty user創建實例用戶 gjyw,進入DB2安裝文件所在目錄.
2. 將安裝文件目錄下所有文件賦全部權限 chomd 777 *
3. 如果使用.db2_setup進行安裝,,則必須先用root用戶登錄
執行vi .profile
".profile" 6 lines, 103 characters
alias l='ls -l'
set -o vi
DISPLAY=192.168.250.110:0.0
export DISPLAY
PATH=$PATH:/nmon/nmon
export PATH
將上IP地址改為遠程客戶端IP。
4. 可使用目錄下另一安裝文件進行(與第3步是同一過程),安裝過程中,將實例db2inst1直接改為gjyw(所要使用的實例名)
5. 安裝完成后停止服務
su - gjyw (實例用戶)
db2stop 停止實例,如果不行 db2stop force強制停止
exit 退出到root層
su - dasusr1 (db2管理用戶)
db2admin stop 停止DAS
6. 升級DB2包 db2 8.2版本
切換到升級包目錄
./installFixPak –y
7. 切換到root用戶
cd /usr/opt/db2_08_01/instance
chmod +x db2iupdt
chmod +x dasupdt
將此兩文件賦可執行權限
./db2iupdt gjyw
./dasupdt dasusr1
綁定相關用戶
8. 取動數據庫服務
切換到root用戶
su - dasusr1
db2admin start 啟動das
su - gjyw
db2start 啟動實例
二:創建數據庫
1. 建庫時應指定數據庫db2codepage,在xp中默認為1386,AIX中英文環境默認為819,當在AIX上建庫時將當前數據庫的codepage保持與要導入的數據來源處一致,否則導入后中文會顯示為亂碼。
1.) db2 create db db2name using codeset 1386 territyor 86
2.) 或使用1,db2set db2codepage=1386 2,db2set db2country=86 3,db2 terminate 4,db2stop force,5,db2stop start.
3.) 檢查代碼頁(codepage)是否與設置一致.
Db2 get database configuration from databaseName |more
三:使用db2look,db2move export,db2move load,db2move import工具導入導出數據。
1.生成createdatabase.sql數據庫結構文件
db2look –d DATABASENAME –a –e –m –l –f –o createdatabase.sql
2. 調整createdatabase.sql文件對象順序,調整前先將createdatabase.sql里的CONNECT TO后的數據庫名稱全部替換為你的目標數據庫名稱。
1).由于使用db2look導出的文件并不是根據對象依賴關系生成的,需要作手工調整,一般順序為BUFFERPOOL(createdatabase.sql文件最前部份), TABLESAPCE, TABLE,PATH(模擬表、列、索引和列分布),FUCNTION(自[定義方法),VIEW(視圖), TRIGGER。
2).存儲過程另行導入,應將createdatabase.sql中的存儲過程部份刪除。
4.執行createdatabase.sql文件.
1. 將createdatabase.sql上傳到AIX服務器,使用命令
1). 默認情況下不能執行超過61K的文件,使用下面語句調整執行語言heap.
Db2 update db cfg for DATABASENAME using STMTHEAP 8192
2).執行。db2 -tvf createdatabase.sql
3).可以quest center for db2中連接后處理。
6. db2move DataBaseName export ,將生成的所有文件上傳。
7. chmod 777 * ,將所有文件更改權限。
8. db2move newDataBaseName load
在導入中可能因為種種原因發生中斷,會使數據庫暫掛
1)..查看是哪張表掛起
db2 select tabname,tableid from syscat.tables where tableid=59
2). 表名知道后到db2move.lst(在db2move YOURDB export的目錄中)中找到相應的.ixf文件
db2 load from tabindex.ixf of ixf terminate into 實例名.表名
在db2move.lst文件中tabindex.ixf對應的是”表名”
四.導入存儲過程。
通地quest center for db2,進入存儲過程界面,全選,Extract DDL, 生成sql后, 只留下SCHEMA 為自定義存儲過程的。 連接上另一數據庫(AIX)后執行。 如有超大或過于復雜的存付過程,應執行Db2 update db cfg for DATABASENAME using STMTHEAP 8192 , 加大執行語句heap.
五:應注意事項及常用命令
1. chmod 777 * 更改一目錄下所有文件的權限。
2.db2 get database configuration for databaseName |more 查看數據庫配置
3. db2 create db dbname using CODESET 1386 TERRITORY 86 指定代碼頁建庫
4. db2 select tabname,tableid from syscat.tables where tableid=59 查看處于掛起狀態的表。
5.db2 update db cfg for JZGYZX using STMTHEAP 8192 增大執行語句heap,當系統提示語句過長或太復雜時使用。
6. db2set db2codepage=819 ,db2 terminate, db2 stop force ,db2 start.