文档详情

《oracle数据库笔试题》.doc

发布:2016-09-13约4.19千字共3页下载文档
文本预览下载声明
1. 数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义?ITPUB个人空间/y{a k3?a nc 答:触发dbwr的执行,dbwr会把和这个日志相关的所有脏队列写到数据文件里,缩短实例恢复所需要的时间。 2. 表空间管理方式有哪几种,各有什么优劣。 _Ic7c j8PQ+zjmi)B0答:字典管理方式和本地管理方式,本地管理方式采用位图管理extent,减少字典之间的竞争,同时避免了碎片。 本地管理表空间与字典管理表空间相比,其优点如下: %Dawh-_%M5C01).减少了递归空间管理; c}g b;d{({Ikn.|4O02).系统自动管理extents大小或采用统一extents大小;ITPUB个人空间k3bj8~5K8y^ 3).减少了数据字典之间的竞争;ITPUB个人空间OhG Cc*q(mN J 4).不产生回退信息; sopX!Ff2uN JM05).不需合并相邻的剩余空间; ,QR0?I j9N)n:BG%E:q06).减少了空间碎片;ITPUB个人空间|r*^ eC1}jJ 7).对临时表空间提供了更好的管理。 3. 本地索引与全局索引的差别与适用情况。 T_ d?_\7n+dw K0答:对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。当对分区进行维护操作时,通常会导致全局索引的INVALDED,必须在执行完操作后REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES语句,可以使在进行分区维护的同时重建全局索引。 4. 一个表a varchar2(1),b number(1),c char(2),有100000条记录,创建B-Tree索引在字段a上,那么表与索引谁大?为什么? e TY6G6v_ZQJn!C0答:这个要考虑到rowid所占的字节数,假设char总是占用2字节的情况,比较rowid,另外,table和index在segment free block的管理也有差别。 5. Oracle9i的data guard有几种模式,各有什么差别。ITPUB个人空间*`hb7U,a/b \ 答:三种模式: l#hD apuQ0最大性能(maximize performance):这是data guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息。该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。ITPUB个人空间4Og%_X5qa H 最大可用(maximize availability):在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时,最大可用模式自动最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。 h,o tyW$P1Td]0最大保护(maximize protection):最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失。 6. 执行计划是什么,查看执行计划一般有哪几种方式。ITPUB个人空间jr:ZU#qx4~,R 答:执行计划是数据库内部的执行步骤: d#xcx E[0set autotrace on a m9LfS1p)}f:d_0select * from tableITPUB个人空间 F D$w2zycE alter session set event 10046 trace name context forever,level 12 ;ITPUB个人空间JV/w,Bs6S_ SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION=(SID,SERIAL#,TRUE);ITPUB个人空间}F:S3li@5b ~ 一般采用pl/sql developer,再加个explain plan , v$sql_plan. 7. 简单描述一下nest loop与hash join的差别。ITPUB个人空间|,Q4Y [T p 答:nest loop适用于返回结果比较小的情况。ITPUB个人空间:n p1]A|`u{|7[ for in 1...n loopITPUB个人空间E-b B1|g.c
显示全部
相似文档