发新话题
打印

Oracle面试题目及解答

本主题由 admin 于 2007-12-29 19:52 移动

Oracle面试题目及解答

这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释,也许你不必在面试过程中给出完全详尽的答案,只需要通过你的解答使面试考官了解你对oracle概念的熟悉程度。
- }. k5 X0 m2 r  z+ \* A
# a+ [: Z2 R% \) _$ ]% [6 \* j1. 解释冷备份和热备份的不同点以及各自的优点
. i3 E! ]9 U  l$ ], K& y5 l$ C: `+ P" I/ ]8 r* ~0 p
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 4 T# T& u, A$ C, b7 w. a6 E
3 b3 ^3 D2 C6 e" ]( P' b1 \
2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
2 B) v6 q; p, z: Q" k( |$ T% v. k: [* `- \7 O
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 ; l: H: ~3 l4 D+ E; C. ~

( G. s. F( l: V) g" l; ]) m+ g* X& l$ u5 i3 r3. 如何转换init.ora到spfile?1 F2 K6 [; ?( Z2 x6 m5 I: i

" I6 V% _4 k# n- w! [" H! r1 T解答:使用create spfile from pfile 命令。4 K) J2 D% ]* m
5 A6 O; U7 |, ?
4. 解释data block , extent 和 segment的区别(这里建议用英文术语)
  N9 _7 G5 O- u2 A% v$ H" ]1 n: S6 M: I7 |# e) ]( i1 V
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
  }4 m8 H8 a& Z1 c6 B- u2 F- p- a9 W* Z# t' Y
5. 给出两个检查表结构的方法 $ |! M& B5 F' x% f- @; o, ^
* Z3 |$ G/ e2 J0 j  }
解答:1.describe命令" `- K: L7 B4 G# G0 L% L4 f' D
2.dbms_metadata.get_ddl 包
% [/ I6 F* y6 k) T
+ g- k/ b/ L. f' `. F: \6. 怎样查看数据库引擎的报错   Y0 L$ a9 V* _; `: D9 s
; m+ C) {3 G3 r1 E
解答:alert log.
. b  t/ o) Q" D7 y  e8 V0 W4 n3 f9 G5 v9 A+ `* v6 H
7. 比较truncate和delete 命令
0 k5 C- t& ^8 _9 o( w  k$ m# z% ^7 f& _/ Z, V; T
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是ddl操作,它移动hwk,不需要 rollback segment .而delete是dml操作, 需要rollback segment 且花费较长时间。
$ S7 J: m) A& S1 J9 G
4 ?5 e0 ~0 M$ J9 E, }$ I8. 使用索引的理由
& {; r# Y. B" n2 u) `5 x, J7 b. s1 m. i* {
解答:快速访问表中的data block
, F- P9 _9 s# F6 N, B6 g$ _( T# J, b, n7 \
9. 给出在star schema中的两种表及它们分别含有的数据 ; N/ a( z7 c$ l4 q6 R

, H$ u% o1 C, R. a7 J3 S, z" j' `解答:fact tables 和dimension tables. fact table 包含大量的主要的信息而 dimension tables 存放对fact table 某些属性描述的信息 ' R8 M$ B& O& N# M; M* _/ R% g
$ [0 `. I/ U) w0 x

) [1 Z9 I( M8 m% u) {10. fact table上需要建立何种索引?
! C2 v% B6 v+ V1 X* H; {
3 i$ [8 \$ b  V( o; }解答:位图索引(bitmap index)
& V3 |6 O" r9 e+ I. Z" x( B. A* S! }( O8 I% D5 W
11. 给出两种相关约束?
3 w+ y* X/ r, l; i
1 x( K+ J! [; m9 a/ X5 O% W4 `解答:主键和外键 1 r# P; @6 u7 `/ G- T
& D( ?& X& m7 ^, [
12. 如何在不影响子表的前提下,重建一个母表 & `1 |+ T( A- ~
4 d/ D0 \; f7 R4 t5 {
解答:子表的外键强制实效,重建母表,激活外键
- X6 J- X3 u% i3 a6 U
- v  h4 l: ]& g. O3 Z+ ^& j13. 解释归档和非归档模式之间的不同和它们各自的优缺点
7 }& _8 s3 L4 h' Y5 ^
/ r, l+ _& h4 H  k解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高。 0 z: O+ U- i/ Y8 T2 p+ g
( @6 D) [+ V+ I5 _0 Z6 U, F
14. 如何建立一个备份控制文件? 1 X# W; P3 W5 ?; z: I2 ]5 U4 \% Z

% [( k% D' O$ _9 A- G5 ]! C2 ]. D. v解答:alter database backup control file to trace.
. D1 u( C! H$ H( _+ {! k% J3 d! f/ N/ L9 o
15. 给出数据库正常启动所经历的几种状态 ? 9 ~4 Y+ h  P& e/ j# m6 `

3 a' S) f. ?! n! u# E解答:startup nomount 数据库实例启动 startup mount 数据库装载 startup open 数据库打开
# Q9 ?* p0 R/ `2 B  Q' C* y! x$ l
% P' Z# B# w7 S3 L& b% z16. 哪个column可以用来区别v$视图和gv$视图?
" D; l2 Q4 W- Q" o  W4 A3 s& I
0 T. U4 V5 a  b5 \8 H. _6 Q& e解答: inst_id 指明集群环境中具体的某个instance . 9 Z9 C8 x- H# r% u! P; q. @8 Y

* j% b0 h7 F% v17. 如何生成explain plan? ; @8 s" U+ g" O, f1 b" N6 l6 \
/ d, m8 w8 l( y/ I( _
解答:运行utlxplan.sql. 建立plan 表针对特定sql语句,使用 explain plan set statement_id = ’tst1’ into plan_table 运行utlxplp.sql 或 utlxpls.sql察看explain plan
1 q9 j7 o, @- q5 ~+ B2 y1 L5 J) K- W# U
18. 如何增加buffer cache的命中率? % M! w7 r) z7 V5 K3 u
" O/ J; f& d% [3 n5 O( S6 l! }
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令   |9 V' f  j% M5 U

" k9 O5 B( N4 [19. ora-01555的应对方法?
: {/ R9 N% e2 t$ d+ n$ n. L8 ?% M8 u0 N: S: ?' e& }! O
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的sql文本
. P# a- v% S1 G
5 Q$ C1 P4 S% H9 K( a) w) N20. 解释$oracle_home和$oracle_base的区别?
) o8 {, q! y+ n! F6 d解答:oracle_base是oracle的根目录,oracle_home是oracle产品的目录。, ?5 i7 D# F: k; J: D* i* C9 x4 e2 M
www.btestingsky.com欢迎讨论 北航校区咨询电话:010-62303260/3278 免费电话:400-650-2344 地址:北四环学院桥向南500米路东大唐电信院内北大测试楼;复兴门校区咨询电话010-66421965/1956 免费电话 400-610-7669,地址:北京西城区长椿街 佟麟阁路尚信大厦 3 层

TOP

发新话题