大型数据库复习大纲.docx
- 文档编号:29568277
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:17
- 大小:88.43KB
大型数据库复习大纲.docx
《大型数据库复习大纲.docx》由会员分享,可在线阅读,更多相关《大型数据库复习大纲.docx(17页珍藏版)》请在冰豆网上搜索。
大型数据库复习大纲
大型数据库复习大纲
绪论部分
1、了解其他大型数据库系统
a)IBM公司的DB2
b)Informix
c)Sybase
d)SQL Server
2、Oracle11g中的“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)约束条件:
该约束条件确保指定列中的值符合一定的条件。
④惟一性(UNIQUE)约束条件:
用于保证应具有惟一性而又不是主键的一部分的那些列的惟一性。
5外键(ForeignKey)约束条件:
该约束条件规定表间的关系性质。
3类完整性应用为实体完整性、域完整性、参照完整性。
21、解释冷备份和热备份的不同点以及各自的优点。
联机备份又可称为热备份或ARCHIVELOG归档备份。
联机备份要求数据库运行在ARCHIVELOG方式下,数据库不需要关闭。
进行联机备份可以使用PL/SQL语句也可以使用备份向导。
热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。
脱机备份又称冷备份。
冷备份是数据库文件的物理备份,需要在数据库关闭状态下进行,适用于所有模式的数据库。
当数据库关闭时,其使用的各个文件都可以进行备份。
冷备份一般在SQL*Plus中进行。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
22、备份有几种,各自的恢复特性是什么?
导出有几种模式?
答:
备份有三种:
导出备份,联机备份(热备份),脱机备份(冷备份)。
方法
类型
恢复特性
Export
逻辑型
可以将任何数据库对象恢复到它被导出时的状态
冷备份
物理型
可将数据库恢复到它被关闭时的状态
热备份
物理型
可将数据库恢复到任一时间点的状态
导出有三种模式:
(1)交互模式。
在输入Exp命令后,根据系统的提示输入导出参数,如:
用户名、口
令和导出类型等参数。
(2)命令行模式。
命令行模式和交互模式类似,不同的是使用命令模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序。
(3)参数文件模式。
23、在Oracle中,进行模糊查询时用什么符号代表任意长字符串,用什么符号代表任意单个字符。
第二个字母为b的字符串表达式是什么?
答:
%代表任意长字符串、_代表任意单个字符、表示第二个字母为b的字符串表达式:
_b%
24、对数据库自身进行管理的信息被存储在哪里?
答:
系统表空间。
25、数据库运行在什么模式下可以从所有类型的失败中恢复数据?
答:
ARCHIVELOG归档模式。
PL/SQL
1、DML、DDL、DTL、DCL各包含哪些语句。
(1)数据操纵语言(DML)
(2)数据定义语言(DDL)
(3)数据控制语言(DCL)
2、SQL*PLUS命令包括哪些?
3、TO_DATE函数的使用,计算教师年龄:
To_number(To_char(sysdate,'YYYY'))-To_number(To_char(birthday,'YYYY'))
4、哪些语句是隐式提交?
哪些是显式提交?
在Oracle中,CREATE,DROP,ALTER属于隐式提交语句,是自动提交的(内含commit),不能回滚。
显式提交语句DML有insert、update、delete,DCL有GRANT,REVOKE;。
这样的语句后面需要加入commit才能正式写入数据库。
而在commit之前,这些sql将存在于Oracle的回滚段中。
如果执行rollback,将回滚上次提交后的语句,同时回滚段中的数据将清空。
5、MINUS、INTERSECT、UNION
minus操作,用集合表示就是x-y。
如:
select*fromxminusselect*fromy;
intersect操作,类似与交的操作,该操作有严重的性能问题,要少用,如:
select*fromxintersectselect*fromy;
union操作,添加合并相应数据,重复的算一次。
如:
select*fromxunionselect*fromy;
6、共享锁和排他锁。
共享锁(sharelock)
共享锁通过数据存取的高并行性来实现。
如果获得了一个共享锁,那么用户就可以共享相同的资源。
排他锁(exclusivelock独占锁)
排他锁防止共同改变相同的资源。
假如一个事务获得了某一资源上的一个专用锁,那么直到该锁被解除,其他的事务才能修改那个资源。
7、SQL查询语言的深入掌握:
Where、Group、Having、Order、Like谓词
8、SQL查询语言中各类函数LOWER(转小写)、UPPER(转大写)。
几个统计函数COUNT、SUM、AVG。
9、PL/SQL语言的结构,三种类型参数(IN输入参数、OUT输出参数、INOUT输入输出参数)。
10、While、For循环,IF-Elsif-End条件语句。
11、游标操作。
用FOR循环和其他循环使用游标,显式和隐式游标的区别
答:
PL/SQL用游标(cursor)来管理SQL的SELECT语句。
分为显式和隐式游标。
显式游标首先要声明(Declare),在使用前要打开(Open),使用完毕后要关闭(Close)。
在PL/SQL程序段中使用SELECT语句(一定包含into子句)进行操作,PL/SQL会隐含地处理游标定义,即称作隐式游标。
这种游标就不需要像显式游标一样需要声明,也不需要打开和关闭。
用For循环编写游标程序:
系统自动打开游标,不用显式地使用OPEN语句打开;系统隐含地定义了一个数据类型为%ROWTYPE的变量,并以此作为循环的计算器。
系统重复地自动从游标工作区中提取数据并放入计数器变量中。
当游标工作区中所有的记录都被提取完毕或循环中断时,系统自动地关闭游标。
12、什么是存储过程,使用存储过程的优点是什么?
存储过程和函数的区别?
在Oracle中,可以在数据库中定义子程序,这种程序块称为存储过程(procedure)。
它存放在数据字典中,可以在不同用户和应用程序之间共享,并可实现程序的优化和重用。
使用存储过程的优点是:
(1)过程在服务器端运行,执行速度快。
(2)过程执行一次后代码就驻留在高速缓冲存储器,在以后的操作中,只需从高
速缓冲存储器中调用已编译代码执行,提高了系统性能。
(3)确保数据库的安全。
可以不授权用户直接访问应用程序中的一些表,而是授
权用户执行访问这些表的过程。
非表的授权用户除非通过过程,否则就不能访问
这些表。
(4)自动完成需要预先执行的任务。
存储过程和函数的区别是:
过程可以返回多个值,而函数只能返回一个值。
13、DML触发器包括哪三种?
答:
DML触发器包括INSERT触发器、DELETE触发器、UPDATE触发器。
14、%TYPE%ROWTYPE
编写PL/SQL程序用%TYPE进行变量声明的作用是与一个已知变量的类型一致,而用%ROWTYPE的作用与一个表的数据结构保持一致。
%TYPE属性提供了变量和数据库列的数据类型。
在声明一个包含数据库值的变量时非常有用。
如:
例如,在表XS中包含XH列,为了声明一个变量my_xh与XH列具有相同的数据类型,格式如下:
my_xhXS.XH%TYPE;
使用%TYPE声明具有以下两个优点:
①不必知道XH列的确切的数据类型;
②如果改变了XH列的数据库定义,my_xh的数据类型在运行时会自动进行修改。
15、编写简单的存储过程。
16、触发器的分类和作用。
每张基表最多可建立12个触发器。
触发器的类型有三种:
(1)DML触发器。
Oracle可以在DML(数据操纵语句)语句进行触发,可以在DML
操作前或操作后进行触发,并且可以在每个行或该语句操作上进行触发。
(2)替代触发器。
由于在Oracle中不能直接对有两个以上的表建立的视图进行修改操作,所以给出了替代触发器。
它是Oracle专门为进行视图修改操作的一种处理方法。
(3)系统触发器。
它可以在Oracle数据库系统的时间中进行触发,如Oracle数据库的关闭或打开等。
17、PL/SQL程序块的组成部分?
答:
PL/SQL程序块的组成部分:
声明部分、执行部分、异常处理部分。
18、外连接有几种?
答:
外连接包括三种:
左外连接(LEFTOUTERJOIN):
结果表中除了包括满足连接条件的行外,还包括左表的所有行;
右外连接(RIGHTOUTERJOIN):
结果表中除了包括满足连接条件的行外,还包括右表的所有行;
完全外连接(FULLOUTERJOIN):
结果表中除了包括满足连接条件的行外,还包括两个表的所有行。
19、SQL语言是具有两种使用方式,分别称为交互式SQL、嵌入式SQL。
20、在Oracle数据库中存放自定义对象有哪两种方法?
(1)创建一个对象表并将对象作为行存放在那个表中;
(2)在一个标准的关系型表中创建一个对象列。
21.什么样的视图是可更新视图?
答:
要通过视图更新基表数据,必须保证视图是可更新视图。
可更新视图满足以下条件:
(1)没有使用连接函数、集合运算函数和组函数;
(2)创建视图的SELECT语句中没有聚合函数且没有GROUPBY、ONNECTBY、STARTWITH子句及DISTINCT关键字;
(3)创建视图的SELECT语句中不包含从基表列通过计算所得的列;
(4)创建视图没有包含只读属性。
用户和角色
1、什么是Oracle的角色?
有什么优缺点?
答:
角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。
当数据库较小、访问数据库的用户不多时,对用户在每个表上要求的特定访问进行授权还是可以接受的。
但是,随着数据库的增大以及用户数量的增多,数据库的维护将会成为很麻烦的事情。
基于角色管理主要优点有:
①减少权限管理的工作量;②进行动态的权限管理;③特定的安全管理;④有利于应用程序中用户的管理。
2、DROPUSERAUTHORCASCADE;
这个命令是撤消用户,只有一个参数,即CASCADE,在撤消该用户之前,它撤消用户模式中的所有对象。
3、什么是方案(模式)?
Oracle中方案与用户的关系是什么?
答:
用户帐号拥有的对象集称为用户的方案(SCHEMA)。
方案(模式)是为了便于数据的管理而设计的数据对象的逻辑组织单位,在方案下包括表、索引、视图、存储过程、触发器、同义词、序列、包等数据对象。
在Oracle中方案与用户的关系是一一对应的关系,即每一个方案有一对应的用户。
4.权限分哪两类?
答:
权限分成两类:
系统权限与对象权限。
系统权限是指在系统级控制数据库的存取和使用的机制,即执行某种SQL语句的能力。
例如,启动、停止数据库,修改数据库参数,连接到数据库,以及创建、删除、更改模式对象(如表、视图、索引、过程等)等权限。
系统权限是针对用户而设置的,用户必须被授予相应的系统权限,才可以连接到数据库中进行相应的操作。
在Oracle中,SYSTEM和SYS是数据库管理员,具有DBA所有系统权限。
对象权限是指在对象级控制数据库的存取和使用的机制,即访问其他用户模式对象的能力。
对象权限一般是针对用户模式对象的。
对象权限是用户之间的表、视图等模式对象的相互存取权限。
例如,以用户“SYSTEM”登录到数据库,可以查询该用户模式中的表XSB,但是如果以用户“SCOTT”登录数据库则不可以查询表XSB,因为表XSB不属于SCOTT用户,并且SCOTT用户没有被授予查询XSB表的权限,如图9.12所示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大型 数据库 复习 大纲