Oracle逻辑备用数据库失败,并显示ORA-01919

我有一个Oracle逻辑备用数据库通过数据守卫进行pipe理。 就在今天上午,重做应用程序开始失败,出现ORA-01919错误,表明我们的应用程序angular色不存在。 但是,我可以在主数据库和备用数据库上看到angular色。 我们也有一个很长时间以来的物理备用,在逻辑上发生这种重做,没有问题。

我已经与Oracle开了一个SR。 我想知道有没有人以前看过这个。

我想我应该提及:Oracle 10.2.0.4,Win2003 Server SP2。

更新:到目前为止,Oracle支持尚未提供答案。 我以为我会在这里张贴我迄今为止学到的东西。

看来,主angular色主angular上的DBA授予angular色对授予angular色的用户来说工作良好。 它在逻辑待机上不起作用。 IOW:

create role TEST; grant dba to TEST; grant TEST to auser; connect auser set role TEST; grant <existing role> to <existing user>; 

这在主实例上工作,但在逻辑上失败。 一种解决方法似乎是将主要angular色上的每个angular色都授予TEST with admin选项:

 grant <existing role> to TEST with admin option; <== do this on the logical standby 

然后该命令在逻辑备用数据库上运行。

这取决于。 使用逻辑备用数据库时,SYS在主数据库上执行的任何操作都不会被复制到逻辑备用数据库。 因此,如果您以SYS身份(在主服务器上)login时创build了该angular色,则该angular色将不会存在于逻辑备用数据库中,因此引用该angular色的非SYS用户(在主服务器上)的后续命令将失败。