DB2數據庫本地還原


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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM