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

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之间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值