ORA-01031:权限不足-创建新用户时

时间:2018-11-17 10:39:06

标签: forms oracle-apex

我遇到这样的情况,用户将创建一个新用户并向他们授予权限,但是我无法通过Apex创建一个新用户。 enter image description here

我通过system登录,并且已经获得了通过后端创建系统用户的权限。我的授予命令看起来像

grant create user to system with admin option;但无法授予。

但是,如果我通过SQL Command Line登录并创建了一个新用户,它允许我创建但不能通过Apex

enter image description here

我在做什么错了,请帮帮我。

注意,我正在使用apex表单添加新用户

enter image description here

1 个答案:

答案 0 :(得分:1)

名为SYSTEM的数据库用户拥有数据库。它可以创建用户而无需您授予该特权。

说您以system登录到Apex:我建议您不要这样做。单独保留SYSSYSTEM。它们是特殊的,您不想弄乱它们。

(通过SQL * Plus)创建一个新用户,为其授予create user特权,并将其用于此目的。只是为了测试,这就是我对HR用户所做的:

  • 我有Oracle 11g XE随附的Apex 4.0.2。
  • 我为HR数据库用户创建了一个Apex工作区。
  • HR的身份登录Apex,我创建了一个页面,其中包含一个项目:P3_USERNAME和一个按钮
  • 然后,我创建了一个在按下按钮时触发的过程。该过程如下所示:

    begin
      execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
    end;
    
  • 运行页面,在项目中输入xxx并按下按钮。

  • 选中了ALL_USERS,并且-在这里;用户xxx在这里

尝试执行相同操作。应该可以。