内容
1.用户的建立与修改,向用户授权与回收
2.角色的建立与修改,向角色授权与回收
步骤
(一)管理用户
1.创建用户 Bob,口令为 CRUSADER。为 Bob 分配缺省表空间 USERS 和
临时表空间 TEMP。此外,还应确保 Bob 可以登录(GRANT CREATE SESSION
TO bob;)。
2.创建用户 Emi,口令为 MARY。为 Emi 分配缺省表空间 USERS 和临时
表空间 TEMP。
3.修改用户
a)以用户 Bob 的身份登录,更改其临时表空间。
b)以用户 SYSTEM 的身份登录,删除 Bob 的缺省表空间限额。
c)以用户 Bob 的身份登录,将其口令更改为 SAM。
4.从数据库中删除 Emi 的帐户。
5.假设 Bob 忘记了他的口令。为他指定一个口令 OLINK,并要求他下次
登录时对口令做出相应更改。
6.以 Bob 身份登录,结果如何?
(二)管理权限
1.以用户 SYSTEM 的身份创建用户 Emi 并赋予它登录到数据库并在其方
案中创建对象的能力。
2.以用户 SYSTEM 的身份赋予 Emi 从 Scott 的 DEPT 表中进行选择的能力。
3.以 Scott 的身份重新连接,并赋予 Emi 从 Scott 的 DEPT 表中进行选择的
能力。此外,使 Emi 能向其他用户赋予选择权限。
4.对象权限的级联授权。
a)以 Emi 的身份使 Bob 能够访问 Scott 的 DEPT 表。
b)以 Scott 的身份撤消 Emi 读取 Scott 的 DEPT 表的权限。
c)以 Bob 的身份查询 Scott 的 DEPT 表。
(三)管理角色
1.创建名为 DEV 的角色,该角色允许被授予该角色的用户能够创建表、视
图并能够从 Scott 的 DEPT 表进行选择。
2.以 Emi 用户身份创建一个有关 Scott 的 DEPT 表的视图 D_VIEW。
3.将 RESOURCE 角色和 DEV 角色分配给 Emi。
4.以 Emi 用户身份创建一个有关 Scott 的 DEPT 表的视图 D_VIEW。
==================================
答案
1.创建用户 Bob,口令为 CRUSADER。为 Bob 分配缺省表空间 USERS 和
临时表空间 TEMP。此外,还应确保 Bob 可以登录(GRANT CREATE SESSION
TO bob;)。
-- Create the user
create user Bob
identified by CRUSADER
default tablespace USERS
temporary tablespace TEMP;
-- Grant/Revoke system privileges
grant create session to Bob;
2.创建用户 Emi,口令为 MARY。为 Emi 分配缺省表空间 USERS 和临时
表空间 TEMP。
-- Create the user
create user Emi
identified by MARY
default tablespace USERS
temporary tablespace TEMP;
3.修改用户
a)以用户 Bob 的身份登录,更改其临时表空间。
-- Modify the user
alter user BOB
temporary tablespace UNDOTBS1T;
b)以用户 SYSTEM 的身份登录,删除 Bob 的缺省表空间限额。
-- Modify the user
alter user BOB
quota 0 on USERS;
c)以用户 Bob 的身份登录,将其口令更改为 SAM。
alter user BOB
identified by SAM;
4.从数据库中删除 Emi 的帐户。
drop user Emi;
5.假设 Bob 忘记了他的口令。为他指定一个口令 OLINK,并要求他下次
登录时对口令做出相应更改。
-- Modify the user
alter user BOB
identified by OLINK
password expire;
6.以 Bob 身份登录,结果如何?
(二)管理权限
1.以用户 SYSTEM 的身份创建用户 Emi 并赋予它登录到数据库并在其方案中创建对象的能力。
这里赋予一个创建表的权限
-- Create the user
create user Emi
identified by Emi;
-- Grant/Revoke system privileges
grant create session to Emi;
grant create any table to Emi;
2.以用户 SYSTEM 的身份赋予 Emi 从 Scott 的 DEPT 表中进行选择的能力。
-- Grant/Revoke object privileges
grant select on SCOTT.DEPT to Emi;
3.以 Scott 的身份重新连接,并赋予 Emi 从 Scott 的 DEPT 表中进行选择的能力。此外,使 Emi 能向其他用户赋予选择权限。
-- Grant/Revoke object privileges
grant select on DEPT to EMI with grant option;
4.对象权限的级联授权。
a)以 Emi 的身份使 Bob 能够访问 Scott 的 DEPT 表。
-- Grant/Revoke object privileges
grant select on SCOTT.DEPT to BOB;
b)以 Scott 的身份撤消 Emi 读取 Scott 的 DEPT 表的权限。
-- Grant/Revoke object privileges
revoke select on DEPT from EMI;
c)以 Bob 的身份查询 Scott 的 DEPT 表。
select * from scott.dept t;
(三)管理角色
1.创建名为 DEV 的角色,该角色允许被授予该角色的用户能够创建表、视图并能够从 Scott 的 DEPT 表进行选择。
-- Create the role
create role DEV;
-- Grant/Revoke object privileges
grant select on SCOTT.DEPT to DEV;
-- Grant/Revoke system privileges
grant create any table to DEV;
grant create any view to DEV;
2.以 Emi 用户身份创建一个有关 Scott 的 DEPT 表的视图 D_VIEW。
CREATE VIEW D_VIEW
AS
select * from scott.dept t where t.deptno <> 40
3.将 RESOURCE 角色和 DEV 角色分配给 Emi。
-- Grant/Revoke role privileges
grant dev to EMI;
4.以 Emi 用户身份创建一个有关 Scott 的 DEPT 表的视图 D_VIEW。
CREATE VIEW D_VIEW
AS
select * from scott.dept t where t.deptno <> 40