前言: 在阅读《从零开始学 Oracle 》的时候,发现课后习题可以帮助自己回忆这一章节的内容。但是,没能找到题目的答案,于是自己总结了一份,这里是第14章到第17章。
第十四章 触发器和游标
一、填空题
- 根据触发器的触发时机,触发器一般分为4类,分别是DML触发器、DDL触发器、系统触发器和INSTEAD OF触发器。
- 如果要使用行级触发器,在创建触发器时,需要制定FOR EACH ROW选项。
- 在触发器中可以使用 : NEW 谓词记录获取新增的记录,使用 : OLD 谓词记录获取原始记录。
二、选择题
-
替代触发器只能在下面的哪个数据库对象或者是操作中定义?
A. 表
B. 视图
C. 数据库启动
D. 创建数据表【B】
-
要判断游标中 FETCH 到的行的记录数,应该使用哪个游标属性?
A. %FOUND
B. %ISOPEN
C. %NOTFOUND
D. %ROWCOUNT【D】
三、问答题
- 触发器的作用是什么?
监控数据库表的变更:在对数据库表进行INSERT、UPDATE或者DELETE操作时,通过触发器可以验证数据的正确性,进行完整性约束检查或者是记录日志。
自动数据库维护:通过为数据库系统定义系统级的触发器,可以在数据库启动或者退出时,进行数据库的维护清理工作。
控制数据库管理任务:通过定义DDL语句触发器,可以添加、修改或删除数据库对象记录日志或进行安全性管理。
- 请简要介绍游标的操作步骤。
- 定义游标
- 打卡游标
- 提取游标数据
- 关闭游标
第十五章 数据库安全性管理
一、填空题
- 在Oracle中,用户根据其权限可以分为两类,一类是 对象权限,具有自己对象的所有权限;一类是系统权限,这类用户具有DBA管理权限。
- 要在Oracle中创建用户,可以使用CREATE USER语句。
- 函数USER可以返回当前连接的用户名。
- 在Oracle中,通过为用户分配系统权限 ,可以让用户对Oracle数据库对象进行操作。
二、选择题
-
通过下面的哪个数据字典视图可以查看角色所具有的系统权限?
A. DBA_ROLES
B. ROLE_ROLE_PPRIVS
C. DBA_TAB_PRIVS
D. ROLE_SYS_PRIVS【D】
-
下面哪个权限不属于对象权限?
A. ALTER
B. DELETE
C. EXECUTE
D. CREATE TYPE【D】
三、问答题
- 请简单介绍方案与用户之间的区别。
用户是Oracle进行身份验证的一个数据库对象,客户端要成功地进入Oracle进行数据库操作,必须提供正确的用户名和密码。方案是用户所拥有的对象的集合,方案对象就是用户创建的对象。如scott方案对象,就是scott用户所拥有的对象。在Oracle中,用户与方案是一一对应的关系,而且一般用户名就是方案名。
- 权限与角色具有什么关系?
权限给用户一种行使Oracle数据库操作的权利,只有分配了特定的权限,用户才能进行一系列的操作,否则Oracle会抛出权利不足的错误消息。角色的引入可以简化权限的管理过程。
第十六章 数据库空间管理
一、填空题
- 表空间是数据库存储的逻辑单位,表空间由 段,区 和 块组成。
- 表空间分为两类,一类是系统表空间,一类是用户表空间。
- 表空间的管理方式分为两种,一种是数据字典管理方式,另一种是本地方式。
二、选择题
-
下面哪种类型不是表空间类型?
A. 系统表空间
B. 特殊表空间
C. 临时表空间
D. UNDO表空间【B】表空间分四种:系统表空间,临时表空间,UNDO表空间,大文件表空间。
-
下面的那个数据字典视图可以查询表空间的使用状态?
A. DBA_TABLESPACES
B. DBA_DATA_FILES
C. DBA_FREE_SPACE
D. DBA_TABLES【A】DBA_TABLESPACES用来查看当前表空间的信息;DBA_FREE_SPACE用来查看表空间的空余信息。
三、问答题
- 表空间的作用是什么?
在Oracle中,数据库数据最终存储为一系列的文件,Oracle出于跨平台的考虑,数据库对象实际上不直接对文件进行操作,而是抽象出了一个逻辑的层,这个层就是表空间。
- 如何创建UNDO表空间?
使用CREATE UNDO TABLESPACE 可以创建UNDO表空间。
第十七章 备份和恢复数据库
一、填空题
- 在Oracle中,备份和恢复根据操作难易度和需求可以分为3类,分别是脱机备份与恢复,联机备份与恢复 和 逻辑备份与恢复。
- 用于逻辑备份与恢复可以使用数据泵,这是两个服务端的程序,分别是 expdp 和 impdp
- 要获取进行备份的控制文件的列表,可以查询v$controlfile 数据字典视图。
二、选择题
-
下列关于数据泵的描述错误的是?
A. 数据泵是服务器端的程序
B. 数据泵可以直接备份到本地客户端文件夹
C. 使用数据泵必须要创建Oracle目录
D. 备份用户必须具有目录的写入权限【B】
-
要进行联机热备份,必须进入数据库处理归档日志模式,归档模式要在数据库的什么模式下设置?
A. OPEN
B. UNMOUNT
C. MOUNT
D. CLOSED【C】
三、问答题
- 什么是归档模式?
在非归档模式下,Oracle实例会联机重做日志组当做一个存储事务信息的循环缓冲区,在写满第一个日志文件后,开始写第二个,直到所有的日志文件写满为止。一旦最后一个联机重做日志文件也写满,日志写进程就开始重写第一个重做日志文件。而当以ARCHIVELOG模式运行时,后台进程在开始重写每一个重做日志文件之前,对日志进行复制归档,将这些归档的重做日志文件写入一个磁盘设备中。
- 数据库的启动顺序是什么?
- 读取数据库参数文件
- 读取所有的控制文件
- 读取所有的数据文件
- 读取所有的联机重做日志文件