使用非DBA用户在Oracle中创建用户需要哪些特权?

时间:2018-07-19 05:10:55

标签: sql oracle

Oracle用户创建用户时应具有哪些特权? 我正在尝试从Java程序执行以下命令,并多次遇到以下异常:

Oralce 12.1命令:

CREATE USER USERTABLE IDENTIFIED BY USERPASSWORD 
DEFAULT TABLESPACE MYTABLESPACE 
QUOTA UNLIMITED ON MYTABLESPACE

堆栈跟踪:

  

错误:java.sql.SQLSyntaxErrorException:ORA-01031:权限不足

     

处理请求时发生错误。来自数据库服务器或驱动程序的错误。java.sql.SQLSyntaxErrorException:ORA-01031:权限不足

以下特权已分配给用户:

GRANT ALTER ANY INDEX TO dummyuser;
GRANT CREATE ANY TABLE TO dummyuser; 
GRANT CREATE SESSION TO dummyuser; 
GRANT CREATE TABLE TO dummyuser; 
GRANT DROP ANY TABLE TO dummyuser; 
GRANT GLOBAL QUERY REWRITE TO dummyuser; 
GRANT SELECT ANY TABLE TO dummyuser; 
GRANT UNDER ANY TABLE TO dummyuser; 
GRANT UNLIMITED TABLESPACE TO dummyuser WITH ADMIN OPTION; 

有人可以让我知道是否需要将其他权限分配给该用户吗?

2 个答案:

答案 0 :(得分:1)

选择CREATE USER特权。

但是您通常不使用JDBC客户端创建数据库用户。这是DBA所完成的静态任务。

答案 1 :(得分:0)

在@Marmite Bomber回答之后,对于所有即将出现的问题-我已将以下更改应用于JUnit的用户!

GRANT CONNECT, RESOURCE, DBA TO cordysdemo;
commit;

希望这对某人有帮助!