DBA 经典面试题(2)

来源:互联网 发布:淘宝运营计划书怎么写 编辑:程序博客网 时间:2024/06/05 09:29
三、备份恢复类
 
================================================================================
 
1:备份如何分类
 
  逻辑备份:exp/imp
 
  物理备份:
 
  RMAN备份
 
  full backup/incremental backup(累积/差异)
 
  热备份:alter tablespace begin/end backup;
 
  冷备份:脱机备份(database shutdown)
 
 
 
2:归档是什么含义
 
  关于归档日志:Oracle要将填满的在线日志文件组归档时,则要建立归档日志(archived redo log)。
 
  其对数据库备份和恢复有下列用处:
 
  数据库后备以及在线和归档日志文件,在操作系统和磁盘故障中可保证全部提交的事物可被恢复。
 
  在数据库打开和正常系统使用下,如果归档日志是永久保存,在线后备可以进行和使用。
 
  
 
   数据库可运行在两种不同方式下:NOARCHIVELOG方式或ARCHIVELOG方式数据库。
 
   在NOARCHIVELOG方式下使用时,不能进行在线日志的归档,如果数据库在ARCHIVELOG方式下运行,可实施在线日志的归档。
 
 
 
3:如果一个表在2004-08-04 10:30:00被drop,在有完善的归档和备份的情况下,如何恢复?
 
  手工拷贝回所有备份的数据文件
 
  sql> startup mount; 
 
  sql> alter database recover automatic until time’2004-08-04:10:30:00’; 
 
  sql> alter database open resetlogs;
 
 
 
4:rman是什么,有何特点?
 
RMAN(Recovery Manager)是DBA的一个重要工具,用于备份、还原和恢复oracle数据库, RMAN可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可以用来执行完全或不完全的数据库恢复。
 
RMAN有三种不同的用户接口:COMMAND LINE方式、GUI方式(集成在OEM中的备份管                                理器)、API方式(用于集成到第三方的备份软件中)。
 
  具有如下特点:
 
  1)功能类似物理备份,但比物理备份强大N倍; 
 
  2)可以压缩空块; 
 
  3)可以在块水平上实现增量; 
 
  4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集; 
 
  5)备份与恢复的过程可以自动管理; 
 
  6)可以使用脚本(存在Recovery catalog中) 
 
  7)可以做坏块监测
 
 
 
5:standby的特点
 
  备用数据库(standby database):ORACLE推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份
 
  可以实现快速切换与灾难性恢复,从920开始,还开始支持物理与逻辑备用服务器。
 
 
 
9i中的三种数据保护模式分别是:
 
  1)、MAXIMIZE PROTECTION:最大数据保护与无数据分歧,LGWR将同时传送到备用节点,
 
  在主节点事务确认之前,备用节点也必须完全收到日志数据。如果网络不好,引起LGWR不能传送数据,将引起严重的性能问题,导致主节点DOWN机。
 
  2)、MAXIMIZE AVAILABILITY:无数据丢失模式,允许数据分歧,允许异步传送。
 
  正常情况下运行在最大保护模式,在主节点与备用节点的网络断开或连接不正常时,自动切换到最大性能模式,
 
  主节点的操作还是可以继续的。在网络不好的情况下有较大的性能影响。
 
  3)、MAXIMIZE PERFORMANCE:这种模式应当可以说是从8i继承过来的备用服务器模式,异步传送,
 
  无数据同步检查,可能丢失数据,但是能获得主节点的最大性能。9i在配置DATA GUARD的时候默认就是MAXIMIZE PERFORMANCE
 
 
 
6:对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略
 
Rman  :  每月一号level 0
 
         每周末/周三level 1
 
         其它每天level 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
四:系统管理类
 
================================================================================
 
1:对于一个存在系统性能的系统,说出你的诊断处理思路
 
1做statspack收集系统相关信息
 
了解系统大致情况
 
确定是否存在参数设置不合适的地方
 
查看top 5 event
 
查看top sql等
 
 
 
2查v$system_event/v$session_event/v$session_wait
 
 从v$system_event开始,确定需要什么资源(db file sequential read)等
 
 深入研究v$session_event,确定等待事件涉及的会话
 
 从v$session_wait确定详细的资源争用情况(p1-p3的值:file_id/block_id/blocks等)
 
3通过v$sql/v$sqltext/v$sqlarea表确定disk_reads、(buffer_gets/executions)值     较大的SQL
 
 
 
2:列举几种诊断IO、CPU、性能状况的方法
 
  top/vmstat
 
  statspack
 
  sql_trace/tkprof
 
  查v$system_event/v$session_event/v$session_wait
 
  查v$sqlarea(disk_reads或buffer_gets/executions较大的SQL)
 
 
 
3:对statspack有何认识
 
  StapSpack是Oracle公司提供的一个收集数据库运行性能指标的软件包,该软件包从8i起,在9i、10g都有显著的增强。该软件包的辅助表(存储相关参数与收集的性能指标的表)由最初的25个增长到43个。收集级别参数由原来的3个(0、5、10)增加到5个(0、5、6、7、10)通过分析收集的性能指标,数据库管理员可以详细地了解数据库目前的运行情况,对数据库实例、等待事件、SQL等进行优化调整。利用statspack收集的snapshot,可以统计制作数据库的各种性能指标的统计趋势图表。
 
 
 
4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响
 
在系统比较空闲时;
 
nologging选项(如果有dataguard则不可以使用nologging);
 
大的sort_area_size或pga_aggregate_target较大;
 
 
 
5:对raid1+0和raid5有何认识
 
RAID 10(或称RAID 1+0)与RAID 0+1不同,它是用硬盘驱动器先组成RAID 1阵列,然后在RAID 1阵列之间再组成RAID 0阵列。RAID 10模式同RAID 0+1模式一样具有良好的数据传输性能,但却比RAID 0+1具有更高的可靠性。RAID 10阵列的实际容量为M×n/2,磁盘利用率为50%。RAID 10也需要至少4个硬盘驱动器构成,因而价格昂贵。RAID 10的可靠性同RAID 1一样,但由于RAID 10