Oracle数据库DBA经典面试题

2023-02-02 面试试题

  Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。以下是小编整理的Oracle数据库DBA经典面试题,欢迎阅读!

  1. 解释冷备份和热备份的不同点以及各自的优点

  解答:热备份针对归档模式的Oracle数据库,在Oracle数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。

  冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)

  2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?

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

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

  解答:使用create spfile from pfile 命令

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

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

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

  解答:1)DESCRIBE命令

  2)DBMS_METADATA.GET_DDL 包

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

  解答:alert log.

  7. 比较truncate和 命令

  解答:两者都可以用来删除表中所有的记录。区别在于: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)

  Oracle数据库中不同恢复的特征

  由于Oracle数据库备份有三种方式,每种方式具有不同的恢复特性,因此应集成数据库与文件系统备份,集成逻辑备份和物理备份。

  一、备份策略

  1.在操作系统级,使用大容量磁盘阵列,通过磁盘映像技术使每一个数据库文件自动分布于每个物理磁盘。这样,当某个磁盘出现物理损坏时,操作系统会自动引发映像磁盘来取代失效的磁盘,保证数据库的正常运行。

  由于我们使用的是双服务器,因此在另一服务器上保留一个备份数据库。备份数据库与正在使用的数据库具有相同的参数状态,这样在数据库故障中,只需作必须的最少恢复,最大限度地缩短了恢复时间。

  在多个不同的物理磁盘上保持多个控制文件的备份。控制文件在数据库恢复期间用于引导Oracle,因此保持多个控制文件的备份,可以确保在出现磁盘故障后,能有可用的控制文件用于数据库恢复。

  使数据库运行在ARCHIVELOG(归档)方式下,归档日志存放于另一映像的逻辑磁盘上。

  每晚进行一次联机备份操作,备份所有数据文件、所有归档日志文件、一个控制文件。

  每周进行一次输出(Export)操作。

  二、恢复策略

  1.实例失败

  从实例失败中恢复是自动进行的。实例失败一般是由服务器失败引起的,当数据库实例失败后,重新启动服务器,启动数据库,Oracle检查数据文件和联机日志文件,并把所有文件同步到同一个时间点上。

  2.磁盘失败

  如果丢失的是控制文件,只要关闭数据库,从保留有控制文件的地方拷贝一份即可。

  如果丢失的是数据文件,可用前一天晚上的联机备份进行恢复,步骤如下:

  (1)从备份中把丢失的文件存在原来位置。

  (2)加载数据库

  (3)恢复数据库

  (4)打开数据库

  3.错误删除或修改对象

  在这种情况下,一般希望能追溯返回到错误发生前的那个时间点上。这叫做时间点恢复。完成恢复的步骤如下:

  (1)从当前数据库输出(Export),输入(Import)到备用数据库,使备用数据库与当前数据库保持一致。

  (2)向前滚动备用数据库到错误发生前的那个时间点。

  (3)从备用数据库输出受错误影响的逻辑对象。

  (4)使用上一步产生的输出文件输入那些受影响的对象到当前数据库。

  三、用户角色管理

  1.对所有客户端按工作性质分类,分别授予不同的用户角色。

  2.对不同的用户角色,根据其使用的数据源,分别授予不同的数据库对象存取权限。

  基于以上的安全策略,可以防止非法用户访问数据库,限制合法用户操纵数据库的权限;可以使数据库在故障发生后,不会丢失任何数据,并能使数据库迅速恢复到故障发生前的那一时间点上,最大限度的保证数据的安全和整个系统的连续运行。

  Oracle函数集锦

  感于总有些网友提出一些非常基础的问题,比如有没有实现某某功能的函数啊,某某函数是做什么用的啊,格式是什么等等,同时也感受到自己对oracle函数认识的不足,于是集中月余时间专注于oracle函数,小有心得不敢私藏,发之与诸公共享。

【Oracle数据库DBA经典面试题】相关文章:

Oracle DBA面试试题06-21

Oracle面试题库06-21

Oracle常见面试题01-27

某公司的Oracle面试题大全06-21

Oracle数据库面试练习题06-19

数据库面试题及答案06-19

Zenefits数据库设计面试题01-15

数据库常见面试题01-27

2016年最新数据库面试题02-14