第12章 安全管理
1.简答题
(1)
Oracle数据库的安全机制包括:用户管理、权限管理、角色管理、表空间设置和配额管理、用户资源限制以及数据库审计等。 (2)
Oracle数据库中权限有两类,系统权限和对象权限。系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。 (3)
在Oracle数据库中,将权限授予用户有2种方法:直接授权,利用GRANT命令直接为用户授权;间接授权,先将权限授予角色,然后再将角色授予用户。 (4)
Oracle数据库中角色分为系统预定义的角色和用户自定义的角色两类。角色是一系列权限的集合,可以先将权限授予角色,然后将角色授予具有相同权限的用户。 (5)
系统权限授予与回收时不需要指定权限的所有者,因为系统权限是数据库级别的权限;而对象权限的授予与回收需要指定权限所依附的数据库对象。 (6)
Oracle数据库概要文件主要用来限制用户的数据库及系统资源的使用以及管理用户口令策略。
(7)数据库概要文件资源控制参数包括:
? CPU_PER_SESSION :限制用户在一次会话期间可以占用的CPU 时间总量,单位为百
分之一秒。当达到该时间限制后,用户就不能在会话中执行任何操作了,必须断开连接,然后重新建立连接。
? CPU_PER_CALL:限制每个调用可以占用的CPU 时间总量,单位为百分之一秒。当一
个SQL语句执行时间达到该限制后,该语句以错误信息结束。 ? CONNECT_TIME:限制每个会话可持续最大时间值,单位为分钟。当数据库连接持续
时间超出该设置时,连接被断开。 ? IDLE_TIME:限制每个会话处于连续空闲状态最大时间值,单位为分钟。当会话空闲时
间超过该设置时,连接将被断开。 ? SESSIONS_PER_USER:限制一个用户打开数据库会话的最大数量。 ? LOGICAL_READS_PER_SESSION:允许一个会话读取数据块的最大数量,包括从内存中
读取的数据块和从磁盘中读取的数据块的总和。 ? LOGICAL_READS_PER_CALL :允许一个调用读取的数据块的最大数量,包括从内存中读
取的数据块和从磁盘中读取的数据块的总和。
? PRIVATE_SGA:在共享服务器操作模式中,执行SQL语句或PL/SQL程序时,Oracle将在SGA中创建私有SQL区。该参数限制在SGA中一个会话可分配私有SQL区的最大值。
? COMPOSITE_LIMIT :称为“综合资源限制”,是一个用户会话可以消耗的资源总限额。
该参数由CPU_PER_SESSION、 LOGICAL_READS_PER_SESSION、 PRIVATE_SGA、 CONNECT_TIME几个参数综合决定。
(8)概要文件中的口令管理参数包括:
? FAILED_LOGIN_ATTEMPTS:该参数限制用户在登录Oracle数据库时允许失败的次数。
一个用户尝试登录数据库的次数达到该值时,该用户的账户将被锁定,只有解锁后才可以使用。
? PASSWORD_LOCK_TIME:该参数用于设定当用户登录失败后,用户账户被锁定的时
间长度。
? PASSWORD_LIFE_TIME:该参数用于设置用户口令有效天数。达到限制的天数后,
该口令将过期,需要设置口令。
? PASSWORD_GRACE_TIME:用于设定在PASSWORD_LIFE_TIME过期后一个天数。在
这几天中,用户将接收到一个关于口令过期需要修改口令的警告。当达到规定的天数后,原口令过期。 ? PASSWORD_REUSE_MAX:该参数用于指定一个用户口令被修改后,必须经过多少天
后才可以重新使用该口令。
? PASSWORD_REUSE_TIME:该参数用于指定一个口令被重新使用前,必须经过多少
次修改。
? PASSWORD_VERIFY_FUNCTION:设置口令复杂性校验函数。这个函数会对口令进行校
验,以判断口令是否符合最低复杂程度或其他校验规则。
(9)
审计是监视和记录用户对数据库所进行的操作,以供DBA进行统计和分析。利用审计可以调查数据库中的可疑活动、监视和收集特定数据库活动的数据。 (10)
? 语句审计(Statement Auditing):对特定的SQL语句进行审计,不指定具体对象。 ? 权限审计(Privilege Auditing):对特定的系统权限使用情况进行审计。
? 对象审计(Object Auditing):对特定的模式对象上执行的特定语句进行审计。 ? 网络审计(Network Auditing):对网络协议错误与网络层内部错误进行审计。
2.实训题
(1)
CREATE USER usera_exer IDENTIFIED BY usera DEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT LOCK;
(2)
CREATE USER userb_exer IDENTIFIED BY userb; (3)
GRANT CREATE SESSION TO usera_exer WITH ADMIN OPTION;
GRANT SELECT ,UPDATE ON ehr.employees TO usera_exer WITH GRANT OPTION; (4)
ALTER USER usera_exer ACCOUNT UNLOCK; (5)
CONNECT usera_erer/usera SELECT * FROM ehr.employees;
UPDATE ehr.employees SET salary=salary+100 ;
GRANT SELECT ,UPDATE ON ehr.employees TO userb_exer; (6)
REVOKE CREATE SESSION FROM usera_exer; GRANT CREATE SESSION TO usera_exer; (7)
REVOKE SELECT,UPDATE ON ehr.employees FROM usera_exer; GRANT SELECT ,UPDATE ON ehr.employees TO usera_exer; (8)
CREATE ROLE rolea; CREATE ROLE roleb;
GRANT CREATE TABLE TO rolea;
GRANT INSERT,UPDATE ON ehr.employees TO rolea; GRANT CONNECT ,RESOURCE TO roleb; (9)
GRANT rolea,roleb TO usera_exer; (10)
CREATE PROFILE pwdfile
LIMIT CONNECT_TIME 30 IDLE_TIME 10 FAILED_LOGIN_ATTEMPTS PASSWORD_LIFE_TIME 20 PASSWORD_LOCK_TIME 10
ALTER USER usera_exer PROFILE pwdfile;
3.选择题
(1) A (2) B (3) A
4
(4) A (5) B (6) A (7) D (8) D (9) D (10) D
第13章 备份与恢复
1.简述题
(1)
在以数据库为数据管理中心的信息系统中,由于数据库故障而导致业务数据部分或全部丢失、系统运行失败的情况时有发生。因此,如何有效地预防数据库故障的发生以及在数据库发生故障后如何快速、有效地恢复数据库系统是数据库管理员的重要任务,其解决方法就是合理制定数据库的备份与恢复策略,执行有效的数据库备份与恢复操作。 (2)
备份:
? 物理备份与逻辑备份 ? 热备份与冷备份 ? 完全备份与部分备份 ? 归档备份与非归档备份
恢复:
? 物理恢复与逻辑恢复 ? 完全恢复与部分恢复
(3)
在SQL Plus环境中进行数据库完全热备份的步骤为: ? 启动SQL Plus,以SYSDBA身份登录数据库。 ? 将数据库设置为归档模式。
? 以表空间为单位,进行数据文件备份 ? 备份控制文件。
? 归档当前的联机重做日志文件。
? 备份归档日志文件,将所有的归档日志文件复制到备份磁盘中。
? 备份初始化参数文件,将初始化参数文件复制到备份磁盘中 (4)
可以进行数据库的完全恢复与不完全恢复。 完全恢复:
? 基于数据文件的完全恢复:某个数据文件损坏。
? 基于表空间的完全恢复:一个表空间中的多个数据文件损坏。
? 基于数据库的完全恢复:数据库多个表空间中的多个数据文件损坏。 不完全恢复:
? 基于时间的不完全恢复 ? 基于SCN的不完全恢复 ? 基于CANCEL的不完全恢复 (5)
? 配置恢复目录 ? 配置通道 (6)
与物理备份与恢复不同,逻辑备份与恢复必须在数据库运行的状态下进行,当数据库发生介质损坏而无法启动时,不能利用逻辑备份恢复数据库。因此,数据库备份与恢复是以物理备份与恢复为主,逻辑备份与恢复为辅的。
2.实训题
略
3.选择题
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)
E AD A D AD CD A BC C ACF B