oracle 列授权相关测试

create tablespace liangtbs datafile '/home/oradata/lgjdb/liangtbs01.dbf' size 50m autoextend on;create tablespace testtbs datafile '/home/oradata/lgjdb/testtbs01.dbf' size 50m autoextend on;

CREATE USER junuser IDENTIFIED BY "oracle"
DEFAULT TABLESPACE liangtbs
TEMPORARY TABLESPACE TEMP;

create table t_test ( id number,table_name varchar2(50),
owner varchar2(50),TABLESPACE_NAME varchar2(50));

insert into t_test values (1,'table_name','guouser','tablespace_name');

col id for 99999999
col table_name for a20
col owner for a20
col tablespace_name for a20


#如下授权是错误的,不能对某列回收
revoke UPDATE(OWNER) ON lianguser.T_TEST from lianguser;

grant create session TO junuser;
grant CREATE TABLE TO junuser;
GRANT RESOURCE TO junuser;
grant select any table to junuser;
ALTER USER junuser QUOTA UNLIMITED ON LIANGTBS;

grant select,insert,update,delete,alter,index ON guouser.T_TEST TO junuser;

grant UPDATE ON guouser.T_TEST to junuser;
revoke UPDATE ON guouser.T_TEST from junuser;

grant UPDATE(TABLE_NAME,TABLESPACE_NAME) ON guouser.T_TEST to junuser;


结论:对于表的拥有者,是不能回收其 update权限的,
比如 guouser.t_test 表,不能回收 revoke UPDATE ON guouser.T_TEST from guouser;

猜你喜欢

转载自www.cnblogs.com/liang545621/p/9097990.html