Oracle 数据库复习题.docx
《Oracle 数据库复习题.docx》由会员分享,可在线阅读,更多相关《Oracle 数据库复习题.docx(13页珍藏版)》请在冰豆网上搜索。
Oracle数据库复习题
数据库复习
题型:
一 单选题2分*15=30分
二 填空题 1分*20=20分
三 简答题 20分
四 解答题 15分 分析SQL语句:
改错,写结果
五 综合知识运用题(共15分)
(写SQL语句)
绪论部分
1、了解其他大型数据库系统
a)IBM公司的DB2
b)Informix
c)Sybase
d)SQL Server
2、Oracle10g中的“g”的含义是什么?
Oracle9i中的“i”的含义是什么?
g:
Grid网格 i:
Internet互联网
Oracle的体系结构和数据库操作
1、图示Oracle的物理数据库、逻辑数据库、用户之间的逻辑关系。
答:
一个Oracle数据库有一个物理存储结构和一个逻辑存储结构。
逻辑存储结构是数据概念上的组织,主要有表空间、表、数据段、区和数据块等概念组成;物理存储结构是实现数据的存储单元,主要有数据文件、重写日志文件和控制文件组成。
用户虽然不是数据库中的一个物理结构,但它与数据库中的对象有着重要的关系,这是因为用户拥有数据库的对象。
2、段是什么概念?
如何组成的。
段包括哪几种?
各功能是什么?
答:
依照不同的数据处理性质,可能需要在数据表空间内划分出不同区域,以存放不
同数据,将这些区域称之为“段”(SEGMENT)。
段包括数据段、索引段、临时段、回滚段。
(1)数据段:
是存储在数据库中用户建立的表对象,在很大程度上包括了组成模式的和。
(2)索引段:
是存储在数据库中用户建立的索引对象。
(3)临时段:
当一个SQL语句需要临时工作区时,由Oracle建立。
当语句执行完毕,退回给系统。
(4)回滚段:
回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。
回滚段的头部包含正在使用的该回滚段事务的信息。
一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。
回滚段主要完成两项任务:
(1)回滚段通过保存恢复或“先前映象”信息(对于DML语句所作的所有修改),提供取消事务的方法。
这些信息非常重要,可以完成从事务语句失败、程序失败和媒介失败中恢复。
(2)为事务提供读一致性,特别是对运行时间长的作业。
3、Oracle的存储空间的基本单位是什么?
与OS的基本存储单位的关系。
答:
Oracle的存储空间的基本单位是块Block。
与OS的基本存储单位的关系是它的整数倍。
4、Oracle的常用表空间有哪些?
各功能是什么?
答:
Oracle的常用表空间:
(l)系统表空间
系统表空间(SystemTablespace)是每个Oracle数据库都必须具备的部分。
在系统表空间中存放的是诸如表空间名称、表空间所含数据文件这类管理数据库自身所需的信息。
(2)临时表空间(Temptablespace)
是Oracle用于存储其所有临时表的所在。
(3)工具表空间(ToolsTablespace)
用于保存数据库工具软件所需的数据库对象,如像OracleReports这样的工具软件在工作时有自己的一组专用表。
像其他Oracle应用一样,OracleReports把这些表存放在数据库中。
大多数DBA都将支持工具运行所需的表放在这个表空间中。
(4)用户表空间(UsersTablespace)
用于存放用户的私有信息。
用户表空间是DBA(数据管理员)许可用户放数据库对象的地方。
(5)数据及索引表空间
在Oracle数据库中,索引是专用的数据库对象,可以帮助Oracle迅速找出表中存放的数据。
(6)回滚表空间
所有Oracle数据库都需要在一个地方保存恢复(Undo)信息。
这个用于保存回滚段(RollbackSegment)的表空间称作rollback(回滚)或简称rbs。
6、为什么要给用户指定默认表空间和临时表空间?
1USERS表空间是Oracle系统建议用户使用的表空间。
用户表空间是DBA(数据管理员)许可用户放数据库对象的地方。
2TEMPORARY表空间。
在Oracle数据库中,临时表空间主要供用户临时使用。
7、给用户指定默认表空间和临时表空间后,用户就可以在该表空间上创建表了吗?
如果不能,需要什么权限?
一个用户如果要对某一数据库进行操作,必须满足以下三个条件:
(1)登录Oracle服务器时必须通过身份验证;
(2)必须是该数据库的用户或者是某一数据库角色的成员;
(3)必须有执行该操作的权限。
8、简述在数据库维护中如何利用副本和日志有效地实现数据库恢复功能。
数据库运行在archive模式下,那么一旦数据库损坏则可以通过冷备份(热备份)和归档备份将数据库恢复到断点状态。
数据库控制文件恢复(假设所有控制文件均被破坏):
数据库基于文件系统:
利用操作系统的tar、cp等命令即可。
数据库数据文件恢复:
数据及索引表空间、系统表空间的恢复:
回拷相关的数据库文件和该数据文件备份以来所有生成的所有逻辑日志文件并执行如下命令:
svrmgrl>startupmount
svrmgrl>alterdatabaserecoverautomatic
如果控制文件被破坏,则:
svrmgrl>alterdatabaserecoverusingbackupcontrofile;按照提示输入log文件名和redolog文件名
svrmgrl>alterdatabaseopenresetlogs;
数据库临时文件和回滚表空间的恢复:
简单地offlinedrop并重建即可。
9、数据库的启动和关闭。
数据库启动有哪几种形式?
要启动和关闭数据库,必须要以具有Oracle管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。
启动一个数据库需要三个步骤:
启动数据库、装载数据库、打开数据库。
数据库启动有STRATUPNORMAL,STARTUPMOUNT,STRATUPNOMOUNT。
STARTUPFORCE:
该命令其实是强行关闭数据库(shutdownabort)和启动数据库(startup)两条命令的一个综合。
对于数据库的关闭,有四种不同的关闭选项:
1、SHUTDOWNNORMAL
2、SHUTDOWNIMMEDIATE
3、SHUTDOWNTRANSACTIONAL
4、SHUTDOWNABORT
10、什么是Oracle的实例?
它是一种什么机制?
数据库实例(instance)也称作服务器(server),是指用来访问数据库文件集的存储结构(统称为系统全局区SystemGlobalArea,即SGA)及后台进程的集合。
每一个运行的ORACLE数据库与一个ORACLE实例相联系。
它是存取和控制一数据库的软件机制。
每一次在数据库服务器上启动一数据库时,称为系统全局区(SGA)的一内存区被分配,有一个或多个ORACLE进程被启动。
该SGA和ORACLE进程的结合称为一个ORACLE数据库实例。
一个实例的SGA和进程为管理数据库数据、为该数据库一个或多个用户服务而工作。
11、Oracle系统的构成(内存结构、主要的后台进程和物理数据库来描述)。
12、各后台进程的功能
Oracle为每个实例建立了后台进程,用来增强用户进程运行Oracle程序的能力。
1)SMON进程:
该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。
2)PMON进程:
该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。
3)DBWR进程:
该进程执行将缓冲区写入数据文件。
当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。
4)LGWR进程:
日志写入进程(LogWriter,LGWR)是一个专门用于将重做项写入重做日志的进程。
5)Dnnn进程:
调度进程(Dispatcher,Dnnn)是一个可选的后台进程,仅在使用多线程服务器时出现。
6)ARCH进程:
该进程将已填满的在线日志文件拷贝到指定的存储设备。
当日志是为ARCHIVELOG使用方式、并可自动地归档时ARCH进程才存在。
7)CKPT进程:
校验点进程(CKPT)是一个可选进程。
在适当时候产生一个checkpoint事件,
8)RECO进程:
只有数据库运行在Oracle分布式选项下才能看到这个可选进程。
在分布式事务中,分布在两个或更多地点的数据必须保持同步。
9)LCKn进程:
锁进程(Lock,LCKn)是一个可选进程。
当用户正在并行服务器模式下运行Oracle数据库时,将发现多个锁定进程。
13、Oracle的物理文件都有哪些部分组成?
答:
Oracle的物理文件有数据文件、日志文件、控制文件、归档文件四部分组成。
14、Oracle的逻辑结构包括哪些部分组成?
答:
逻辑存储结构是数据概念上的组织,主要有表空间、表、数据段、区和数据块等概念组成;
15、OEM的管理工具包括
(1)例程管理。
(2)方案管理。
(3)安全管理。
(4)存储管理。
16、图示SGA的主要组成。
简述各部分的内容。
当激活Oracle10g数据库时,系统会先在内存内规划一个固定区域,用来存储每位使用者所需存取的数据以及Oracle10g运作时必备的系统信息。
这个区域称为系统全局区(SystemGlobalArea),俗称SGA。
(1) 数据块缓存区。
数据块缓冲区为SGA的主要成员,用来存放读取自数据文件的数据块复本,或是使用者曾经处理过的数据。
(2) 字典缓存区。
数据库对象的信息存储在数据字典中,这些信息包括用户帐号、数据文件名、盘区位置、表说明和权限等。
(3) 重做日志缓冲区:
前面已介绍过,联机重做日志文件用于记录数据库的更改,以便在数据库恢复过程中用于向前滚动。
(4) SQL共享池:
SQL共享池存储数据字典缓存区及库缓存区(librarycache),即对数据库进行操作的语句信息。
17、读写日志文件和数据库的进程是什么?
答:
(1) DBWR(数据库写入程序):
负责将数据块缓存区内变动过的数据块回写至硬盘内的数据文件。
(2) LGWR(日志写入程序):
负责将重做日志缓冲区内的数据变动记录循序写入重做日志文件。
18、何谓归档模式?
解释归档和非归档模式之间的不同和它们各自的优缺点?
日志文件有哪两类?
答:
归档模式是指你可以备份所有的数据库事务并恢复到任意一个时间点。
非归档模式则相反,不能恢复到任意一个时间点。
但是非归档模式可以带来数据库性能上的少许提高。
日志文件有重做日志与归档日志两类。
19、Oracle的事务处理语句
答:
Oracle的事务处理语句有Commit、Rollback、SavePoint
事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务的四个性质:
(1)原子性
(2)一致性(3)隔离性(4)持续性:
持续性也称永久性。
20、建表为什么要加约束?
列出你知道的几种约束(三种以上)。
有哪3类完整性约束应用?
答:
建表加约束是为了保证数据的完整性,使非法数据不能进入数据库。
。
可以为一个表列创建约束条件,此时,表中的每一行都必须满足约束条件定义所规定的条件。
约束条件有以下5种。
①主键(PrimaryKey):
主键是表中的一列或多个列。
②缺省(DEFAULT)约束条件:
在表中插入一行数据但没有为列指定值时生成一个在定义表时预先指定的值。
③检查(CHECK)约束条件:
该约束条件确保指定列中