Joining a Back End Poller fails with ORA-32337: cannot alter materialized view with pending changes refresh error

Document ID : KB000051630
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

When joining a Back End Poller to a cluster, it fails with the following error message: ORA-32337: cannot alter materialized view with pending changes refresh

Problem Ticket: PRD00048959

Solution:

If join of a backend fails with the following error, this indicates there were config changes coming in during a join (when we enable on-commit refresh on nh_group_all_members_as1, nh_group_all_members_gm and nh_group_content_type mviews). We allow time in our code to deal with these, but if there are continuous config changes, the user may run into this issue. Customer's are not supposed to trigger config changes while a poller is being joined into the cluster. At this point, have the customer disable config changes and execute the recovery steps. IF REQUIRED, you can have the customer stop ehealth for recovery step#1.

Error: Database error: BEGIN nh_usercfg.enableFastRefresh; END; (database error: ORA-32337: cannot alter materialized view with pending changes refresh).

RECOVERY STEPS:

  1. Manually trigger a fast refresh of the 3 mviews specified abv and mark their refresh-mode to on-commit, by running the following:
             sqlplus $NH_USER/$NH_USER            exec nh_usercfg.recoverRefresh            exit;
  2. If ehealth was stopped, start eHealth and run join with -skipSync flag, as follows:
          nhJoinCluster -host .... -useStdDac .... -skipSync