Oracle用户管理(基础)

本文介绍了Oracle数据库中的权限管理,包括DDL、DML、DCL的基本概念,如何创建和撤销用户权限,以及对象权限和全局权限的具体操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适合初学者的学习

常识:

1. DDL:数据定义语言,创建、修改、删除一张表
2. 数据操纵语言,向一张表中进行增、删、改(执行完命令要对执行提交操作)
3. DCL:数据控制语言,授权和撤销权限

基础知识:

  1. 命令行开启监听器:lsnrctl start
  2. 开启事物:oradim -starup -sid orcl
  3. 链接用户:sqlplus / as sysdba

创建用户:

1.创建会话(session)权限给lisi用户:

->grant create session to lisi;

2.创建建表(table)权限给lisi用户:

->grant create table to lisi;

3.创建不受上线的表空间的使用权限给lisi用户:

->grant unlimited tablespace to lisi;

4.撤销创建会话权限(其他格式类似):

->revoke create table from lisi;

5.通过用户视图方式查看当前用户有哪些权限:

->select * from user_sys_privs;

注意:
1、可以同时授予和撤销权限:

->grant create table,unlimited tablespace to lisi;

2、当插入、更新、修改数据时候要用commit提交插入的数据

对象权限(谁拥有谁授权):

默认情况下:个人创建的用户与用户之间他们的表是完全隔离的,所以说它们之间是不能够访问的,通过授权可以改变对象之间的权限。但是sys用户可以访问任意用户的表。(假设有lisi、wangwu两用户,表分为:mytable、mytab)
1.在wangwu用户中把它的mytab表的查询权限给lisi用户(插入、删除…同样意思):

->grant select on mytab to lisi;

2.在wangwu用户中把它的mytab表的所有权限给lisi用户:

->grant all on mytab to lisi;

3.在wangwu用户中把它的mytab表的所有权限在lisi用户全部撤销:

->revoke all on mytab from lisi;

4.查看整个表有哪些权限(如果已经把权限精确到列那么此数据字典就不起作用了):

->select * from user_tab_privs;

5.把权限定位到某一列来进行对象之间的授权(比如把wangwu用户中的mytab表的name列的更新权限授权给lisi):

->grant update(name) on mytab to lisi;

6.当权限精确到列可以通过下面命令来查询权限:

->select * from user_col_privs;

全局权限:

1.把一个用户的所有表的创建权限授权给所有用户:

->grant create any table to public;

2.把一个用户的一个表的删除权限给public (wangwu用户中mytab表):

->grant delete mytab to public;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值