oracle:如何从另一个模式访问dba_audit_对象
我需要从一个包中的表dba_audit_对象中提取信息,我在另一个模式中定义了这个包。其目的是最终以Oracle形式显示提取的数据 如果我在SQL Developer中从dba\u audit\u对象中oracle:如何从另一个模式访问dba_audit_对象,oracle,Oracle,我需要从一个包中的表dba_audit_对象中提取信息,我在另一个模式中定义了这个包。其目的是最终以Oracle形式显示提取的数据 如果我在SQL Developer中从dba\u audit\u对象中选择* 但是,如果我在包中写入相同的SELECT,它会显示:ORA-00942表或视图不存在。如果我试图基于相同的SELECT语句在模式中创建视图,也会出现相同的错误 我尝试过使用sys.dba\u audit\u对象,但这仍然会给我相同的错误消息 有人知道我应该/可以如何继续吗?提供类似的补助金
选择*
但是,如果我在包中写入相同的SELECT,它会显示:ORA-00942表或视图不存在
。如果我试图基于相同的SELECT语句在模式中创建视图,也会出现相同的错误
我尝试过使用sys.dba\u audit\u对象
,但这仍然会给我相同的错误消息
有人知道我应该/可以如何继续吗?提供类似的补助金
GRANT SELECT ON DBA_AUDIT_OBJECT TO THE_SCHEMA_FROM_WHERE_YOU_NEED_ACCESS;
如果您已有同义词,则无法为同义词提供授权。在这种情况下,使用
GRANT SELECT ON SYS.DBA_AUDIT_OBJECT TO THE_SCHEMA_FROM_WHERE_YOU_NEED_ACCESS;
然后以SYS运行它,我得到了答案。您应以SYS身份登录并执行以下操作:
向公众授予DBA_AUDIT_对象上的SELECT
只有这样,其他模式才能使用它创建新视图或在包中创建新视图。hi为什么我不能在公共同义词上授予select?schema SYS中已经定义了一个公共同义词DBA_AUDIT_对象,我的DBA将select授予了我的角色。但它仍然不起作用。为什么不呢?@user3322952您需要将它直接授予包的所有者,而不仅仅是分配给包所有者的角色。好的,谢谢!我确实读了好几遍,但都没能理解你句子的第二部分。谢谢乔厄尔斯!这正是我一开始不理解的部分。现在一切都好了:)