oracle面试题目总结

这篇博客汇总了各种Oracle面试题目,涵盖了SQL优化、数据库基础、备份恢复、系统管理等多个方面。内容包括表连接方式、查看SQL执行计划、索引原理、数据库概念、备份策略、性能诊断和优化等,旨在帮助准备Oracle面试的人员理解和掌握关键知识点。
摘要由CSDN通过智能技术生成

 阿里巴巴公司DBA笔试题 
http://searchdatabase.techtarget.com.cn/tips/2/2535002.shtml  
注:以下题目,可根据自己情况挑选题目作答,不必全部作答.您也可以就相关问题直接找负责面试人员面述而不笔答  
    
    一:SQL  tuning  类  
    
    1:列举几种表连接方式  
    
    2:不借助第三方工具,怎样查看sql的执行计划  
    
    3:如何使用CBO,CBO与RULE的区别  
    
    4:如何定位重要(消耗资源多)的SQL  
    
    5:如何跟踪某个session的SQL  
    
    6:SQL调整最关注的是什么  
    
    7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)  
    
    8:使用索引查询一定能提高查询的性能吗?为什么  
    
    9:绑定变量是什么?绑定变量有什么优缺点?  
    
    10:如何稳定(固定)执行计划  
    
    11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么  
    
    12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql  
    
    二:数据库基本概念类  
    
    1:pctused  and  pctfree  表示什么含义有什么作用  
    
    2:简单描述table  /  segment  /  extent  /  block之间的关系  
    
    3:描述tablespace和datafile之间的关系  
    
    4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点  
    
    5:回滚段的作用是什么  
    
    6:日志的作用是什么  
    
    7:SGA主要有那些部分,主要作用是什么  
    
    8:oracle系统进程主要有哪些,作用是什么  
    
    三:备份恢复类  
    
    1:备份如何分类  
    
    2:归档是什么含义  
    
    3:如果一个表在2004-08-04  10:30:00  被drop,在有完善的归档和备份的情况下,如何恢复  
    
    4:rman是什么,有何特点  
    
    5:standby的特点  
    
    6:对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略  
    
    四:系统管理类  
    
    1:对于一个存在系统性能的系统,说出你的诊断处理思路  
    
    2:列举几种诊断IO、CPU、性能状况的方法  
    
    3:对statspack有何认识  
    
    4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响  
    
    5:对raid10  和raid5有何认识  
    
    五:综合随意类  
    
    1:你最擅长的是oracle哪部分?  
    
    2:喜欢oracle吗?喜欢上论坛吗?或者偏好oracle的哪一部分?  
    
    3:随意说说你觉得oracle最有意思的部分或者最困难的部分  
    
    4:为何要选择做DBA呢? 


 


(1) A 表中有100条记录.


  SELECT * FROM A WHERE A.COLUMN1 = A.COLUMN1 


  这个语句返回几条记录? (简单吧,似乎1秒钟就有答案了:)


  (2) CREATE SEQUENCE PEAK_NO 


  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 假设返回1


  10秒中后,再次做


  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 返回多少?


  (3) SQL> connect sys as sysdba


  Connected.




  SQL> insert into dual values ( 'Y');


     1 row created.


  SQL> commit;


     Commit complete.


  SQL> select count(*) from dual;


     COUNT(*)


     ----------


     2


  SQL> delete from dual; 


     commit;


     -->DUAL里还剩几条记录?


===============================


ORACLE 面试问题-技术篇 


1. 解释冷备份和热备份的不同点以及各自的优点 
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 






2.  你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 
解答:重建控制文件,用带backup control file 子句的recover 命令恢复 
数据库。 


        


3.  如何转换init.ora到spfile? 






解答:使用create spfile from pfile 命令 





4.  解释data block , extent 和 segment的区别(这里建议用英文术语)  






解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象 


拥有的所有extents被称为该对象的segment. 






5.  给出两个检查表结构的方法 






解答:1。DESCRIBE命令 


            2. DBMS_METADATA.GET_DDL 包 






6.    怎样查看数据库引擎的报错 






解答:alert log. 






7.    比较truncate和delete 命令 






解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 






8.    使用索引的理由 






解答:快速访问表中的data block 






9.    给出在STAR SCHEMA中的两种表及它们分别含有的数据 






解答:Fact tables 和dimension tables.  fact table 包含大量的主要的信息而 dimension tables 存放对fact table 某些属性描述的信息 










10.  FACT Table上需要建立何种索引? 






解答:位图索引 (bitmap index) 






11. 给出两种相关约束? 






解答:主键和外键 






12. 如何在不影响子表的前提下,重建一个母表 






解答:子表的外键强制实效,重建母表,激活外键 






13. 解释归档和非归档模式之间的不同和它们各自的优缺点 






解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高 





14. 如何建立一个备份控制文件? 






解答:Alter database backup control file to trace. 






15. 给出数据库正常启动所经历的几种状态 ? 






解答: 






STARTUP NOMOUNT – 数据库实例启动 


STARTUP MOUNT      -  数据库装载 


STARTUP OPEN          – 数据库打开 






16. 哪个column可以用来区别V$视图和GV$视图? 






解答: INST_ID 指明集群环境中具体的 某个instance 。 






17. 如何生成explain plan? 






解答: 


    运行utlxplan.sql. 建立plan 表 


          针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table 


          运行utlxplp.sql 或 utlxpls.sql察看explain plan 






18. 如何增加buffer cache的命中率? 






解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令 






19. ORA-01555的应对方法? 






解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过 


增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本 






20. 解释$ORACLE_HOME和$ORACLE_BASE的区别? 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值