oracle 常见问题总结

1.请说明服务器进程在用户会话期间所要完成的工作有哪些。

答:服务器进程是属于会话的,它负责对用户的 SQL 进行解析和执行,在事务开始执行之前,负责在高速缓冲区查找所需要的数据库块。如果数据块没有命中,负责从数据文件读取块到高速缓冲区中。负责对用户的查询进行排序。负责把用户事务执行的结果返回给客户端。

根据审计条件,负责生成审计线索。

2. 请解释高级调度程序概念中的窗口、窗口组、作业类的定义。

答:窗口由一个时间间隔表示,用来在不同时间段启动作业或者更改资源在作业间的分配。 窗口组表示一系列窗口,用来对窗口进行灵活和方便的管理。

作业类是具有共同资源使用需求和属性的一组作业的集合。

3.请对重做日志和闪回数据库的闪回日志进行一个比较说明。

闪回日志

闪回日志定期记录高速缓冲区中块的前像,不包含数据库的每次修改

重做日志

重做日志由重做条目组成,每个重做条目对应一个数据块的修改,该重做条目记录了产生修改的事务开始的scn和时间戳,事务编号(数据字典缓存生成id的执行计划),事务提交时的scn和时间戳,修改的类型以及修改的段的类型和名称。

4.什么是行链接和行迁移?它们会给数据库性能带来什么样的影响?

答:行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有的块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段的空间保留并指向包含迁移行的新块。迁移行的 ROWID 不变。

当行链接或迁移后,访问这些行时必须要扫描多个数据块才能检索到该的信息,因此与此行关联的 I/O 性能会降低。

5.为什么要对重做日志进行归档?

答:联机重做日志组是循环覆盖的,当所有的日志组都循环记录满之后,最早记录的日志组就会被写入新的内容,从而导致原来的重做数据会被覆盖,那么将来要把数据库恢复到被覆盖的这些 事务点的基于时间点的恢复就变得不可能,数据库就不具备可恢复性。因此,生产系统必须要配置为归档模式,自动对联机重做日志进行归档。

6.对于本地管理的表空间,Oracle是如何管理空闲空间的?

答:Oracle 对表空间空闲空间的管理区分本地管理和字典管理两种方式。

本地管理的方式是使用位图(BMB)来记录段内部连续空闲块的信息。使用位图使得空间管理更加灵活、可进行运行时调整以及支持多进程搜索。

7.在从备份还原控制文件后,需要执行recover database命令,请解释原因。

答:recovery是使用redo日志和归档日志将数据库向前恢复,一步步的恢复到现在这个时间点。当控制文件损坏时,使用最近一次的备份文件还原数据库,但是从备份到控制文件损坏这一时间段的数据丢失了。通过recover database使用redo日志和归档日志,把从备份到控制文件损坏这一时间段开始的数据库操作重做一遍,直到控制文件损坏之前。这样数据库就一点都不差的被恢复起来了。

8.请说明 Oracle 建议的备份策略的具体内容,其最长恢复时间是多少?

答:首先将工作区DATA磁盘组的所有数据文件以映像副本的形式备份到FRA,并且标记为 0 级,然 后每天执行一次 1 级增量备份,在执行该 1 级增量备份之前,先把前一天的 1 级应用到 0 级里去,这样就可以在 FRA 始终保留了工作区所有数据文件的一个完整副本,一旦工作区数据文件损坏,就可以是使用switch命令将损坏的文件切换到 FRA的副本,并用归档以最低的开销进行前滚,从而实现数据库的快速恢复。采用Oracle建议的备份策略,最长的恢复时间可达48小时。

9.通过启用块更改跟踪,可执行快速增量备份,请说明其实现的原理。

要启用块更改跟踪以实现快速增量备份,首先需要创建一个块更改跟踪文件,启用之后再执行一次0级增量备份,文件记录0级增量备份以来所有修改过块的物理地址。在需要执行增量备份时,RMAN 只需从更改跟踪文件记录中读取该文件所引用的块,而不需要扫描每个块来确定该块自上次备份以来是否发生过更改,这样就会大大加快增量备份的速度。

10.请给还原数据和重做数据进行一个完整的比较说明。

还原数据

重做数据由重做条目组成,每个重做条目对应一个数据块的修改,该重做条目记录了产生修改的事务开始的scn和时间戳,事务编号(数据字典缓存生成的id的执行计划),事务提交时的scn和时间戳,修改的类型和修改的段的类型和名称。重做条目产生之后,会先存入到重做日志缓冲区,再由日志写进程协调并整体刷新到联机重做日志文件中以持久化保存,日志写进程会在任何一个提交的时候,缓冲区1/3满时或记录1M缓冲数据时,联机重做日志组发生切换时,数据库写进程执行之前以及自上一次日志写完之后的三秒钟时的任何一个条件成立时执行。

重做数据

还原数据是缓存在高速缓冲区中原始的未修改的数据块的副本,在事务开始执行之前由系统复制到还原表空间的还原段内保存,生成还原数据。如果因为存储空间不足等原因导致还原数据没有产生,事务报错不允许执行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值