Oracle数据库权限管理操作:分配权限,撤销权限

……

大家好,我是今天的博主,<一个想做全栈的咸鱼>

今天学习一下Oracle数据库的权限管理相关操作。如何分配权限,如何撤销权限?有什么具体用法?

3个默认的用户:
sys change_on_install [as sysdba]
system manager
soctt tiger

1、登录管理员账号sqlplus / as sysdba
(一定要启动这两个服务)Isnrctl start 启动监听服务
oradin - starup - sid orcl启动实例服务

2、管理员创建用户
create user lisi identified by lisi;(identified后边为密码)

3、给lisi设置权限:
grant create session to lisi;

4、在给Lisi一个创建表的权限
grant crcate table to lisi;

*有创建表的权限,没有使用表空间的权限,最终还是创建不了表,这就好比你有我房间的钥匙,但是没有我家大门的钥匙,你最终还是进步了我的房间。所以还得去授权

5、给lisi使用表空间的权限
grant unlimited tablespace to lisi;

6、创建表
create table mytable(id int);
*用户登录sqlplus lisi/lisi

7、给表插入数据
insert into mytable values(1);

8、查询
select * from mytable;

9、表删除
drop table mytable;

10、撤销lisi创建表的权限
revoke create table from lisi;

11、查看用户所有表权限
select * from user_sys_privs;
*提交数据commit

12、授权权限
grant 权限名 on mytab to 表名

13、将当前表的所有权限赋给一个新表
grant all on mytab to 表名

14、撤销所有权限
revoke all on mytab from 表名

15、添加表数据列
alter table mytab add name v archar(10);
insert into mytab values(1,‘zhang’);
insert into mytab values(2,‘zhang’);
insert into mytab values(3,‘zhang’);
commit;提交
select * from mytab;

16、disconn断开连接

17、连接
conn 表名/表名

18、查询当前是哪个表
show user

19、查询表内列对象,有什么权限
select * from user_col_privs;

*对象权限可以控制到列

更新
grant update(列名) on mytab to 表名;
插入
grant insert(列名) on mytab to 表名;

查询和删除不能控制到列,更新和插入可以。

ddl数据定义语言 创建一个表,修改一个表,删除一个表
dml操作语言 增删改查
dcl数据控制语言 授权和撤销权限

在这里插入图片描述
希望可以帮助到大家,我们下次再见,我还是那个咸鱼!

猜你喜欢

转载自blog.csdn.net/qq_43299421/article/details/84843841