以下是测试过程,测试环境oracle 11.2.0.3 linux平台:
模拟将HR用户下的employees表的只读权限非配给test_ycr
创建用户:
SQL> create user test_ycr identified by oracle;
SQL> grant create session to test_ycr;
Grant succeeded.
此时用户无法选择employee表:
SQL> conn test_ycr/oracle;
Connected.
SQL> select employee_id from hr.employees;
select employee_id from hr.employees
*
ERROR at line 1:
ORA-00942: table or view does not exist
给test_ycr用户赋予employees表的只读权限后实现只读:
SQL> conn / as sysdba
Connected.
SQL> grant select on hr.employees to test_ycr;
Grant succeeded.
SQL> conn test_ycr/oracle
Connected.
SQL> select employee_id from hr.employees where employee_id=206;
EMPLOYEE_ID
-----------
206
但是无法修改:
SQL> update hr.employees set employee_id=333 where employee_id=206;
update hr.employees set employee_id=333 where employee_id=206
*
ERROR at line 1:
ORA-01031: insufficient privileges
创建用户:
SQL> create user test_ycr identified by oracle;
SQL> grant create session to test_ycr;
Grant succeeded.
此时用户无法选择employee表:
SQL> conn test_ycr/oracle;
Connected.
SQL> select employee_id from hr.employees;
select employee_id from hr.employees
*
ERROR at line 1:
ORA-00942: table or view does not exist
给test_ycr用户赋予employees表的只读权限后实现只读:
SQL> conn / as sysdba
Connected.
SQL> grant select on hr.employees to test_ycr;
Grant succeeded.
SQL> conn test_ycr/oracle
Connected.
SQL> select employee_id from hr.employees where employee_id=206;
EMPLOYEE_ID
-----------
206
但是无法修改:
SQL> update hr.employees set employee_id=333 where employee_id=206;
update hr.employees set employee_id=333 where employee_id=206
*
ERROR at line 1:
ORA-01031: insufficient privileges
功能实现。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29135257/viewspace-1978188/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29135257/viewspace-1978188/