Oracle面试常见问题(一)

在Oracle相关面试的过程中,我们会遇到各种各样的题目,但是万变不离其宗,其实大部分题目都是网上有总结过的,或者是来自网上搜索得来。因为公司的出题者大部分也是程序员呐,平时工作那么忙,哪有那么多时间给你们出题目,有多余的时间还是好好加班码代码的好^_^。所以,大部分题目也是来自网上总结所得,这里就总结一下,一些常见的Oracle面试问题和简单答案。

1、简单阐述一下冷备份和热备份的不同点以及各自的优点。

答:热备份是数据库还在生产工作的状态下进行备份,Oracle热备份只能是在开启归档模式的情况下进行。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。

热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好,因为不必将归档日志写入硬盘。

2、你在利用备份恢复Oracle数据库时,由于控制文件缺失,你该如何处理?

答:重建控制文件,用带backup control file 子句的recover命令恢复数据库。

3、介绍一下Oracle数据库 data block、extent和segment区别。

答:datablock是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent 。一个数据库对象拥有的所有extents 被称为该对象的segment。

4、对比一下truncate和delete命令。

答:两者都可以用来删除表中所有的记录。区别在于: truncate 是DDL操作,它移HWK,不需要回滚段,delete命令是DML命令,须要回滚段(rollback segment),所以需要耗时比较常时间。

5、表为什么要加索引,对数据有什么影响。

答:当表的数据量增大时,合理的给表字段加上索引,可以快速的访问表中的数据块,提高访问速率,但是相对的是表的增加一个索引,会降低表数据的插入时间,因为它需要耗时生成对应的索引数据。所以,应该按照合适的业务需求,增加对应索引。