1、创建表,要求如下:
1)以system用户登录,创建表,要求如下,
2)– 表名为“EMP_EDCG4”,
3)– 表的说明为“员工基本信息(普通表)”,
4)– 以下为字段信息,根据描述确定合适的类型及宽度,
5)~~ (1)字段名为“emp_no”,
6)~~ (1)字段说明为“员工编号”,
7)~~ (1)类型特征为“性能优先”,
8)~~ (1)长度:有非数字字符,字符数设置为8,
9)~~ (2)字段名为“ename”,
10)~~ (2)字段说明为“姓名”,
11)~~ (2)类型特征为“性能优先”,
12)~~ (2)长度:可存汉字数设置为7,
13)~~ (3)字段名为“empsex”,
14)~~ (3)字段说明为“员工性别”,
15)~~ (3)类型特征为“性能优先”,
16)~~ (3)长度:可存汉字数设置为2,
17)~~ (4)字段名为“e_enroll”,
18)~~ (4)字段说明为“雇佣日期”,
19)~~ (4)类型特征为“日期”,
20)~~ (5)字段名为“empsal”,
21)~~ (5)字段说明为“薪水”,
22)~~ (5)类型特征为“数值”,
23)~~ (5)小数位数设置为2,
24)~~ (5)有效数字个数设置为11,
25)~~ (6)字段名为“empmanager”,
26)~~ (6)字段说明为“上级主管”,
27)~~ (6)类型特征为“与员工编号一致”,
28)~~ (6)长度为“与员工编号一致”,
29)~~ (7)字段名为“empdepart”,
30)~~ (7)字段说明为“部门名称”,
31)~~ (7)类型特征为“最省空间”,
32)~~ (7)长度:可存汉字数设置为8,
33)– 以下为附加信息,根据描述确定合适的语句,
34)—- 存储表空间为“USERS”,
35)—- 闪回表为“支持”,
36)—- 初始事务位置数设置为27,
37)—- 缓存池为“RECYCLE”。
SYS(D647001)>conn
请输入用户名: system
输入口令:
已连接。
SYSTEM(D647001)>create table EMP_EDCG4
2 (emp_no char(8),
3 ename char(21),
4 empsex char(6),
5 e_enroll date,
6 empsal decimal(11,2),
7 empmanager char(8),
8 empdepart varchar(24) )
9 tablespace users enable row movement initrans 27 storage (buffer_pool recycle);
表已创建。
SYSTEM(D647001)>comment on table EMP_EDCG4 is '员工基本信息(普通表)';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.emp_no is '员工编号';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.ename is '姓名';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.empsex is '员工性别';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.e_enroll is '雇佣日期';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.empsal is '薪水';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.empmanager is '上级主管';
注释已创建。
SYSTEM(D647001)>comment on column EMP_EDCG4.empdepart is '部门名称';
注释已创建。
2、管理系统权限和对象权限,要求如下:
1)给用户5282赋以下权限,
2)---- 在所有用户(包括sys)的“触发器”的“创建”权限,此权限为“不可传递”,
SYS(D647001)>grant create any trigger to "5282";
授权成功。
3)---- 创建会话的权限,此权限为“可传递”,
SYS(D647001)>grant create session to "5282" with admin option;
授权成功。
查询:
SYS(D647001)>select * from DBA_SYS_PRIVS where GRANTEE='5282';
GRANTEE PRIVILEGE ADMIN_OPTION
---------- -------------------- -------------
5282 CREATE ANY TRIGGER NO
5282 CREATE SESSION YES
4)---- 在system的“员工基本信息(普通表)”上“查询记录”的权限,此权限为“可传递”,
SYS(D647001)>grant select on system.EMP_EDCG4 to "5282" with grant option;
授权成功。
SYS(D647001)>select * from DBA_TAB_PRIVS where GRANTEE='5282';
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTA HIERAR
---------- ---------- --------------- ---------- -------------------- ------ ------
5282 SYSTEM EMP_EDCG4 SYSTEM SELECT YES NO
5)---- 在system的“员工基本信息(普通表)”上“更新”字段“上级主管”的权限,此权限为“不可传递”,
SYS(D647001)>grant update(empmanager) on system.EMP_EDCG4 to "5282";
授权成功。
6)给用户5282赋身份为“sysdba”。
SYS(D647001)>grant sysdba to "5282";
授权成功。
3、创建和管理角色,要求如下:
1)创建角色1为“R_83”,
2)角色1口令验证为“需要”,
SYS(D647001)>create role R_83 identified by R_83;
角色已创建。
3)创建角色2为“R_FD”,
4)角色2口令验证为“不需要”,
SYS(D647001)>create role R_FD;
角色已创建。
5)创建角色3为“R_C8”,
6)角色3口令验证为“不需要”,
SYS(D647001)>create role R_C8;
角色已创建。
7)给角色1赋权限为“创建用户”,
8)给角色1的权限特性为“可传递”,
SYS(D647001)>grant CREATE USER to R_83 with admin option;
授权成功。
9)给角色“R_83”赋权限,在system的“员工基本信息(普通表)”上可以“查询记录”的权限,此权限为“不可传递”,
SYS(D647001)>grant select on system.EMP_EDCG4 to R_83;
授权成功。
10)给角色“R_83”赋权限,在system的“员工基本信息(普通表)”的“更新薪水“的权限,此权限为“不可传递”,
SYS(D647001)>grant update(empsal) on system.EMP_EDCG4 to R_83;
授权成功。
11)给角色“R_FD”赋权限“删除配置文件”,此权限为“可传递”,
SYS(D647001)>grant drop profile to R_FD with admin option;
授权成功。
12)给角色“R_FD”赋权限,在system的“员工基本信息(普通表)”上“删除记录”的权限,此权限为“不可传递”,
SYS(D647001)>grant delete on system.EMP_EDCG4 to R_FD;
授权成功。
13)给角色“R_FD”赋权限,在system的“员工基本信息(普通表)”上“更新上级主管”的权限,此权限为“不可传递”,
SYS(D647001)>grant update(empmanager) on system.EMP_EDCG4 to R_FD;
授权成功。
14)给角色R_C8赋角色R_83,此角色为“可管理”,
SYS(D647001)>grant R_83 to R_C8 with admin option;
授权成功。
15)给角色R_C8赋角色R_FD,此角色为“不可管理”,
SYS(D647001)>grant R_FD to R_C8;
授权成功。
16)给角色R_C8赋角色DBA,此角色为“可管理”,
SYS(D647001)>grant dba to R_C8 with admin option;
授权成功。
17)给用户“5282”赋角色“R_C8”,是缺省角色,此角色为“可管理”,
SYS(D647001)>grant R_C8 to "5282" with admin option;
授权成功。
SYS(D647001)>alter user "5282" default role R_C8;
用户已更改。
18)给用户“5282”赋角色“R_83”,不是缺省角色,此角色为“不可管理”。
SYS(D647001)>grant R_83 to "5282";
授权成功。
SYS(D647001)>select * from dba_role_privs where grantee='5282';
GRANTEE GRANTED_RO ADMIN_OPTION DEFAUL
---------- ---------- ------------------------- ------
5282 R_83 NO NO
5282 R_C8 YES YES
4、管理审计,要求如下:
1)开启审计,使审计结果存储在数据库中,存储表空间为“USERS”,
SYS(D647001)>alter table sys.aud$ move tablespace users;
表已更改。
2)权限审计1:按不成功审计,审计5282用户,审计权限为“create procedure”,
SYS(D647001)>audit create procedure by "5282" whenever not successful;
审计已成功。
3)权限审计2:按全部审计,审计全部用户,审计权限为“create synonym”,
SYS(D647001)>audit create synonym;
审计已成功。
4)语句审计1:按不成功审计,审计5282用户,审计语句为“database link”,
SYS(D647001)>audit database link by "5282" whenever not successful;
审计已成功。
5)语句审计2:按成功审计,审计全部用户,审计语句为“synonym”,
SYS(D647001)>audit synonym whenever successful;
审计已成功。
6)对象审计1:成功操作按会话审计,失败操作按访问审计,审计system.EMP_EDCG4上的权限为“alter”,
SYS(D647001)>audit alter on system.EMP_EDCG4 by session whenever successful;
审计已成功。
SYS(D647001)>audit alter on system.EMP_EDCG4 by access whenever not successful;
审计已成功。
7)对象审计2:成功操作按访问审计,失败操作按会话审计,审计system.EMP_EDCG4上的权限为“delete”,
SYS(D647001)>audit delete on system.EMP_EDCG4 by session whenever not successful;
审计已成功。
SYS(D647001)>audit delete on system.EMP_EDCG4 by access whenever successful;
审计已成功。
8)按审计要求进行相应操作,使审计结果数介于22和56之间。