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

 

 

 

posted @ 2018-10-12 15:34  情绪疯子  阅读(2158)  评论(0编辑  收藏  举报