共 233 篇文章
标签:Oracle优化 第14页
本站中文解释 Oracle 中的 KTM 事件是Instance Recovery 操作的缩写,它也被称为Instance Failover 操作。KTM 全称是Kernel Transaction Manager,它可以恢复一个Oracle instance在系统失败时发生的数据损坏,确保数据一致性。 KTM 事件用来处理实例恢复关联的事务,它可以帮助实例节点在失败后重新获取控制权。它是一个高级功能,当实例节点发生故障时,KTM 将被系统激活,重置和重新启动实例以恢复实例的可用性。KTM 是在 Oracle 9i 中最先实现的重要特性之一,它基于Oracle的自动存储管理系统(ASM)代表磁盘失效的重要功能。 KTM 事件分为两个主要部分: (1)实体恢复:这是实例恢复操作的第一步,目的是在实例终止之前保护和把持正在处理的所有活动事务,并尽可能缩短实例恢复时间。实体恢复将检查存储的数据,以确保数据的完整性和一致性,特别是当实例在系统意外停止(例如电源断电)时,进一步的保护活动事务以避免写滞后问题。 (2)状态恢复:这是实例恢复操作的第二步,目的是确保包含在非持久存储中的信息不会因实例停止而丢失,例如用户会话、进程、内部子系统状态等等。通过保存实例会话和进程状态,可以确保在实例恢复后,用户会话会恢复到实例挂起之前的状态,而不会受到可用性影响。 Oracle 的 KTM 事件极大地改进了实例恢复性能,减少了系统失效时对用户业务的影响,可以让实例恢复更快速,而且更加可靠可预测,以保证数据的完整性和正确性。 官方英文解释 The session waits for SMON to finish the instance, transaction recovery, or sort segment cleanup. Wait Time: The wait time can vary and depends on the amount of recovery needed Parameter Description undo segment# If the value is 0, SMON is probably performing instance recovery. If P1 > 0, use this query to find the undo segment: select * from v$rollstat where usn = undo segment#;
本站中文解释 Oracle事件BFILE open指的是当客户尝试从Oracle数据库中 或从其他地方打开一个BFILE时触发的事件。BFILE(binary file)是可扩展的文件类型,可用作Oracle的外键,它存放在外部文件系统中,并由数据库入口指向它。 用户可以使用BFILE数据类型从本地磁盘或本地网络磁盘转换外部数据文件,在ORACLE中分配一个指向这个文件的指针,该指针成为BFILE对象。BFILE对象可以用于ORACLE的外部表操作,如导入导出。由于BFILE值只是指向的特殊指针,当您访问数据库中的BFILE时,ORACLE需要为每个访问者打开文件,以访问实际文件内容。 BFILE open事件会在上述操作中被自动触发。当磁盘处理器将BFILE文件打开时,ORACLE便会发送这个事件。执行BFILE open事件时,ORACLE考虑该请求的类型、BFILE对象所需处理的文件路径、所使用要求(访问权限)等参数,然后将BFILE对象所指向的文件转换成文件字节后返回给调用者。 BFILE open事件可以被动态调整,您可以调整其执行的方式,比如修改BFILE open事件的优先级,以控制其优先级排序,甚至可以将其他额外的资源分配给它,以用于加速整个BFILE的打开过程。 此外,通常BFILE open事件也被用于审计系统监控,用于记录某一时间段内客户对ORACLE数据库BFILE资源的访问行为,该行为会被记录下来,以供稍后审核使用。 官方英文解释 The session waits for an external large object (LOB) to open. Wait Time: The total elapsed time for the isopen call Parameter Description session# See “session#” waited See “waited”
本站中文解释 Oracle 数据库中的 db file sequential read 事件是指 Oracle 在读取数据库表中存储的数据的过程中发生的一种串行逻辑行为。此过程通常用于执行文件序列读取操作,以便将返回的一行或更多行数据尽可能快地传输到用户程序。 该操作基本上反映了访问数据库表所花费的时间,并允许您查看客户端和服务器之间在发送和接收数据方面发生的推迟。所有 SQL 语句都将产生 db file sequential reads 事件,具体取决于应用程序的类型和缓存的大小。 在 Oracle 优化过程中,需要密切关注每个记录访问的相关性能,这包括对 db file sequential reads事件的关注。由于在执行 db file sequential read 操作时存在潜在的 IO 延迟,因此应尽可能减少 db file sequential reads 事件的发生。 要优化这种事件,Oracle DBA 可以优化以下参数以减少 db file sequential reads 的消耗: 1、使用合理的 DB_CACHE_SIZE 和 DB_nK_CACHE_SIZE 参数,以缓存更多数据,减少真正 IO 的发生。 2、设置 DB_KEEP_CACHE_SIZE 参数来尽可能保留用过的块在SGA中。如果这些块缓存在内存中,则可以避免执行 db file sequential read 操作。 3、使用 SQL 场观点,以实现更好的逻辑读取,并减少实际的 IO 访问次数。 4、调整 I/O 网络,CPU 和存储资源,以改善 Oracle 数据库访问速度。 有时您还需要对 db file sequential reads 事件进行定制。可以禁用此事件,以便 Oracle 不会记录其发出的 SQL 语句中所产生的 IO,目的是消除多余的冗余操作,以提高系统性能。 官方英文解释 The session waits while a sequential read from the database is performed. This event is also used for rebuilding the control file, dumping data file headers, and getting the database file headers. Wait Time: The wait time...
本站中文解释 Oracle Enqueues: CF和Controlfile Transaction是Oracle数据库中重要的一种事件。它们可用于在系统资源共享但用户希望它们在独立环境中使用的情况下方便地访问比较小的数据项。这种情况下,代表一个整体的一部分或一组数据库资源,可以被多个会话(session)共享,但同时只能有一个会话访问某个资源,以避免其他会话访问时潜在的冲突。 CF Enqueues是Control Files Enqueues,也称控制文件排队机制。它是一种用于限制control file的访问的锁定机制,它以”控制文件事务锁”的形式在内存中显示,用于大多数重大操作(如数据库启动和关闭),以标识会话正在访问或处理控制文件以及其他任何代码的可能的修改,以及应该将其他会话阻止在其他操作上进行操作。 CF Enqueue可以锁定control file以确保数据库中只有一个会话可以通过访问control file来修改它,因为control file是一个共享资源,只有一个会话可以在某个时间修改它。当控制文件修改完成时,就会释放CF enqueue。 另一方面,control file transaction enqueues(简称CF TX enqueues)是另一个数据库中的排队机制,它也与control file有关,但它们的功能更加广泛,它们用于限制数据库对象的操作,避免多个会话同时访问。每次control file被访问时,都会自动获取一个control file transaction enqueue(CF TX enqueue),以防止其他用户在同一个控制文件上进行操作。而一旦控制文件操作完成,CF TX enqueue也将会被释放。 总而言之,CF Enqueues和Controlfile Transaction Enqueues是Oracle数据库中重要的一种事件,用于限制数据库之间的访问,防止未授权的访问,并保证数据的安全性。它们的使用可以确保Oracle数据库持续可靠运行,提高系统的效率和安全性。
本站中文解释 Oracle事件resmgr:cpu quantum是由Oracle数据库资源管理器提供的一种事件类型,用于控制数据库会话中的CPU使用情况。它以一个若干微秒的操作数量(quantum)统一计算使用时间。如果在这个时间量内完成操作,则会话可以继续使用,如果超时,则会被暂停以给其他会话分给时间使用。 resmgr:cpu quantum的可用值是 Oracle 10g默认值之一,默认值为100微秒。由于该量子非常短,远低于Oracle9i中的默认值900微秒,因此可以更好地控制CPU使用率。 resmgr:cpu quantum事件可以控制哪些会话使用CPU时间。如果将其设置为0,则会禁止某些类型的会话使用CPU时间,并将CPU时间分配给其他会话。这有助于保持数据库性能稳定。 另外,resmgr:cpu quantum事件也可以用于防止单个会话消耗大量CPU时间。如果某些会话有超过预定的CPU时间量,这可能意味着该会话中的SQL查询是有问题的,其他查询可能会受到影响。此时,可以将resmgr:cpu quantum事件设置为一个比较小的值来限制会话使用的CPU时间,以避免单个会话消耗过多资源。 resmgr: cpu quantum是Oracle数据库管理中非常重要的参数,它可以控制会话对CPU资源的使用,有助于保持性能和稳定性。根据实际情况,您可以根据需要调整quantum的大小,以便满足业务的需求。 官方英文解释 The session is waiting to be allocated a quantum of CPU. This event occurs when the resource manager is enabled and is throttling CPU consumption. To reduce the occurrence of this wait event, increase the CPU allocation for the sessions’s current consumer group. Wait Time: The time the session waited to acquire a CPU quantum Parameter Description location Location of the wait Consumer Group ID Consumer group ID of the session waiting. This value is from the CONSUMER_GROUP_ID column in the DBA_RSRC_CONSUMER_GROUPS view. See Also: “DBA_RSRC_CONSUMER_GROUPS”
本站中文解释 Oracle事件gc current block 2-way是由Oracle关系数据库引擎(RDBMS)生成的一个检查点,是供Oracle实例用来管理空间块转换过程的。每当从数据库文件(从磁盘中加载)中读取一个块,或者从数据库内存(Data Dictionary Buffer Cache)中读取一个块,该事件就会发生一次。gc current block 2-way是用来防止性能低下的原因之一,比如低于适当的空间块转换系数导致的性能低下。 当块处于空闲状态时,Oracle会检查这个块是否由gc current block 2-way事件检查过,如果没有,则会检查这个块所在的数据库文件,是否请求或等待空间转换。如果满足条件,则将块的内容拷贝到数据库内存,并将 “gc current block 2-way” 事件标记为 “Yes”;否则,将其标记为 “No”。 另外,gc current block 2-way 事件还与其它类似事件(例如gc current block 3-way)一起使用,它们全部是围绕块Descriptor的概念,它定义了当前块是否正在进行空间块转换的标志。空间块转换是指从文件系统中将块从一个位置复制到另一个位置,从而提高性能,减少磁盘I/O操作。 gc current block 2-way事件是一个很有用的性能优化功能,能够帮助Oracle实例更好地管理空间块转换,从而提高数据库性能以及运行效率。为了确保gc current block 2-way事件正常运行,建议系统管理员定期监控Oracle实例,查看gc current block 2-way事件是否正确发生。如果没有发生,则应及时处理,避免影响数据库性能。 官方英文解释 This event indicates that the requested current buffer was transferred from another instance in the cluster, and 2 network hops were involved in the request. The Cache Fusion protocol guarantees that requests are fulfilled in 3 hops or less, regardless of the number of instances in the cluster. Wait Time: The wait time is the actual time it took to receive the requested buffer. Parameter Description file# See “file#” block# See “block#” id# Block class and global access mode...
本站中文解释 Oracle事件parallel recovery coord wait for reply是Oracle数据库恢复操作的一部分,不正确的恢复操作可能导致数据库中的数据出现损坏或丢失。 parallel recovery coord wait for reply事件是指在Parallel Recovery过程中,Coordinator进程阻塞等待从Node上收到的应答回复。 当一个数据库实例想从其他数据库实例的恢复介质上恢复数据时,会开始一个Parallel Recovery过程,Coordinator进程在这个过程中扮演主角色,Coordinator进程会向各个Node发出备份文件之间进行比对检查的请求,如果发现其中有备份文件存在差异,则向拥有差异版本的Node请求恢复指定的备份文件。 为了保证恢复过程的正确性,当Coordinator进程向其他Node发出的恢复文件的恢复请求时,就会触发parallel recovery coord wait for reply事件,这就意味着Coordinator在等待收到其他Node执行恢复请求之后的应答回复,并且等待期间Coordinator进程会处于阻塞状态,直到收到其他Node的恢复备份文件的正确确认。 当一个Node未能及时发出回复消息,或者一个Node发回一个正确的确认,而另一个Node发送了一个错误的响应消息时,就会触发parallel recovery coord wait for reply事件,这意味着Coordinator将处于阻塞状态,只有当Coordinator收到Node的正确确认,才会执行恢复操作。 因此,parallel recovery coord wait for reply事件是数据库恢复操作过程中非常重要的一环,它表明Coordinator已经完成了发送恢复请求的步骤,但仍未收到Node的确认,此时Coordinator进程可能会暂停等待,引发此事件。 官方英文解释 The parallel recovery coordinator is waiting for all recovery slaves to exit. Wait Time: 100ms Parameters: None
本站中文解释 Oracle事件“Enqueues: KK,Redo Log “Kick” ”指的是用于避免缓冲池不再写入活动日志文件的一个功能,也称为“踢”重写日志文件事件。 在运行和提交事务时,数据库服务器将数据写入缓冲池,并将日志信息写入日志文件。缓冲池是一组内存分配,用于在提交更改时,暂时存储未提交的更改,以便进行日志记录。重写日志文件涉及缓冲池中的一些信息结构,它用于发出日志重写指令,以确保活动重写日志文件以保证可以从不同的日志文件还原数据库。 由于可能存在缓冲池中的“未提交”日志,缓冲池会将正在重写的数据打入日志文件,以减轻循环的磁盘空间的容量。为了避免缓冲池写入会导致重写操作无法正确进行,Oracle中定义了“enque:KK”事件,该事件可确保缓冲池中的内容经常写入实时日志文件,以避免缓冲池不再写入活动日志文件,同时也可以确保日志文件和归档日志文件的更新。 “Enque:KK”事件通常是一种启用自动文件重命名的服务器级别的活动。对于Oracle数据库,REDO中的“KK”称为同步事务,其主要目的是确保重写日志文件在数据库服务器上可用。当要撤消(可以回滚)更改时,”KK”可以确保所有不满足条件的更改都保持不变,以便用户可以将更改回滚到正确的状态。 “Enque:KK”事件还监控归档日志文件,以确保数据库服务器在把其它日志文件写入归档日志文件时不出错。归档日志文件可以将不满足条件的事务后退到正确的时间点,以便做出确认的写入操作。 因此,”Enque:KK”事件是实时日志文件和归档日志文件的有效利用,以避免缓冲池不再写入活动日志文件的重要事件。
本站中文解释 Oracle事件PMON timer事件是Oracle所设置的定时任务,可以在Oracle服务器上运行一些特定的低级任务,一般每3秒激发一次。 PMON timer事件在Oracle背景进程(PMON)的控制下运行,用于发现和清理垃圾数据,释放资源和磁盘页,调整内存分配,以及实现其他许多维护任务。 Oracle的PMon timer事件运行的具体任务有: 1、检测和清除垃圾数据:在尝试操作某个对象时发现锁定情况,PMon会询问对象的当前“SessionID”,如果“SessionID”是失效的,则PMon将其清除,以便实现事务的清除,避免垃圾数据的累计。 2、回收资源和释放磁盘页:主要是检查系统的资源使用情况,及时释放一些不必要的资源和磁盘页,以便为服务器节省磁盘空间和缩短操作响应时间。 3、调整内存大小分配:随着数据量增长较快,需要不断调整服务器内存使用效率,以及缓冲池大小,以实现更高的服务器效能。 4、实现其他维护任务:主要是检查服务器上各种性能参数和运行状态,以及表空间容量也是需要实现的任务之一。 另外,PMon timer事件还可以帮助我们监控服务器的整体性能,有效的定位Oracle新增加的会话,及时发现各类不正常状态,进而调整参数,确保服务器性能的稳定。 总的来说,PMon timer定时事件是Oracle服务器上的一种重要任务,可以实现对内存使用和磁盘利用率的调整,消除死锁、清理垃圾数据、调整内存大小分配等功能,从而确保服务器的正常运行。 官方英文解释 This is the main wait event for PMON. When PMON is idle, it is waiting on this event. Wait Time: Up to 3 seconds, if not posted before Parameter Description duration The actual amount of time that the PMON is trying to sleep See Also: Oracle Database Performance Tuning Guide for more information about this wait event
本站中文解释 Oracle事件library cache load lock是应用程序登录到数据库时尝试加载对象之前的过程,用于在多个会话之间控制资源的争夺,以确保资源有效而又正确地共享。 在某种意义上来说,这些锁也称为分组锁。当一个用户试图加载一个表或一个视图时,它总是先请求一个library cache load lock,来确保在一个会话锁定共享逻辑,确保其他会话无法更改它们。 当一个用户尝试对共享对象进行修改时,它将获得一个library cache pin锁,它将锁定该共享逻辑,以确保其他会话无法更改它们。在此基础上,用户可以进行必要的修改,在完成之后再释放它的锁以允许其他会话访问。 在另一种情况下,一个用户可能试图加载一个对象时,另一个用户可能已经对对象进行了修改,此时,第一个用户将无法加载对象,而只能获得一个library cache load lock,以防止多个会话同时加载被修改过的对象。 综上所述,可以看出library cache load lock是一种用于实现多会话之间资源共享的有效机制,它有效地避免了在多个会话之间的安全性漏洞。 官方英文解释 The session tries to find the load lock for the database object so that it can load the object. The load lock is always obtained in Exclusive mode, so that no other process can load the same object. If the load lock is busy the session will wait on this event until the lock becomes available. Wait Time: 3 seconds (1 second for PMON) Parameter Description object address Address of the object being loaded lock address Address of load lock being used mask Indicates which data pieces of the object that must loaded