收藏 分享(赏)

一份ORACLEDBA经典题目.doc

上传人:jmydc 文档编号:7051258 上传时间:2019-05-04 格式:DOC 页数:6 大小:43.50KB
下载 相关 举报
一份ORACLEDBA经典题目.doc_第1页
第1页 / 共6页
一份ORACLEDBA经典题目.doc_第2页
第2页 / 共6页
一份ORACLEDBA经典题目.doc_第3页
第3页 / 共6页
一份ORACLEDBA经典题目.doc_第4页
第4页 / 共6页
一份ORACLEDBA经典题目.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、一份 ORACLE DBA 經典題目一:SQL tuning 类1:列举几种表连接方式答:merge join,hash join,nested loop2:不借助第三方工具,怎样查看 sql 的执行计划答:sqlplusset autotrace .utlxplan.sql 创建 plan_table 表3:如何使用 CBO,CBO 与 RULE 的区别答:在初始化参数里面设置 optimizer_mode=choose/all_rows/first_row 等可以使用 cbo.rbo 会选择不合适的索引,cbo 需要统计信息。4:如何定位重要(消耗资源多)的 SQL答:根据 v$sqlar

2、ea 中的逻辑读/disk_read。以及寻找 CPU 使用过量的 session,查出当前session 的当前 SQL 语句,或者:监控 WIN 平台 Oracle 的运行5:如何跟踪某个 session 的 SQL答:先找出对应的sid,serial,然后调用 system_system.set_sql_trace_in_session(sid,serial,true);参考:跟踪某个会话6:SQL 调整最关注的是什么答:逻辑读。IO 量7:说说你对索引的认识(索引的结构、对 dml 影响、对查询影响、为什么提高查询性能答:默认的索引是 b-tree.对 insert 的影响.( 分裂,

3、要保证 tree 的平衡)对 delete 的影响.( 删除行的时候要标记改节点为删除).对 update 的影响,如果更新表中的索引字段,则要相应的更新索引中的键值。查询中包含索引字段的键值和行的物理地址。8:使用索引查询一定能提高查询的性能吗?为什么答:不能。如果返回的行数目较大,使用全表扫描的性能较好。9:绑定变量是什么?绑定变量有什么优缺点答:通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少只有变量值不同的语句的解析。10:如何稳定( 固定) 执行计划答:使用 stored outline.11:和排序相关的内存在 8i 和 9i 分别怎样调整,临时表空间的作用是什么答 i

4、:使用 sort_area_size,hash_area_size,每个 session 分配相同的值,不管有无使用。9i: 使用 pga_aggregate 来统一管理。临时表空间的作用:在 sort_area_size 中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。还有 hash join 不能完成的也在临时表空间中做。12:存在表 T(a,b,c,d),要根据字段 c 排序后取第 2130 条记录显示,请给出 sqlselect a,b,c,d from (select a,b,c,d from T order by c) where rownum=30m

5、inusselect a,b,c,d from (select a,b,c,d from T order by c) where rownum =20;或者:select * from (select rownum rn,a.* from (select a,b,c,d from T order by c) a )where rn between 21 and 30;二:数据库基本概念类1pctused and pctfree 表示什么含义有什么作用答:表示数据块什么时候移入和移出 freelist。pctused:如果数据块的使用率小于 pctused 的值,则该数据块重新加入到 fress

6、list 中。pctfree:如果数据块的使用率高于 pctfree 的值,则该数据块从 freelist 中移出。2:简单描述 table / segment / extent / block 之间的关系答:一个 table 至少是一个 segment,如果分区表,则每个分区是一个 segment,table 可以看成是一个逻辑上的概念,segment 可以看成是这个逻辑概念的物理实现;segment 由一个或多个 extents 组成,segment 不可以跨表空间但可以跨数据文件;extent 由多个连续的 blocks 组成,不可以跨数据文件;block 由 1-多个 os 块组成,是

7、 oraclei/o 的最小存储单位。3:描述 tablespace 和 datafile 之间的关系答:tablespace 是逻辑上的概念,datafile 是物理上的概念。一个 tablespace 可以由多个 datafile 组成,一个 datafile 不能跨越多个 tablespace。4:本地管理表空间和字典管理表空间的特点,ASSM 有什么特点答:一个使用 freelist 管理,一个使用位图管理。5:回滚段的作用是什么答:保存数据的前像,保证数据读取的时间点一致性。Oracle 里数据的多版本特性就是通过回滚段来实现的,正因为此,Oracle 数据库实现了读写不竞争的性能优

8、势!6:日志的作用是什么答:纪录对数据库的操作,便与恢复。7:SGA 主要有那些部分,主要作用是什么答:db_cache( 缓存数据块),shared_pool(缓存 sql,执行计划,数据字典信息等 ),large_pool(MTS 模式、parallel 、rman 等要用到),java pool(java 程序如 SQLJ 存储过程运行时要用到)8:racle 系统进程主要有哪些,作用是什么答:smon(合并空间,实例恢复),pmon(清理失败的进程), 归档进程(负责在日志切换的时候归档日志文件),lgmr(日志书写器进程,负责写日志),ckpt(检查点进程,触发检查点),dbwr(数

9、据库写入器,负责把数据写入导 datafile)三:备份恢复类1:备份如何分类答:逻辑备份(exp) 与物理备份。或者冷备份与热备份。2:归档是什么含义答:把日志文件放到另一个地方。3:如果一个表在 2004-08-04 10:30:00 被 drop,在有完善的归档和备份的情况下,如何恢复答:拷贝备份,recover database until time 2004-08-04 10:30:00alter database open resetlogs;4:rman 是什么,有何特点答:rman 叫恢复管理器 .特点很多。可以在线备份,到少目标数据库是 mount 状态。1:热备份。2:可以

10、存储脚本。3:可以增量备份。4:自动管理备份集。5:standby 的特点答:利用传输重做日志来达到同步的目的。可以设定多个保护级别,9i 后支持逻辑standbyDB。6:对于一个要求恢复时间比较短的系统(数据库 50G,每天归档 5G),你如何设计备份策略答:每天一个全备份。四:系统管理类1:对于一个存在系统性能的系统,说出你的诊断处理思路答:做一个 statspack,根据 top 5,system load,top sql 等来做相应的调整。2:列举几种诊断 IO、CPU、性能状况的方法答:hp-unix:iostat -x 1 5;top/vmstat/glance3:对 stats

11、pack 有何认识答:一个性能诊断工具而已,其本质就是在两个时间点采样两个系统数据。(动态性能视图),然后根据两个 snapshot,产生一个报告。4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响答:1:增大 sort_area_size(8i)/pga_aggregate_target(9i)值。2:如果表有分区(一般大表都要用到分区的),按分区逐个建索引,如果是本地索引的话;3:系统空闲的时候建。5:对 raid10 和 raid5 有何认识答:raid10 是先镜像后条带,适合对写入速度要求较高的数据库系统,特别是 online redol

12、og 文件,raid5 适合大部分的数据库系统和数据仓库系统,读性能优于写性能。五:综合随意类1:你最擅长的是 oracle 哪部分 ?答:性能/sql 调优、备份恢复。2:喜欢 oracle 吗?喜欢上论坛吗?或者偏好 oracle 的哪一部分?答:http:/ 的 SQL 优化。3:随意说说你觉得 oracle 最有意思的部分或者最困难的部分答:SQL 调优,最困难的是 Oracle 的网络管理,Oracle 的 Connect Manager 没用过。4:为何要选择做 DBA 呢?答:爱好加职业历史积累。4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小

13、对应用的影响答:1:增大 sort_area_size(8i)/pga_aggregate_target(9i)值。2:用并行的方式来建。3:系统空闲的时候建。其他:什么是聚集索引,什么是非聚集索引,什么又是主键?聚簇索引的顺序就是数据的物理存储顺序,叶节点就是数据节点。非聚簇索引的顺序与数据物理排列顺序无关,叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键,通过它可强制表的实体完整性。1、事务是什么?A:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。2、oracle 中 tru

14、ncate 和 delete 命令有何区别?A:(1)delete 将在回滚段中产生回滚信息,truncate 不产生,因此无论表中的记录多少,truncate 执行都很快。(2)truncate 是 DDL,执行隐含的 commit,truncate 不能回滚。任何没有提交的 DML 改变也将会和 truncate 一起提交。(3)truncate 重置表及其索引高水位标志。全表扫描和索引快速全扫描读高水位标志下的所有数据块,因此在 delete 后全扫描性能没有提高,但 truncate 后将会变快。(4)truncate 不触发 delete 触发器。(5)没有对象权限允许一个用户 tr

15、uncate 另一个用户的表。这样做需要 DROP ANY TABLE 系统权限。(6)当一个表被 truncate,表及其索引的存储将被重置回初始大小。而 delete 不收缩表及其索引的大小。(7)当父表有一个可用的引用完整性约束时不能被 truncate。必须先 disable 引用父表的外键约束,再 truncate。3、Oracle 中 char 和 varchar2 数据类型有什么区别?有数据”test”分别存放到 char(10)和varchar2(10)类型的字段中,其存储长度及类型有何区别?A:char 是定长字符类型,varchar2 是变长字符类型。“test”在 char(10)中被补齐空格,存储长度是 10 字节,在varchar2(10)中存储长度是 4 字节。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报