oracle 用户对象权限

drop user test cascade;
create user test identified by test;
grant create session to test;
grant create any table to test;
conn test/test;
create table scott.test (id number);
conn scott/tiger;
insert into test values(888);
select * from test;
conn test/test;
select * from scott.test;
conn scott/tiger;
grant select on test to test;
conn test/test;
select * from scott.test;
conn scott/tiger;
alter table test add(name varchar(10));
select * from test;
// 授予更新权限时可以更加细致地加到某一列上
grant update(name) on test to test;
conn test/test;
update scott.test set name = '李四';
update scott.test set id = '999'; // 失败


conn sys as sysdba;
drop user test1 cascade;
drop user test2 cascade;
create user test1 identified by test1;
create user test2 identified by test2;
grant create session to test1, test2;
// 后面的选项表示可以级联授权
grant select on scott.emp to test1 with grant option;
conn test1/test1;
select * from scott.emp;
grant select on scott.emp to test2;
conn test2/test2;
select * from scott.emp;
conn sys as sysdba;
revoke select on scott.emp from test1;
conn test2/test2;
select * from scott.emp; //查不到了

原文地址:https://www.cnblogs.com/Mike_Chang/p/9275798.html