Oracle 授权 ORA-00990: 权限缺失或无效

创建一个用户:

create user xxx identified by yyy

 当密码里面有特殊字符时  windows平台下面应该用 "yyy"  其它平台未测试

刚创建好的用户是没有任何权限的  连登录数据库的权限都没有

这时,就要给用户授予权限:

ORACLE里面的权限有系统权限和对象权限两种

可以通过

select distinct p.privilege
  from user_sys_privs p
 order by p.privilege asc;
 

 

 来查询ORACLE里面的所有系统权限;

常用的系统权限有 :

                    CREATE SESSION                     创建会话 登录数据库

       CREATE SEQUENCE                     创建序列

       CREATE SYNONYM                      创建同名对象

       CREATE TABLE                        在用户模式中创建表

       CREATE ANY TABLE                    在任何模式中创建表

       DROP ANY TABLE                      在任何模式中删除表

       CREATE PROCEDURE                    创建存储过程

       EXECUTE ANY PROCEDURE               执行任何模式的存储过程

       CREATE USER                         创建用户

       DROP USER                           删除用户

       CREATE VIEW                         创建视图

通过下面的SQL可以查询所有的对象权限:

select distinct t.privilege from user_tab_privs t;

 结果如下:

              FLASHBACK
              EXECUTE
              ON COMMIT REFRESH
              ALTER
              DEQUEUE
              UPDATE
              DELETE
              DEBUG
              UNDER
              QUERY REWRITE
              SELECT
              READ
              INSERT
               INDEX
               WRITE
               REFERENCES
               MERGE VIEW

另外还有角色授权  可以通过下面的SQL来查询ORALCE里面内置有哪些角色:

select distinct r.granted_role role_name
  from user_role_privs r
 where r.default_role = 'YES'
 order by role_name asc;

 授权语句:grant 权限

系统授权直接写:grant 权限名称  to  用户名;
对象权限则要写成:grant 权限名称  on schema. 对象名 to 用户名 

 还要注意一点是:授予权的时候系统权限和对象权限不能同时写,也就是说不能写成下面这个样子:

 

GRANT CREATE TABLE, SELECT ON scott.test TO scott1

 这样写会报   ORA-00990: 权限缺失或无效

但是系统权限和角色是可以同时写在一起授予给某一个用户的

 

再具体的内容请参阅附件文档里面grant下面的说明

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值