Oracle SQL应用技术
第12章 用户、权限与角色习题
1、创建一个口令认证的数据库用户neu,口令为neu,默认表空间为USERS,配额为10MB,初始账户为锁定状态。
在sys账户下执行:
create user neu identified by neu default tablespace users quota 10M on users account lock;
用户已创建。
2、为neu用户授权CREATE SESSION权限、scott.emp表的SELECT权限和UPDATE权限。同时允许该用户将获得的权限授予其他用户。
在sys账户下执行:
SQL> grant create session to neu with admin option;
授权成功。
SQL> grant select,update on scott.emp to neu with grant option;
授权成功。
3、将用户neu的账户解锁
SQL> alter user neu account unlock;
用户已更改。
4、用户neu登录数据库,查询和更新scott.emp中的数据。
SQL> conn neu/neu
已连接。
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 23-5月 -87 1100
20
7900 JAMES CLERK 7698 03-12月-81 950
30
7902 FORD ANALYST 7566 03-12月-81 3000
20
已选择16行。
5、禁止用户neu将获得的CREATE SESSION权限再授予其他用户。
SQL> revoke create session from neu;
撤销成功。
SQL> conn sys/tiger as sysdba
已连接。
SQL> grant create session to neu;
授权成功。
6、禁止用户neu将获得的scott.emp的SELECT权限和UPDATE权限再授予其他用户。
SQL> revoke select,update on scott.emp from neu;
撤销成功。
SQL> grant select,update on scott.emp to neu;
授权成功。
7、创建角色rolea和roleb,将CREATE TABLE权限,scott.emp的INSERT权限和DELETE权限授予rolea,将CONNECT,RESOURCE角色授予roleb。
SQL> create role rolea;
角色已创建。
SQL> create role roleb;
角色已创建。
SQL> grant create table to rolea;
授权成功。
SQL> grant insert,delete on scott.emp to rolea;
授权成功。
SQL> grant connect,resource to roleb;
授权成功。
8、将角色rolea、roleb授予用户neu。
SQL> grant rolea,roleb to neu;
授权成功。
9、回收用户neu从角色roleb获得的权限。
SQL> revoke roleb from neu;
撤销成功。