由于表之前采用的是全量刷新方式进行刷新,但是因为表的数据量越来越大,全量刷新的时候偶尔会出现失败的情况,因为同一个时点刷新的任务比较多,回滚段被占满了之后会出现报错,所以急需要解决这个问题。
发现源表在源系统里是有主键的,所以决定采用增量刷新来解决刷新失败的问题。
1.让DBA帮忙创建 MV LOG
create materialized view log on HX_KPXT.FPGL_FPXX with primary key;
2.按步骤创建物化视图(步骤省略。。。)
3.第一次全量刷新
4.接着进行增量刷新,然后就出现下面截图的报错
5.经过DBA排查原来是权限问题引起的,需要给DBLINK用户赋予相关的权限,
第一个权限:grant select any table to yourusername;
第二个权限:
若是8i 则grant select_catalog_role to yourusername;
若是9i 则grant select any dictionary to yourusername;
因为是DBA进行的授权操作,具体是授权了哪些权限,DBA没有明确给出列表,据说是缺少了某个MV LOG 的权限
他是参照了别的dblink用户能够正常增量刷新拥有的权限赋权了一遍,然后增量刷新时就没有报上面截图的报错了;
6.解决问题的道路是坎坷、曲折的,虽然权限的问题解决了,但是还是报出了新的错误,如下图: