Oracle pl sql新用户获取过程不';不存在
我有一个基于Oracle的应用程序,该应用程序有一个数据库,apache将modplsql设置为应用程序服务器,我对Oracle相当陌生,所以请原谅我,如果这不是一个非常聪明的问题,但这是一个我找不到答案的问题 问题是我需要向这个oracle应用程序添加几个新用户,但我不知道如何添加,我尝试了两种方法:使用控制台和oracle sql developer UI工具创建它们,在这两种情况下,我授予当前用户拥有的所有角色和特权,然而,当我用新凭据连接到我的应用程序时,我得到的过程不存在错误。我知道问题出在角色或权限上,但我不知道是什么问题 有经验的人能给我指引正确的方向吗 提前谢谢 代码:Oracle pl sql新用户获取过程不';不存在,oracle,plsql,database-administration,Oracle,Plsql,Database Administration,我有一个基于Oracle的应用程序,该应用程序有一个数据库,apache将modplsql设置为应用程序服务器,我对Oracle相当陌生,所以请原谅我,如果这不是一个非常聪明的问题,但这是一个我找不到答案的问题 问题是我需要向这个oracle应用程序添加几个新用户,但我不知道如何添加,我尝试了两种方法:使用控制台和oracle sql developer UI工具创建它们,在这两种情况下,我授予当前用户拥有的所有角色和特权,然而,当我用新凭据连接到我的应用程序时,我得到的过程不存在错误。我知道问
要在oracle中创建新用户,可以使用以下语句: 创建由(传递单词)标识的用户(用户名) 用户上的帐户(锁定/解锁)Qouta(用户空间); Exmaple: 创建用户后,您最多会为其授予权限 创建会话、创建表、创建触发器……等等 Exmaple: ……等等 允许您连接到用户的最重要的特权是创建会话
必须将它提供给已创建的每个用户。首先,在Oracle中创建用户时 最好是完全创建并为存储提供空间 例如: 然后对结构进行修改 ِ并且您正在创建新用户的用户必须具有完全权限,并且可以授予其他用户 如果您向他们授予如下示例所示的权限:
GRANT DBA,CONNECT,RESOURCE TO myuser;
GRANT create database link TO myuser;
GRANT create materialized view TO myuser;
GRANT create procedure TO myuser;
GRANT create public synonym TO myuser;
GRANT create role TO myuser;
GRANT create sequence TO myuser;
GRANT create synonym TO myuser;
GRANT create table TO myuser;
GRANT create trigger TO myuser;
GRANT create type TO myuser;
GRANT create view TO myuser;
GRANT create tablespace TO myuser;
GRANT create session TO myuser;
等等。我知道已经有一段时间了,但我注意到有几个人在看这篇文章,所以我决定把问题所在发出来,希望它能帮助别人。在我们的例子中,这是架构的问题,因此需要一个触发器,比如:
create or replace TRIGGER my_user.swithtomyschema
AFTER LOGON ON my_user.SCHEMA
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=my_schema';
END;
我现在知道了,所以看起来很简单,但当时我对这个系统还不熟悉,我花了好几天的时间才发现它出了什么问题。我希望没有其他人处于同样的情况,但如果你是,我希望你会接受这个答案,它将为你指出正确的方向。祝你好运
感谢所有试图帮忙的人 导致错误的过程存储在哪里?如果是这种情况,那么您应该通过schema_name来引用它。procedure_name导致问题的是运行应用程序的主过程。如果过程不存在,那么它就不存在,或者用户对此过程没有权限。“将所有者的EXECUTE\u shema.proc\u名称授予用户;”应该会有所帮助。但是,如果数据库中有一些特殊的角色模型,最好向创建此模型的人说明问题。1)过程确实存在。2) 我们模式中的所有用户都被授予一个具有所有权限的角色,但是当我创建一个新用户并将该角色授予他们时,我仍然会得到一个“过程不存在”错误。我很确定我遗漏了什么,但不确定遗漏了什么。我希望有人会有一个答案,如果没有的话,我将不得不找到一种方法来联系创建这个系统的人。无论如何,谢谢你们的回答。非常感谢你们的回答!请看我上面的问题,我已经添加了用于创建这个新用户的代码。
grant Create session to Muwaffaq;
grant Create user to Muwaffaq;
grant Create table to Muwaffaq;
grant Create Trigger to Muwaffaq;
grant Alter User to Muwaffaq;
grant Create Function to Muwaffaq;
grant Create sequnce to Muwaffaq;
grant Create procedure to Muwaffaq;
Create user "Myuser" identified by pass2
quota 15M on users Account unlock;
GRANT DBA,CONNECT,RESOURCE TO myuser;
GRANT create database link TO myuser;
GRANT create materialized view TO myuser;
GRANT create procedure TO myuser;
GRANT create public synonym TO myuser;
GRANT create role TO myuser;
GRANT create sequence TO myuser;
GRANT create synonym TO myuser;
GRANT create table TO myuser;
GRANT create trigger TO myuser;
GRANT create type TO myuser;
GRANT create view TO myuser;
GRANT create tablespace TO myuser;
GRANT create session TO myuser;
create or replace TRIGGER my_user.swithtomyschema
AFTER LOGON ON my_user.SCHEMA
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=my_schema';
END;