2010-06-21 77 views
3

我试图使用oracle更改通知(来自Dbms_Change_Notification包的API)来更新复杂的物化视图。我用我的PL/SQL回调为我的表安装更改通知,我可以在USER_CHANGE_NOTIFICATION_REGS视图中看到我的更改通知已正确安装。在负载变化较小的情况下,Oracle服务器的开发在提交观察表后立即被调用。但在高负载的真实服务器上,它看起来像更改通知从不会被调用。有没有办法解决Oracle中的更改通知?

有什么办法可以解决为什么变更通知没有被调用,何时被调用,被调用时会发生什么样的错误等等?

P.S.我正在使用oracle版本10.2.0.3.0

回答

0

在您的生产系统上,您是否设置了JOB_QUEUE_PROCESSES初始化参数?它必须设置为非零值。

注册查询的用户是否被授予生产数据库的权限(CHANGE NOTIFICATION并在DBMS_CHANGE_NOTIFICATION上执行)?

+0

我已经从我的系统中删除了更改通知,因为几乎不可能解决他们出现的问题。但是,是的,我的用户同时拥有CHANGE NOTIFICATION和EXECUTE ON DBMS_CHANGE_NOTIFICATION权限,并且JOB_QUEUE_PROCESSES被设置为非零值。 – 2010-11-22 10:50:20

相关问题