一.撤销对象权限
1.格式
revoke object_privilege on object_name from username;
2.实践
例如:将xiaoming用户查看system.books数据表的权限收回。
disconnect;
connect system/123456;
revoke select on books from xiaoming;
disconnect;
connect xiaoming/123456;
select*from system.books;
二.列对象上的权限
1.任务场景在比如淘宝商品界面,我们在使用过程中会发现某些商品属性不仅乐意查看还可以修改。列对象上的权限就可以实现对象上部分列的操作。insert、update、references这几种的列对象上的权限是可以实现的。
2.格式
grant object_privilege(column_name……) on object_name to user_name;
3.实践
例如:给xiaoming授books数据表上的bookprice数据值修改权限。
测试:
disconnect
connect xiaoming/123456
update system.books
set book_price=25
where book_name='基础化学';
通过测试小明没有books数据表列对象上的操作权限。
第一给xiaoming授修改bookprice列数据的修改权限。
disconnect
connect system/123456
grant update(book_price) on books to xiaoming;
测试:
disconnect
connect xiaoming/123456
update system.books
set book_=25;
where book_name='基础化学';
disconnect
connect system/123456
select book_name,book_price
from book;
三.角色
1.任务场景在软件的授权过程中,我们发现权限种类和用户数量都非常多。我们如何让授权任务量变少,这个时候需要使用角色。
2.角色:为了方便对用户权限的管理,数据库允许一组相关的授权给角色,然后把角色在授权给用户。
3.格式
create role
4.实践
例如:创建teacher、student角色。
disconnect
connect system/123456
create role teacher;
create role student;
四.角色授权
1.格式
grant privilege [on object] to role
2.实践
例如:尝试给角色授权,然后再将角色分配给用户。
第一步创建四个新用户
create user aa identified by 123456;
create user bb identified by 123456;
create user cc identified by 123456;
create user dd identified by 123456;
第二步给teacher角色授权查看system.presses权限。
grant select on books to teacher;
grant select on presses to student;
第三步将teacher,student角色分配给四个用户。
grant teacher,create session to aa;
grant teacher,create session to bb;
grant student,create session to cc;
grant student,create session to dd;
第四步测试授权是否成功
disconnect
connect aa/123456
select*from system.books;
select*from system.presses;
disconnect
connect bb/123456
select*from system.books;
select*from system.presses;
disconnect
connect cc/123456
select*from system.books;
select*from system.presses;
disconnect
connect dd/123456
select*from system.books;
select*from system.presses;
五.删除角色
1.格式
drop role role——name
2.实践
例如:尝试删除teacher、student。
disconnect
connect system/123456
drop role teacher;
drop role student;
六.表空间
1.定义:表空间是数据库中最大的逻辑存储结构,数据中所有的数据、对象都会放到表空间
2.格式
create tablespace tablespace_name
datafile '文件存放路径,文件名'
size
autoextend [on|off] next k|m
maxsize k|m
3.实践
例如:创建一个名为myspace表空间,数据文件存放在E:\class\oracle(提前创建)初始文件大小20m,自动增长每次自增5m,最大100m。
create tablespace myspace
datafile 'E:\class\oracle\datafile\myspace.dbf'
size 20m
autoextend on next 5m
maxsize 100m;