用db2look/db2move完成db2数据库从Aix迁移到Linux ,如何验证Linux的db2跟Aix的数据一样?

如题,用db2look/db2move 完db2数据库从Aix迁移到Linux后 ,如何验证Linux的db2跟Aix的数据一样?现在有个问题 ,就是迁移完后,在WAS应用更改数据源,指向到LINUX的DB2后,启动WAS应用后,在WAS日志会有报错,提示,db2admin下某个表,没有查询权限?报db2 SQLCODE=-551错误。。而这个表在LINUX是重建成功的,数据也恢复成功的, 而我在做迁移时,在AIX和LINUX,全程都是用db2inst1用户来操作。LINUX上,也有db2admin这个用户的。

  • 你使用了db2inst1 执行db2look 导出*.DDL,然后拿到linux使用db2inst1用户执行,如果你aix环境上的该表属主为db2adm,在这个过程中就会转变成db2inst1,你可以从syscat.tables 的owner字段去验证,如果你的表的属主改变了,可以使用下面命令转换属主 TRANSFER OWNERSHIP OF TABLE <tabschema>.<tabname> TO USER db2adm PRESERVE PRIVILEGES;
    2019-10-29

3回答

冯岩冯岩  数据库管理员 , 银行
wlanz_2003tnan19861219KiKibj等赞同了此回答
你们得使用 db2look  加上 “-x” 选项,将 AIX平台上数据库内的用户权限导出来,传到 Linux 平台上在新建的数据库内执行,才能保证两边的用户权限一致。显示全部

你们得使用 db2look  加上 “-x” 选项,将 AIX平台上数据库内的用户权限导出来,传到 Linux 平台上在新建的数据库内执行,才能保证两边的用户权限一致。

收起
 2019-10-29
y5_sety5_set  其它 , 不告诉你
wlanz_2003yinxin赞同了此回答
你使用了db2inst1 执行db2look 导出*.DDL,然后拿到linux使用db2inst1用户执行,如果你aix环境上的该表属主为db2admin,在这个过程中就会转变成db2inst1,你可以从syscat.tables 的owner字段去验证,如果你的表的属主改变了,可以使用下面命令转换属主 db2 TRANSFER OWNERSHIP OF TA...显示全部

你使用了db2inst1 执行db2look 导出*.DDL,然后拿到linux使用db2inst1用户执行,如果你aix环境上的该表属主为db2admin,在这个过程中就会转变成db2inst1,你可以从syscat.tables 的owner字段去验证,如果你的表的属主改变了,可以使用下面命令转换属主

db2 TRANSFER OWNERSHIP OF TABLE . TO USER db2admin PRESERVE PRIVILEGES;

收起
 2019-10-29
浏览719
zymh_zyzymh_zy  IT顾问 , 国内某公司
嗯,这个在执行dblook时,倒真的没有加上这个参数。显示全部

嗯,这个在执行dblook时,倒真的没有加上这个参数。

收起
 2019-10-29
浏览707
  • 你们单独把对象权限语句抽出来,再在 Linux 平台执行吧
    2019-10-29

提问者

zymh_zyIT顾问, 国内某公司

分布式关系型数据库选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2019-10-29
  • 关注会员:3 人
  • 问题浏览:2134
  • 最近回答:2019-10-29