在Oracle数据库中创建用户

时间:2015-12-24 12:06:58

标签: sql database oracle createuser

我是Oracle数据库的第一个用户。

现在,我想创建一个名为ERDB的数据库模式。

我需要创建ERDB用户并在SQL脚本文件上为ERDB用户授予适当的权限。

CREATE USER dmuser IDENTIFIED BY password 
DEFAULT TABLESPACE USERS 
TEMPORARY
TABLESPACE TEMP 
QUOTA UNLIMITED ON USERS;
GRANT CREATE JOB TO dmuser; 
GRANT CREATE MINING MODEL TO dmuser; 
GRANT CREATE PROCEDURE TO dmuser; 
GRANT CREATE SEQUENCE TO dmuser;
GRANT CREATE SESSION TO dmuser; 
GRANT CREATE SYNONYM TO dmuser; 
GRANT CREATE TABLE TO dmuser; 
GRANT CREATE TYPE TO dmuser; 
GRANT CREATE VIEW TO dmuser; 
GRANT EXECUTE ON ctxsys.ctx_ddl TO dmuser; 

但错误发生,SQL错误:ORA 01031权限不足;

请帮帮我。

1 个答案:

答案 0 :(得分:1)

Oracle documentation明确指出以下内容:

  

先决条件

     

您必须拥有 CREATE USER系统权限

SYSTEM 连接,无需 SYSDBA ,然后执行:

CREATE USER user IDENTIFIED BY password 

同样,执行其他命令来创建表空间和所需的授权等。

关于 SYSDBA

,请注意
  
      
  • 永远不要使用SYS(或SYSDBA),但是出于维护目的(启动,关闭,备份,恢复)
  •   
  • SYS / SYSDBA很特别
  •   
  • SYS / SYSDBA是Oracle专有的(尝试打开以&#34开头的SR / TAR;我使用SYS / SYSDBA&#34执行此操作;您将立即看到答案)
  •   
  • SYS / SYSDBA与其他任何用户不同,
  •   
  • 使用SYS / SYSDBA时,Oracle会停用某些代码路径并激活其他代码
  •   
  • 无论您使用SYS / SYSDBA做什么,都不会对任何其他用户进行验证或使其无效。
  •   
     

永远不要将SYS / SYSDBA用于其他任何可以完成的事情   用户。仅使用SYS / SYSDBA进行某些人无法完成的事情   其他