Oracle学习(十六)之建表和审计以及权限管理

来源:互联网 发布:goodsync mac 编辑:程序博客网 时间:2024/06/06 04:25

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之间。
0 0
原创粉丝点击