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

Oracle 取消登陆与登出审计

1. oracle 11gr2的审计功能默认是打开的,但是由于默认状况下是会审计所有账号的登入和登出的,这就使得审计日志的数据量非常大....
  • jumewo
  • jumewo
  • 2014年05月12日 18:41
  • 1150

oracle审计功能启动关闭

 一 审计功能的参数控制audit_trail 参数的值可以设置为以下几种1. NONE:不开启2. DB:开启审计功能3. OS:审计记录写入一个操作系统文件。4. TRUE:与参数DB一样5. F...
  • mittee
  • mittee
  • 2009年02月09日 11:18
  • 8310

ORACLE的数据库审计 audit

审计的功能:监控特定用户在database 的action(操作) 审计种类: 1)标准数据库审计(语句审计、权限审计、对象审计) 2)基于值的审计(Value-Based, 触发器审计) 3)精细...
  • S630730701
  • S630730701
  • 2016年08月10日 20:57
  • 2542

Oracle Database标准审计和细粒度审计功能

这篇文章主要简单的讨论一下Oracle的审计功能,包括粗粒度审计、细粒度审计(FGA) 一.粗粒度审计功能。 1.审计级别: 语句级审计(stmt):表示只审计某种类型的SQL语句,...
  • xuzhenxiang
  • xuzhenxiang
  • 2016年05月11日 14:53
  • 1533

oracle 11g审计关闭,及删除日志

oracle 11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多, 默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的...
  • louwzh
  • louwzh
  • 2016年04月28日 15:54
  • 13124

Oracle DB审计

• 说明DBA 负责的安全和审计工作 • 启用标准数据库审计 • 指定审计选项 • 复查审计信息 • 维护审计线索 责任分离 • 具有DBA 权限的用户必须是可信任的。 – 滥用...
  • rlhua
  • rlhua
  • 2013年10月04日 22:21
  • 7655

如何开启和关闭oracle数据库中的审计功能?

第1步:查看审计功能是否开启?
  • caiqingcccyyy
  • caiqingcccyyy
  • 2014年09月17日 21:43
  • 5130

有关oracle审计的几个数据字典视图…

1.DBA_AUDIT_TRAIL displays all standard audit trail entries. 查看所有的审计记录 2.USER_AUDIT_TRAIL displays t...
  • u010184335
  • u010184335
  • 2013年09月05日 14:34
  • 778

Oracle建表语句和约束语句案例

一、维护数据的完整性 概述:数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则。在Oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约...
  • huacai2010
  • huacai2010
  • 2012年09月04日 19:54
  • 2303

Oracle 11g 默认审计选项 说明

一. Oracle 11g 默认审计说明之前整理的一篇有关审计的说明:       Oracle Audit 审计 说明       http://blog.csdn.net/tianlesoftwa...
  • tianlesoftware
  • tianlesoftware
  • 2011年08月22日 11:07
  • 13217
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle学习(十六)之建表和审计以及权限管理
举报原因:
原因补充:

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