1.简答题
(1)
Oracle数据库的安全机制包括:
用户管理、权限管理、角色管理、表空间设置和配额管理、用户资源限制以及数据库审计等。
(2)
Oracle提供了3种用户认证机制,即数据库身份认证、外部身份认证和全局身份认证。只有通过认证的用户才能访问数据库。
(3)
Oracle数据库中权限有两类,系统权限和对象权限。系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。
(4)
在Oracle数据库中,将权限授予用户有2种方法:直接授权,利用GRANT命令直接为用户授权;间接授权,先将权限授予角色,然后再将角色授予用户。
(5)
Oracle数据库中角色分为系统预定义的角色和用户自定义的角色两类。角色是一系列权限的集合,可以先将权限授予角色,然后将角色授予具有相同权限的用户。
(6)
系统权限授予与回收时不需要指定权限的所有者,因为系统权限是数据库级别的权限;而对象权限的授予与回收需要指定权限所依附的数据库对象。
(7)
Oracle数据库概要文件主要用来限制用户的数据库及系统资源的使用以及管理用户口令策略。
(8)
常用的系统权限包括:CREATE TABLE、CREATE VIEW、CREATE SESSION、CREATE ANY TABLE、CREATE USER等;常用的对象权限包括:SELECT、UPDATE、DELETE、INSERT、ALTER等;常用角色包括:CONNECT、DBA、RESOURCE、EXP_FULL_DATABASE、IMP_FULL_DATABASE
(9)数据库概要文件资源控制参数包括:
l CPU_PER_SESSION :限制用户在一次会话期间可以占用的CPU 时间总量,单位为百分之一秒。当达到该时间限制后,用户就不能在会话中执行任何操作了,必须断开连接,然后重新建立连接。
l CPU_PER_CALL:限制每个调用可以占用的CPU 时间总量,单位为百分之一秒。当一个SQL语句执行时间达到该限制后,该语句以错误信息结束。
l CONNECT_TIME:限制每个会话可持续最大时间值,单位为分钟。当数据库连接持续时间超出该设置时,连接被断开。
l IDLE_TIME:限制每个会话处于连续空闲状态最大时间值,单位为分钟。当会话空闲时间超过该设置时,连接将被断开。
l SESSIONS_PER_USER:限制一个用户打开数据库会话的最大数量。
l LOGICAL_READS_PER_SESSION:允许一个会话读取数据块的最大数量,包括从内存中读取的数据块和从磁盘中读取的数据块的总和。
l LOGICAL_READS_PER_CALL :允许一个调用读取的数据块的最大数量,包括从内存中读取的数据块和从磁盘中读取的数据块的总和。
l PRIVATE_SGA:在共享服务器操作模式中,执行SQL语句或PL/SQL程序时,Oracle将在SGA中创建私有SQL区。该参数限制在SGA中一个会话可分配私有SQL区的最大值。
l COMPOSITE_LIMIT :称为“综合资源限制”,是一个用户会话可以消耗的资源总限额。该参数由CPU_PER_SESSION、 LOGICAL_READS_PER_SESSION、 PRIVATE_SGA、 CONNECT_TIME几个参数综合决定。
(10)概要文件中的口令管理参数包括:
l FAILED_LOGIN_ATTEMPTS:该参数限制用户在登录Oracle数据库时允许失败的次数。一个用户尝试登录数据库的次数达到该值时,该用户的账户将被锁定,只有解锁后才可以使用。
l PASSWORD_LOCK_TIME:该参数用于设定当用户登录失败后,用户账户被锁定的时间长度。
l PASSWORD_LIFE_TIME:该参数用于设置用户口令有效天数。达到限制的天数后,该口令将过期,需要设置口令。
l PASSWORD_GRACE_TIME:用于设定在PASSWORD_LIFE_TIME过期后一个天数。在这几天中,用户将接收到一个关于口令过期需要修改口令的警告。当达到规定的天数后,原口令过期。
l PASSWORD_REUSE_MAX:该参数用于指定一个用户口令被修改后,必须经过多少天后才可以重新使用该口令。
l PASSWORD_REUSE_TIME:该参数用于指定一个口令被重新使用前,必须经过多少次修改。
l PASSWORD_VERIFY_FUNCTION:设置口令复杂性校验函数。这个函数会对口令进行校验,以判断口令是否符合最低复杂程度或其他校验规则。
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 scott.emp TO usera_exer WITH GRANT OPTION;
(4)
ALTER USER usera_exer ACCOUNT UNLOCK;
(5)
CONNECT usera_erer/usera
SELECT * FROM scott.emp;
UPDATE scott.emp SET sal=sal+100 ;
GRANT SELECT ,UPDATE ON scott.emp TO userb_exer;
(6)
REVOKE CREATE SESSION FROM usera_exer;
GRANT CREATE SESSION TO usera_exer;
(7)
REVOKE SELECT,UPDATE ON scott.emp FROM usera_exer;
GRANT SELECT ,UPDATE ON scott.emp TO usera_exer;
(8)
CREATE ROLE rolea;
CREATE ROLE roleb;
GRANT CREATE TABLE TO rolea;
GRANT INSERT,UPDATE ON scott.emp TO rolea;
GRANT CONNECT ,RESOURCE TO roleb;
(9)
GRANT rolea,roleb TO usera_exer;
(10)
ALTER USER usera_exer DEFAULT ROLE ALL EXCEPT roleb;
(11)
CREATE PROFILE pwdfile
LIMIT CONNECT_TIME 30
IDLE_TIME 10 FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LIFE_TIME 20 PASSWORD_LOCK_TIME 10
ALTER USER usera_exer PROFILE pwdfile;
3.选择题
(1)A
(2)B
(3)A
(4)A
(5)B
(6)A
(7)D
(8)D
(9)D
(10)D