二十、Oracle中的用户和权限

目录

20.1. 创建用户

20.2. 把连接权限授予用户

20.3. 删除用户

20.4. 修改用户

20.5. 对象授权

20.6. 级联授权 

20.7. 系统授权

20.8. 级联授权

20.9. 通过角色控制权限

20.10. 一般开发用到的权限

20.11. 如果要查询其他用户的表,使用下面语句

20.12. 解除对象授权

20.13. 解除系统授权

20.14. 解除角色授权

20.15. 示例


 

20.1. 创建用户

create user test identified bytest123;


20.2. 把连接权限授予用户

grant connect to test;

 


20.3. 删除用户

drop user test;


 

20.4. 修改用户

alter user test default tablespace users;

alter user test identified bytest111;

alter user test account lock;

alter user test account unlock;

grant resource to test;

 


20.5. 对象授权

grant select on scott.dept to test;

grant execute on scott.proc_test to test;


20.6. 级联授权 

--对象授权的级联授权用  with grant option

--级联授权后test用户也有授权给其他用户select on scott.dept 的权限

grant select on scott.dept to test with grant option;

grant insert on scott.dept to test with grant option;

grant all on scott.dept to test with grant option;


 

20.7. 系统授权

grant create table  to test;

grant create user to test;

grant drop user to test;


20.8. 级联授权

--系统的级联授权用  with admin option

grant create user to test with admin option;

 


 

20.9. 通过角色控制权限

create role myrole;

grant select on scott.dept to myrole;

grant select on scott.emp to myrole;

grant myrole to test;

 


 

20.10. 一般开发用到的权限

grant connect to test;

grant resource to test;

 


20.11. 如果要查询其他用户的表,使用下面语句

grant select any table to test;

 


 

20.12. 解除对象授权

revoke select on scott.dept from test;

revoke select any table from test;

 


20.13. 解除系统授权

revoke create user  from test;

 


20.14. 解除角色授权

revoke myrole from test;


20.15. 示例

周所周知,grant是给别的用户赋权限。他不只能够给表,视图赋权限,而且对存储过程,方法,以及包都可以,具体语法参考如下:

    1.grant给表赋权限:

    grant  select/update on  table to user;

    grant  权限 on 表  to 用户。

    2.grant 给存储过程赋权限:

    grant execute on package/function/procedure to user;

    grant execute on 过程、包、方法 to user

    还可以一次给所有的过程赋权限:

    grant execute any procedure to user;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Oracle 数据库用户权限用于控制对数据库对象的访问和操作。每个用户都有一组特定的权限,这些权限决定了用户可以执行哪些操作。 Oracle 数据库权限分为两种类型:系统权限和对象权限。 1. 系统权限:系统权限控制对数据库系统级别的操作。这些权限包括: - CREATE USER:允许创建新用户。 - ALTER USER:允许修改用户的属性。 - DROP USER:允许删除用户。 - CREATE SESSION:允许用户登录到数据库。 - GRANT ANY PRIVILEGE:允许用户授予任何权限给其他用户。 - CREATE TABLESPACE:允许创建表空间。 - 等等。 2. 对象权限:对象权限控制对数据库具体对象的操作。这些权限包括: - SELECT:允许查询表的数据。 - INSERT:允许向表插入数据。 - UPDATE:允许更新表的数据。 - DELETE:允许删除表的数据。 - ALTER:允许修改表的结构。 - DROP:允许删除表或其他对象。 - 等等。 要授予或撤销用户权限,可以使用 GRANT 和 REVOKE 命令。例如,要授予用户 SELECT 权限: ``` GRANT SELECT ON table_name TO user_name; ``` 要撤销用户SELECT 权限: ``` REVOKE SELECT ON table_name FROM user_name; ``` 需要注意的是,权限的授予和撤销必须由有相应权限用户或角色执行。此外,还可以通过角色的方式管理用户权限,将权限授予角色,然后将角色授予用户。 这只是 Oracle 用户权限的简介,实际上还有更多细节和复杂性可以探索。如有需要,请在具体场景查阅 Oracle 文档或咨询专业人士以获取更详细的信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发哥1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值