我是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权限不足;
请帮帮我。
答案 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进行某些人无法完成的事情 其他