Oracle大型数据库课后简答题_第1页
Oracle大型数据库课后简答题_第2页
Oracle大型数据库课后简答题_第3页
Oracle大型数据库课后简答题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简述表空间和数据文件之间的关系答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。概述Oracle数据库体系的物理结构答:Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:数据文件(DataFile):实际存储数据的地方;在线重做日志文件(0nlineRedoLogFile):记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(ControlFile):记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(ParameterFile):当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(PasswordFile):验证哪些帐号能开启、关闭Oracle数据库。简要介绍表空间、段、区和数据块之间的关系。答:Oracle的逻辑存储单元从小到大依次为:数据块、区、段和表空间。表空间又由许多段组成,段由多个区组成,区又由多个数据块组成。简述Oracle实例系统中各后台进程的作用。答:(1)DBWRn(DatabaseWriter)的主要工作是将数据缓冲区中被改过的数据写回到数据文件里。(2)LGWR(LogWriter)主要的工作是将RedoLogBuffer里的记录写到在线重做日志文件中。(3)SMON(SystemMonitor)有两个主要的功能。<1>执行InstanceRecovery:当数据库不正常中断后再度开启时,SMON会自动执行InstanceRecovery也就是会将在线重做日志里面的数据回写到数据文件里面。<2>收集空间:将表空间内相邻的空间进行合并的动作。(4)PMON(ProcessMonitor):监视数据库的用户进程。若用户的进程不当而被中断,PMON会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从ProcessList中移除,以终止ProcessID°(5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint完成时,会更新控制文件和数据库文件的文件头。(6)ARCn(Archiver).当Oracle数据库设定为ARCHIVELOGMode时,ARCn会在LogSwitch时自动将RedoLogFile复制一份到指定的目录下称为归档日志文件(Archivedredologs)。共享和专用操作模式的工作过程有什么区别?在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn的调度下位任意数量的用户进程提供服务。简述oracle的初始化参数文件?答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。简述如何修改初始化参数文件?答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。简述启动数据库时的状态。答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。简述数据库的各种关闭方式。答:(1)正常关闭(SHUTDOWNNORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWNTRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWNIMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWNABORT):立即终止当前正在执行的SQL语句,任何未提交的事务均不被回退。简述Oracle数据库的特殊状态?答:静默状态:只有具有管理员权限的用户(SYS、SYSTEM)才能在数据库中执行查询、更新操作和运行PL/SQL程序挂起状态:数据库所有的物理文件(控制文件、数据文件和重做日志文件)的I/O操作都被暂停,这样能够保证数据库在没有任何I/O操作的情况下进行物理备份。利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。如何设置SQL*Plus的运行环境?答:通过设置环境变量PAUSE为ON来控制SQL*Plus在显示完一页后暂停显示,直到按回车键后才继续显示下一页数据;使用命令SETPAGESIZE来改变默认一页显示的大小;通过设置LINESIZE可以修改系统默认的每行打印80个字符;用NUMFORMAT设置超过10字符的处理值;设置TIMING为ON来显示命令所消耗的系统时间。如何使用SQL*Plus来设置缓存区?答:设置记事本作为用户的编辑器,就可以使用EDIT命令来执行编辑操作了,还可使用SAVE命令把当前SQL缓存区中的内容保存到指定的文件中,用CLEARBUFFER命令清除SQL*Plus缓存区中的内容,若要获取通过SAVE保存的内容就要使用GET命令。如何使用SQL*Plus帮助命令获知某命令的解释信息在不知道具体命令的时候,先用helpindex查找出所有的命令,然后使用help[topic]其中topic为该命令进行查询。比较内连接和外连接?答:在内连接的检索结果中,都是满足连接条件的数据;外连接的特点是某些不满足条件的数据也可以出现在检索结果中。外连接的语法和内连接的语法规则相似,区别在于外连接中用LEFTOUTERJION、RIGHTOUTERJOIN或FULLOUTERJOIN关键字,而不使用INNERJOIN关键字。其中OUTER是可选的。比较子查询和连接查询连接查询效率高,但是会导致重复数据。如果确定连接查询不会重复,那么用连接查询会比较好。子查询效率低,但是可以避免重复数据。如果要到子查询,尽量使用索引提高效率。有些情况必须避免重复数据,那就只能用子查询。但是具体问题还是要具体分析。如果主表很小,子表很大,并且有索引,是可以使用子查询的,如果主表很大,那就尽量避免子查询了。显示游标的使用过程CURSORcursor_name[returnruturn_type]ISselect_statement;打开游标:OPENcursor_name;提取游标:FETCHcursor_nameINTOvariables_list;关闭游标:CLOSECURSOR_NAME;使用带参数显式游标的4个步骤是1.声明游标:CURSORcursor_name[(parameter[,parameter]...)][returnruturn_type]ISselect_statement;2.打开游标:OPENcursor_name[(parameter[,parameter]...)];3.提取游标:FETCHcursor_nameINTOvariables_list;4.关闭游标:CLOSECURSOR_NAME;描述游标的各个属性?答:%FOUND布尔型属性,如果sql语句至少影响到一行数据,则该属性为true,否则为false;%NOTFOUND布尔型属性,与%FOUND相反;%ISOPEN布尔型属性,当游标已经打开时返回true,游标关闭时则为false;%ROWCOUNT数字型属性,返回受sql语句影响的行数。如何处理用户自定义异常?答:用户自定义异常是通过显示使用RAISE语句来引发的,当引发一个异常时,控制就转到EXCEPTION异常处理部分执行异常处理语句。步骤如下:定义异常处理;触发异常处理;处理异常。如何处理非预定义异常?答:在为非预定义异常命名时,使用语句PRAGMAEXCEPTION_INIT为错误号关联一个名称,随后就可以像对待系统预定义异常一样进行处理。说明使用游标FOR循环如何对游标进行处理?答:游标FOR循环是显式游标的一种快捷使用方式,它使用FOR循环依次读取结果集中的数据。当FOR循环开始时,游标会自动打开(不需要使用OPEN方法),每循环一次系统自动读取游标当前行的数据(不需要使用FETCH),当退出FOR循环时,游标被自动关闭(不需要使用CLOSE)select语句的基本作用是什么SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。1.检索单表数据,2.过滤数据,3•排序数据,4•多表检索,简述正规表达式Oracle10g正则表达式提高了SQL灵活性。有效的解决了数据有效性,重复词的辨认,无关的空白检测,或者分解多个正则组成的字符串等问题。Oracle10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。它们使用POSIX正则表达式代替了老的百分号(%)和通配符(_)字符。简述标量变量和复合变量之间的区别?答:如果变量只能存储一个单独的值,则该变量称为标量变量。如果变量可以存储多个值,则该变量称为复合类型的变量。标量变量是本数据类型,而复合变量是自定义记录类型,用户可以根据需要定义其结构,也可以使用由系统自动决定的变量的结构。简述过程和函数的区别。答:过程被存储在数据库中,并且存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用。函数必须有返回值,并且可以作为一个表达式的一部分,函数不能作为一个完整的语句使用,函数返回值的数据类型在创建函数时定义。简述调用过程时传递参数值的三种方式。答:IN参数,由调用者传入,并且只能够被存储过程读取,它可以接收一个值,但是不能在过程中修改这个值;OUT参数,由存储过程传入值,然后由用户接收参数值,它在调用过程时为空,在过程的执行中将为这参数指定一个值,并在执行结束后返回;INOUT参数,同时具有IN和OUT参数的特性。举例说明什么是重载答:PL/SQL允许重载,也就是在程序包中的过程和函数可以具有相同的名称,但只需它们的特性有所区别。简述Oracle数据库中触发器的类型及其触发条件DDL触发器在模式中执行DDL语句时执行数据库级触发器在发生打开、关闭、登录和退出数据库等系统事件时执行DML触发器在对表或视图执行DML语句时执行(insert、update、delete)语句级触发器无论受影响的行数是多少,都只执行一次.默认方式行级触发器对DML语句修改的每个行执行一次。ForeachrowINSTEADOF触发器用于用户不能直接使用DML语句修改的视图答:行级触发器;语句级触发器;INSTEADOF触发器;系统事件触发器;用户事件触发器。简述替代触发器的作用Insteadof触发器也称替代触发器,定义insteadof触发器后,用户对表的DML操作将不再被执行,而是执行触发器主体中的操作。Insteadof触发器是定义在视图上的,而不是在表上,它是用来替换所使用实际语句的触发器。因为一个视图通常由多个基本表连接而成,这种视图不允许进行instead、update和delete这样的DML操作。当为视图编写insteadof触发器后,用户对视图的DML操作就不会被执行,而是执行触发器中的PL/SQL语句块,这样就可以通过在insteadof触发器中编写适当的代码对构成视图的各个表进行操作。介绍创建表时常用的数据类型。答:字符数据类型,数值数据类型,日期时间数据类型,LOB数据类型,ROWID数据类型。简要介绍Oracle数据表的特性当用户在Oracle中建立模式对象(如表)时,Oracle允许用户规定该对象如何使用磁盘上的存储空间。如果仅为表指定了表空间,而没有设置存储参数,它将自动采用所属表空间的默认存储参数设置。然而表空间的默认存储参数设置并不一定对表空间中的每一个表都适合,因此,当表所需的存储参数与表空间的默认存储参数不同时,需要在创建表时显式指定存储参数以替换表空间的默认存储设置。简要介绍oracle数据表的各类约束及作用。答:非空约束,就是限制必须为某个列提供值;主键约束,用于惟一地确定表中的每一行数据;惟一性约束,强调所在的列不允许有相同的值;外键约束,外键约束可以使两个表进行关联;检查约束;默认约束大对象数据类型?CLOB类型;字符LOB类型可以用来存储各种字符数据,主要用于存储英语字符;NCLOB类型,国际语言字符LOB类型,使用多字节存储各种语言的字符,主要用于存储非英语字符;BLOB类型,二进制LOB类型主要用于存储二进制数据;BFILE类型,二进制FILE类型,用于存储指向数据库系统外面的文件系统中文件的指针。如何使用大对象数据类型?在创建大对象表时,可以根据实际情况直接使用大对象类型定义某些列。大对象定义完成之后,应该使用初始化函数初始化大对象列。对应CLOB或NCLOB歹U,可以使用EMPTY_CLOB()函数进行初始化。对于BLOB歹U,应该使用EMPTY_BLOB()函数进行初始化。可以在INSERT语句中使用这些初始化函数,初始化完成后,可以使用UPDATE语句向大对象列加入数据。简述B树索引的组织结构。答:B树索引是以B树结构组织并存放索引数据的。默认情况下,B树索引中的数据是以升序方式排列的。B树索引由根块、分支枝和叶块3部分组成,其中主要数据都集中在叶子结点。简述位图索引的组织结构。答:以位图值标识索引数据,主要用于在DSS系统中执行数据统计、数据汇总等操作。简述反向键索引的工作原理。答:Oracle会自动为表的主键列建立索引,这个默认的索引是普通的B-Tree索引。对于主键值是按顺序(递增或递减)加入的情况,默认的B-Tree索引并不理想。这是因为如果索引列的值具有严格顺序时,随着数据行的插入,索引树的层级增长很快。搜索索引发生的I/O读写次数和索引树的层级数成正比,也就是说,一棵具有5个层级的B-Tree索引,在最终读取到索引数据时最多可能发生多达5次I/O操作。因而,减少索引的层级数是索引性能调整的一个重要方法。简述索引组织表与普通表之间的区别。答:对普通表而言,表、索引数据分别存放在表段、索引段中,要占用更多空间;而对于索引表而言,主键列和非主键列的数据都存放在主键索引中。索引组织表存储结构采用索引(B-树结构)来组织表的数据的组织方式,将记录按照某个主键列进行排序后,再以B树的组织方式存放在主键索引段中。标准表存储结构采用堆组织方式,将记录无序地存放在数据段中。简述索引组织表的溢出存储。答:增加溢出段,建立索引表时,既可以指定OVERFLOW关键字建立溢出段,也可以不指定OVERFLOW关键字;修改溢出段,修改索引表时,OVERFLOW选项之前的所有选项只适用于索引段,而OVERFLOW之后的选项只适用于溢出段。外部表的局限性答:在外部表上不能执行DML操作,也不能在外部表上建立索引。简述什么是簇,以及什么是散列簇答:簇是一种用于存储数据表中数据的方法,实际上是一组表,由一组共享相同数据块的多个表组成;散列簇使用散列函数定位行的位置。通过散列簇,可以将静态的数据均匀地分布到数据块中。举例说明withcheckoption的作用答:该选项用于在视图上定义check约束。定义了/r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论