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

原创 2015年07月07日 08:49:49

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之间。

APP生产和开发环境的分离(手把手教你)

在开发中,对产品进行迭代升级时,有时会遇到这种情况,手机中已经装了一个已经上线的产品,但是开发时还要在装一个正在开发中的产品,这时就只能卸载一个,才能安装另一个,比较麻烦,而且开发版本和发布版本 的一...

PHP语言代码漏洞审计技巧笔记分享

PHP代码审计,安全漏洞挖掘简要记录
  • bjtbjt
  • bjtbjt
  • 2016年03月05日 23:57
  • 1618

oracle学习用户创建和权限管理

创建用户及权限控制 1。 create user ling identified by password; 修改密码: alter user ling identified by ...

SQL Server与Oracle对比学习:权限管理(二) 一些有趣的比喻

SQL Server权限管理   login 与user的区别 我玩惯了Oracle刚一来玩SQL Server就被login 和user这样的概念搞的有点迷糊了.因为Oracle中没有这样的区...

SQL Server与Oracle对比学习:权限管理(一)

我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博,游戏,各种网站会员. 使用数据库自然也不例外,得先整个用户名和密码才能登进去使用里面的数据啊.虽然也有啥...

Oracle数据库权限管理学习笔记

1)权限,角色和用户的关系 权限(privilege):Oracle数据库预先定义好的、执行某些操作的能力。 角色(role):一组相关权限的集合。可以利用角色来简化权限的管理。 用户(user...

Oracle 学习笔记7 —— 权限管理2

1、对象权限的分类 根据不同的对象类型,Oracle数据库设置了多种类型的对象权限。   alter delete execute index insert rea...

oracle学习笔记-用户与权限管理-(12)

一、用户管理         在oracle中存在三类用户:sysdba、sysoper、普通用户。前两类用户为特权用户,拥有数据库的所有权限,特权用户的相关信息可以从动态性能视图v$pwfile_u...

SQL Server与Oracle对比学习:权限管理(一)

我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博,游戏,各种网站会员. 使用数据库自然也不例外,得先整个用户名和密码才能登进去使用里面的数据啊.虽然也有啥...

Oracle学习之数据库管理(一)权限管理&表空间

本人对数据库整个管理也不是特别精通,目前接触到了就顺便了解了一下。如有不对的地方,请指正或留言补充。 如果想用户想登录数据库,或者想创建实体或数据库结构就需要拥有相应的权限。同理,想对数据对象进行一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle学习(十六)之建表和审计以及权限管理
举报原因:
原因补充:

(最多只允许输入30个字)