ORA-01031:跨架构过程执行问题

问题描述 投票:0回答:1

我在 Oracle 数据库中有三个模式 META、DATA 和一个自定义模式。 我在 META 模式中声明了一个简单的过程。

CREATE OR REPLACE PROCEDURE TEST1 ( v_name IN VARCHAR2 ) IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, ' || v_name);
END TEST1;
/

我没有为此过程的数据或自定义模式提供任何资助。 当我尝试在 DATA 模式中作为 META.TEST1 运行此过程时,它可以工作。 但是当我在自定义架构中尝试相同的操作时,我得到“权限不足”

该程序正在使用定义者的权利。 我还可以看到 EXECUTE ANY PROCEDURE 作为系统权限授予了 DATA 和 CUSTOM 架构。

DATA 和 CUSTOM 模式都具有分配给它们的相同会话权限和相同角色权限。它们还有许多来自 META 模式的同义词。

我想知道为什么它适用于 DATA 但不适用于 CUSTOM 模式。

我已尽力找出任何特权之间的区别,但我找不到。 所有查询都导致它们在特权方面本质上几乎相似。

oracle stored-procedures oracle19c
1个回答
0
投票

检查 dba_sys_privs 中 DATA 和自定义模式的用户权限,并比较是否缺少自定义模式的权限

© www.soinside.com 2019 - 2024. All rights reserved.