`
itspace
  • 浏览: 978590 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

探讨Oracle 事务并行恢复

阅读更多
在之前的文章中提到过event 10513详见http://itspace.iteye.com/blog/567754,今天继续探讨Oracle smon进程并行恢复的话题。
在不同的Oracle版本中并行恢复或多或少存在部分bug,我们可以通过参数FAST_START_PARALLEL_ROLLBACK来设置恢复的并行度,Oracle默认设置是LOW
引用
FAST_START_PARALLEL_ROLLBACK determines the maximum number of processes that can exist for performing parallel rollback. This parameter is useful on systems in which some or all of the transactions are long running.
Values:
      *FALSE indicates that parallel rollback is disabled
      *LOW limits the number of rollback processes to 2 * CPU_COUNT
      *HIGH limits the number of rollback processes to 4 * CPU_COUNT


由于并行恢复存在bug,有时候启用并行恢复并不比串行恢复来的快。查看并行恢复是否出问题,可以查看v$fast_start_servers。如果每个并行进程都处于RECOVERING状态,则建议修改参数FAST_START_PARALLEL_ROLLBACK为high。如果只有一个进程处于RECOVERING状态,其他进程处于IDEL状态,则建议将并行恢复转为串行恢复,方法如下(详见metalink doc238507.1):
引用
1. Find SMON's Oracle PID:

Example:

SQL> select pid, program from v$process where program like '%SMON%';

       PID PROGRAM
---------- ------------------------------------------------
         6 oracle@stsun7 (SMON)

2. Disable SMON transaction cleanup:

SVRMGR> oradebug setorapid
SVRMGR> oradebug event 10513 trace name context forever, level 2

3. Kill the PQ slaves that are doing parallel transaction recovery.
You can check V$FAST_START_SERVERS to find these.

4. Turn off fast_start_parallel_rollback:

alter system set fast_start_parallel_rollback=false;

If SMON is recovering, this command might hang, if it does just control-C out of it.  You may need to try this many times to get this to complete (between SMON cycles).

5. Re-enable SMON txn recovery:

SVRMGR> oradebug setorapid
SVRMGR> oradebug event 10513 trace name context off


说到并行恢复,不得不提到参数_cleanup_rollback_entries,其主要作用为通知smon进程事务的条目,Oracle解释为
引用
NAME                                          VALUE                PDESC
--------------------------------------------- -------------------- --------------------------------------------------
_cleanup_rollback_entries                     100                  no. of undo entries to apply per transaction clean

在必要时我们可以加大该参数来达到加快串行事务恢复的效果(该参数为静态参数,修改该需要重启DB),另外我们可以通过x$ktuxe来观察事务恢复尤其是死事务恢复的进度
引用
select KTUXECFL, KTUXESQN, KTUXESIZ from x$ktuxe where KTUXECFL='DEAD';

0
0
分享到:
评论

相关推荐

    ORACLE数据库备份与恢复测试

    本测试案例将深入探讨Oracle数据库的备份与恢复技术。 首先,我们了解Oracle数据库的备份类型。Oracle支持物理备份(如使用RMAN进行的文件级或映像副本备份)和逻辑备份(如使用SQL*Plus的EXPDP和IMPDP命令进行的...

    Oracle恢复管理器操作指南_数据库

    本操作指南将深入探讨RMAN的使用,帮助你掌握在Oracle环境中进行数据保护的关键技能。 一、RMAN基本概念 1. RMAN架构:RMAN由客户端和服务器两部分组成,客户端负责发送命令,服务器端执行实际的备份和恢复操作。 2...

    Oracle数据库并行查询出错的解决方法

    本文将深入探讨Oracle数据库并行查询出错的常见原因及解决策略。 首先,我们来看一下错误描述。当出现`ORA-12801: 并行查询服务器P007中发出错误信号`和`ORA-01722:无效数字`这两个错误时,意味着在并行查询过程中...

    Oracle备份与恢复培训教程.part02.rar

    本教程将深入探讨Oracle数据库的备份与恢复策略,确保数据的安全性和可用性。 首先,Oracle备份的核心在于保护数据的完整性和一致性。Oracle提供了多种备份类型,包括物理备份(如RMAN,即恢复管理器)和逻辑备份...

    ORACLE10G联机文档中英文对照Conceptes

    9. **并行执行**:探讨Oracle的并行查询和并行DML,如何利用多个处理器或服务器提高处理速度。 10. **Oracle网络**:包括网络配置、Net8连接器和TNS(Transparent Network Substrate),以及数据库的分布式特性。 ...

    在ORACLE8中实现并行的数据处理语言.pdf

    本文主要探讨了如何在Oracle 8中使用并行DML(Data Manipulation Language)来优化INSERT、UPDATE和DELETE操作,以及相关的准备步骤、基本规则和注意事项。 首先,为了启用并行DML,你需要在会话级别上运行`ALTER ...

    Oracle高级详细资料

    本文将基于"Oracle高级详细资料"的标题和描述,深入探讨Oracle物理内存的分配、数据库碎片整理、回滚段的管理、系统使用经验和性能优化技术。 首先,Oracle物理内存的分配是数据库高效运行的基础。在Oracle 9i版本...

    IBM-ETP-Oracle01第一章 ORACLE数据库介绍

    本章“IBM-ETP-Oracle01第一章 ORACLE数据库介绍”将深入探讨Oracle数据库的基础概念、架构以及核心功能,旨在帮助初学者理解并掌握Oracle数据库系统的关键知识。 首先,Oracle数据库是一个基于SQL标准的关系数据库...

    Oracle教程,从入门到精通

    在高级主题中,教程可能会探讨Oracle的并行处理、分区技术,这些特性对于处理大规模数据至关重要。你还将接触到Oracle的事务处理和并发控制,理解如何在多用户环境中保证数据的一致性和完整性。 此外,Oracle的体系...

    oracle的备份与恢复方案[借鉴].pdf

    本文将深入探讨Oracle数据库的启动与关闭、内存体系结构、数据库的物理结构以及与备份和恢复相关的数据库文件。 首先,数据库的启动与关闭涉及多个阶段。在未加载(nomount)状态下,Oracle实例仅仅启动,读取参数...

    Oracle11g Backup&Recovery Overview

    本文将深入探讨Oracle11g的备份与恢复策略,以及如何有效地执行这些操作。 首先,Oracle11g提供了多种备份类型,包括物理备份和逻辑备份。物理备份主要涉及数据文件、控制文件、重做日志文件等的复制,而逻辑备份则...

    Oracle内核技术揭秘

    《Oracle内核技术揭秘》是一本深度探讨Oracle数据库内核技术的专业书籍,旨在帮助读者深入理解Oracle数据库的工作原理,提升数据库管理和优化能力。在Oracle这一标签下,我们可以挖掘出许多关键知识点,包括Oracle...

    Oracle概念

    "Oracle概念"这一主题深入探讨了Oracle数据库系统的基础知识和核心原理。以下是对Oracle数据库概念的详细解读: 1. **数据库架构**:Oracle数据库采用客户-服务器模型,包括数据库服务器、客户端应用程序以及网络...

    精通Oracle.10G备份与恢复2.rar

    本资源“精通Oracle.10G备份与恢复2”可能包含了深入探讨Oracle 10g数据库备份策略、工具和技术的详细教程。 Oracle 10g的备份主要包括物理备份和逻辑备份两种方式。物理备份是复制实际的数据文件、控制文件、重做...

    oracle内核技术

    2. **查询优化**:探讨Oracle的查询优化器如何选择执行计划,包括成本基础优化器(CBO)的工作原理,统计信息的收集和使用,以及SQL调优策略。 3. **并行处理**:讲解Oracle的并行执行机制,包括并行查询和并行DML,...

    Thomas Kyte-Expert_Oracle_Database_Architecture.rar

    《Thomas Kyte-Expert Oracle Database Architecture》是一本深入探讨Oracle数据库架构的专业书籍,由Oracle领域的知名专家Thomas Kyte撰写。这本书全面介绍了Oracle数据库的核心概念、设计原理以及优化策略,是...

    精通Oracle.10G备份与恢复4.rar

    本篇将深入探讨Oracle 10G备份与恢复的关键知识点。 一、Oracle备份类型 1. **完整备份**:包括数据库的所有数据文件、控制文件、redo日志文件以及归档日志,提供最全面的数据保护。 2. **增量备份**:基于前一次...

    最新Oracle编程

    "最新Oracle编程"意味着我们将探讨Oracle数据库系统的最新技术和最佳实践。 Oracle数据库的核心是SQL,它是查询、操作和管理数据库的语言。在最新版本中,Oracle引入了增强的SQL特性,如窗口函数、并行查询优化、...

Global site tag (gtag.js) - Google Analytics