DB2數據庫本地還原
(linux環境數據庫還原到windows上)
1、本地建立db2數據庫
可以使用db2數據庫的控制中心來建庫;
數據庫語言環境選擇中國,地域選擇CN,代碼集按照被還原庫的整理順序選擇(例如整理順序為: UNIQUE,代碼集選擇:GBK);
注意設置的表空間和緩沖池要足夠大。
創建數據庫后,連接數據庫:
db2 connect to db_name user user_name using password
2、還原數據庫
被還原的數據庫文件需要包含.sql文件,.lst文件,.out文件,.ixf文件,.msg文件。
修改需要還原的數據庫的.sql文件的連接的數據庫名和用戶,如下圖:

注意:用戶名是數據庫默認的模式名,數據庫名與本地創建的數據庫名一致,(db2admin是安裝db2數據庫時自動創建的用戶)。
執行sql腳本:
以管理員權限進入cmd-->db2cmd執行以下命令:
db2 -tvf d:\script.sql -z d:\script.log
說明:d:\script.sql是被還原數據庫的.sql文件,d:\script.log表示打印日志
用db2move導入(所有)數據:
在db2命令窗口中進入.sql文件所在的路徑下,執行以下命令:
db2move db_name import -io replace -u user_name -p password
說明:db_name是數據庫名(如上圖中的ZXYH),user_name表示用戶名(如上圖中的db2admin),password表示密碼
用import導入指定的表數據:
db2 "import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insert into schema_name.table_name"
說明:schema_name是表所屬,table_name是表名
3、連接db2數據庫
導入成功后,(使用數據庫連接軟件或在命令行)查看還原后的db2數據庫的數據信息。
4、用戶名與模式名不一致問題
用戶名就是默認的模式名,被還原數據庫的模式名可能會和本地的用戶名不一致,不一致時會導致查詢時表名前必須要加上模式名,解決辦法:
① 在創建數據庫之后,在本機創建一個與被還原數據庫中的用戶名一致的用戶(windows上:我的電腦右擊-->管理-->本地用戶和組),並將新建用戶的權限以及所屬組設置的與db2admin用戶一致(具體賦權操作請百度);在修改被還原數據庫的.sql文件時,不修改用戶名。
② 在已經修改用戶名且導入了數據庫數據之后使用此方法;在本機創建一個與被還原數據庫中的用戶名一致的用戶(windows上:我的電腦右擊-->管理-->本地用戶和組),並將新建用戶的權限以及所屬組設置的與db2admin用戶一致(具體賦權操作請百度);登錄數據庫是用新創建的用戶。
③ 如不想創建新用戶,則在修改.sql文件時,將文件中所有與原用戶名一致的信息全部替換成修改后的用戶名(如db2admin);將.lst文件中所有與原用戶名一致的信息全部替換成修改后的用戶名(如db2admin)。
注:此方法未驗證,成功率未知。
5、無法遠程訪問數據庫問題
在本地還原DB2數據庫后,本地可以連接,查詢等操作,但是別的電腦訪問時,可以連接但看不到數據信息的問題:
服務器端:
執行db2 get dbm cfg命令,查看TCP/IP服務名,如:

執行db2ilist命令,查看實例名,如:

執行db2set命令,查看通信協議,如:

查看services文件(C:\Windows\System32\drivers\etc)中的端口,如:

客戶機端:
執行命令db2 catalog TCPIP node n1 remote 192.168.102.163 server db2c_db2inst2 顯示如下圖:
說明:n1是節點名(自己命名),192.168.102.163是服務器地址,db2c_db2inst2是服務器TCP/IP服務名。

執行db2 terminate命令,進行刷新。
執行命令db2 catalog database demo as demo2 at node n1 authentication server
說明:demo是數據庫名,demo2是數據庫別名(自己起的),n1是節點名(與上一條命令節點名一致)。
執行db2 terminate命令,進行刷新。
執行命令db2 connect to demo2 user db2inst2 using passwd連接數據庫。
說明:demo2數據庫別名,db2inst2用戶名,passwd密碼
參考:
https://blog.csdn.net/cws1214/article/details/12997451
https://www.cnblogs.com/xitingxie/p/5753093.html
https://wenku.baidu.com/view/0e613631998fcc22bdd10d1b.html
https://wenku.baidu.com/view/799d3700eff9aef8941e06b5.html
