本站中文解释 Oracle事件optimizer stats update retry指的是在错误的统计信息更新期间重试操作,它可以使用数据库管理员来处理发生在Oracle数据库中的可编程重试错误与信息更新问题。 此事件帮助 Oracle 数据库通过重试减少潜在的统计信息更新错误,例如,由于Oracle数据库系统正在占用某个特定资源,导致未能获得资源而无法更新统计信息。在Oracle中,这种状况可以通过优化器状况更新重试事件来重试过程,以获得统计信息更新的成功。 这个事件的具体定义是有优化器状况更新重试事件来激活 Oracle数据库,当 Oracle 数据库发生可编程重试错误或者发生有关信息更新的错误时,这个事件就可以满足Oracle数据库中可能发生的大多数情况,从而提供重试操作,以便重新获得正常的性能。 此外,有些情况下,利用优化器状况更新重试的另一个优点就是它使用了较少的系统资源,从而节省了系统资源,而不必等待更新统计信息的时间来执行。为此,Oracle 也使用优化器状况更新重试事件处理可编程重试错误和信息更新问题,从而维护数据库完整性和性能。 官方英文解释 When concurrent sessions try to update optimizer statistics for the same object, all of them except the one that successfully acquired all necessary locks/pins on the library/row cache entries, wait on this wait event and then retry locking after a short period of time. In addition to explicit statistics gathering and maintenance operations using the DBMS_STATS package, Oracle database itself may try to update statistics for some objects, either on behalf of the user or for its own maintenance purposes. Wait Time: 10 ms Parameters: None
本站中文解释 Oracle事件PX server shutdown是一种专为应对特定类型和级别的加载调整所设计的关闭类型事件。一般情况下,当活动面临某些特定的工作负载或性能需求时,Oracle会启动PX server shutdown以适当管理负载。 Oracle事件PX server shutdown可以适用于广泛的情况,以应对并发处理程序所面临的压力。例如,如果某个服务器上的负载突然增加,导致某些程序无法正常运行,Oracle可能会尝试采用PX server shutdown。通过启动PX server shutdown,Oracle可以关闭特定的服务,并释放某些资源,比如内存,以帮助服务器正常运行,同时也能够帮助性能和加载调整。 PX server shutdown的过程可以分为三个步骤,首先,oracle会将PX server shutdown事件记录在日志中,以便跟踪,然后,Oracle将停止PX server,即在Server Shutdown开头之前会有一个提示:Server Shutdown指令被发出;最后,Oracle将终止正在运行的PX Server,并关闭被识别的所有服务器,服务器中的工作和备份将被中断。 PX server shutdown作为一种调整服务器负载的调整方式,有助于合理的运行活动,但是也存在一定的局限性。例如,当工作负载部署在PX server中,而PX server被关闭时,工作和备份可能会被中断或丢失。此外,PX server的 shutdown 过程也可能会与其他工作进程间出现冲突,从而导致服务器无法正常工作。因此,PX server shutdown只能作为一种暂时的解决方案,而不是作为一种长期解决服务器负载和性能问题的有效措施。 官方英文解释 During normal or immediate shutdown the parallel execution slaves are posted to shutdown cleanly. If any parallel execution slaves are still alive after 10 seconds, they are killed. Wait Time: Wait up to 0.5 seconds Parameter Description nalive The number of parallel execution slaves that are still running sleeptime The total sleeptime since the session started to wait on this event loop The number of times the session waited for this event
本站中文解释 Oracle事件gc current block congested是一个表示长时间锁定块的事件。当任务试图从一个缓冲池中获取一个块时,它会检查这个块是否被锁定。若已被锁定,则将发生gc current block congested事件。 gc current block congested事件可能会出现在一个繁忙的服务器上,由于它“排查”的意思是,数据库计算机上方的其他任务把database blocks锁定了很久或这个block可能被某个会话锁定了很久,所以这时候gc current block congested之类的事件就发生了。 这种事件的发生可能是由于并发应用的增长引入了一些脏数据,增加了获取内核block的请求数,从而导致脏数据读取和穿行数据锁表中没有被释放。 当遇到gc current block congested事件时,特别是在并发应用中,可以使用优化器自动优化缓冲池策略来帮助缓解这种情况。此外,可以改变事务管理模式,根据实际情况调整并发量,还可以减少数据库连接的会话数,或者可以改变表的锁定模式,减少锁定持续时间。 除此之外,可以对对长时间锁定blocks的session进行故障诊断,并终止长时间锁定blocks的会话。可以使用专业的数据库监督系统以及其他一些SQL报告,来定期扫描这些锁定,以确保数据库性能持续最佳。 总之,gc current block congested事件表示内核block被长时间锁定,可以通过重新调整实际情况来缓解事件的发生,保证数据库的性能持续地处于最佳状态。 官方英文解释 This event indicates that the requested current buffer was transferred from another instance in the cluster, but the request was queued at the serving instance for too long. This could happen when the GCS server processes (LMS) are very busy due to having a high volume of incoming Cache Fusion requests. Increasing the GCS server processes (GCS_SERVER_PROCESSES) is usually the remedy to alleviate congestion for the GCS server processes. Wait Time: The wait time is the actual time it took to receive the requested buffer. Parameter Description file# See “file#” block# See “block#”...
本站中文解释 Oracle事件PL/SQL lock timer是Oracle数据库提供的一种系统事件。它的功能是系统在每个PL/SQL语句执行完后,检查是否需要保存当前的会话,以防止其他会话等待太长时间而造成整体性能减弱或者主机系统挂起。 PL/SQL lock timer能够检测到每个连接的整体执行时间的情况,当某个连接的执行时间超出PL/SQL lock timer的时间门限时,PL/SQL lock timer将触发一个PL/SQL错误信息,并将其错误信息记录到alert log并做出预警。 PL/SQL lock timer不仅可以检测到每个连接的整体执行时间,而且还可以检测到每个会话请求的总量。一个连接一次执行的操作量越大,其对系统的影响越大,那么PL/SQL lock timer就会就会越快地触发信息并将其错误信息记录到alert log并做出预警,以便让系统管理员决断是否需要断开会话或调整会话以避免系统性能出现问题。 PL/SQL lock timer还可以由用户自行设置参数,以决定那些拥有连接的会话可以继续等待,从而可以被Oracle处理,而那些被设定Timer超出上限的会话将会被断开,以减少系统努力消耗。 PL/SQL lock timer可以有效提升Oracle处理负载的性能,它可以防止拥挤的服务器中的单个用户消耗过量的资源,而服务器的其他用户发现无法正常连接到服务器,也可以使用户弹出当前工作时不被继续处理,从而提高了系统的性能。 官方英文解释 This event is called through the DBMS_LOCK.SLEEP procedure. This event will most likely originate from procedures written by a user. Wait Time: The wait time is in hundredths of seconds and depends on the user context Parameter Description duration The duration that the user specified in the DBMS_LOCK.SLEEP procedure
本站中文解释 Oracle事件free buffer waits是一个重要的数据库事件,该事件代表在轻量级进程(LWP)中发生的等待。Oracle的数据库缓存(缓冲池)中保存了数据库表中的数据,需要添加新数据时,操作系统会清理缓冲池中已有的数据,也就是“free buffer wait”,以确保空间可以用来存放新数据。 free buffer waits事件只发生在LWP上,对于LWP来说,这意味着缓冲池中缺少要求的空间。如果缓冲池太小,写入数据的量太大,free buffer waits的概率就会增加,最终导致数据库性能的恶化。 幸运的是,free buffer waits事件是可计算的,可以处理以改善数据库性能而又不降低性能,以达到最优操作。 对于free buffer waits事件,对数据库表和缓冲池的分析是非常重要的。可以从数据库表了解需要多长时间才能写入数据、缓冲池需要多大,以便能够容纳要写入的新数据。 增加缓冲池的大小也是一个重要操作,如果系统的物理内存足够,应当将缓冲池的大小放大,以便留出足够的空间用于写入新的数据。 另外,一些参数的调整也可以提高系统的执行性能,比如改变自动收缩缓冲池的参数,工作量管理(WLM)的设置,以及平衡CPU的使用和读/写的频率等。 此外,free buffer waits事件的发生,还可能是大线程写入数据而LWP没有足够的锁定时间导致的问题,要解决这个问题,可以增加数据库锁定时间,用不同的方法来更有效地写入数据。 总之,Oracle事件free buffer waits是数据库系统中常见的事件,有不同的原因导致它的发生,具体与系统环境有关,也可以单独采取措施来提高性能。 官方英文解释 This wait event can occur for several reasons. All buffer gets have been suspended. This could happen when a file was read-only and is now read/write. All the existing buffers must be invalidated since they are not linked to lock elements (needed when mounted parallel (shared)). So cache buffers are not assigned to data block addresses until the invalidation is finished. The session moved some dirty buffers to the dirty queue and now this dirty queue is full. The dirty queue must written first. The session will wait on this event and try again...
本站中文解释 Oracle GC Buffer Busy Release是在共享ャール实现时,大量并发访问同一或几乎相同资源数据时发生的一种特殊锁定现象。共享ャール(简写为GC)是Oracle数据库在数据库中管理并发存取资源的一种技术。它的实现采用“多个持有者团体”的机制,以提高访问的灵活性,以及允许多个行程同时修改数据,同时又能保证数据的安全性和一致性。 当一个行程被指定一个表的缓冲池时,它就被授予了该池的一个写锁,来保证其他行程此时不能对该池内的缓冲区内容进行修改。缓冲池内的缓冲区如果被另外一个极有可能被另外一个行程访问,这样就会产生GC Buffer Busy Release现象:当第一个行程试图对要共享的缓冲池内的缓冲区进行更新时,它就必须等待缓冲区被释放,以便它可以重新获取有写权限的锁,而该次等待就是GC Buffer Busy Release现象。 这种现象对数据库效率具有重大的影响,一个小的GC Buffer Busy Release占用的时间可以很大程度的影响数据库的性能,特别是数据库中涉及大量数据的场景中,GC Buffer Busy Release现象会加剧,从而影响数据库的可扩展性。 为了提升性能,控制GC Buffer Busy Release的释放时间,用户需要调整表的更新访问模式、加大数据缓冲池大小、优化用户行程的并发访问频率,以及增加系统中访问资源的并发能力等方面做出调整。 官方英文解释 This event indicates that the requested buffer was globally busy in the cluster, because the requested buffer had been transferred away by a remote instance and needed to be requested again. Wait Time: The wait time is the actual time it took to resolve the buffer contention. Parameter Description file# See “file#” block# See “block#” class# See “class”
本站中文解释 Oracle事件control file parallel write指的是当控制文件(control file)的修改被迫使Oracle跳过其他系统资源并且并行性地写入时所产生的事件。当所需的改变比其它系统资源紧迫时,可能会发生这种情况。 控制文件(control file)是用于跟踪数据库状态的特殊存储文件,它用来保存用于恢复和重建数据库的重要信息,如数据文件列表、redo日志文件状态、表空间列表以及其他系统信息。 因此,为了避免它被破坏,保持控制文件的一致性是至关重要的,只能一次顺序的写入,否则,数据库的一致性将受到潜在威胁。 当控制文件的信息有修改需求时,Oracle会首先检查是否可以允许在其他资源上做这种修改,比如说读写通知(read/write notice),预取请求(prefetch request),等等。如果无法允许,控制文件就会被写入,这称为“control file parallel write”。 control file parallel write 这种事件经常发生,主要是由于控制文件写入很慢,而且在事务处理过程中也很耗时。因此,在最糟糕的情况下,如果控制文件的修改需要的时间大于相关资源的请求时间,就会产生control file parallel write事件。同时,如果有大量的控制文件修改,数据库会要求控制文件并行写,以避免等待时间过长。 总之,control file parallel write事件指的是Oracle将控制文件的紧迫写入需求优先级高,独自排列而非一起写入到队列中,以提高写入效率而产生的事件。 官方英文解释 This event occurs while the session is writing physical blocks to all control files. This happens when: The session starts a control file transaction (to ensure the control files are up to date in case the session crashes before committing the control file transaction) The session commits a transaction to a control file Changing a generic entry in the control file, the new value is being written to all control files Wait Time: The wait time is the time it takes to finish all writes to all control files Parameter Description files...
本站中文解释 Oracle事件Enqueues: PR,Process Startup是 Oracle 项目中的一个组成部分。这个事件是用于让多个进程并发地运行的,它负责确保多个并发进程之间的同步和互斥。 Enqueues: PR 事件主要用于确保Oracle数据库中存储的内容与实际处理表单数据完全一致,这是通过将所有内容保存至系统共享内存中,然后锁定位置来实现的。这个事件中有两个不同的类型,第一种是 Enqueue: PR 对象,第二种是 Enqueue: PR 消息,它们分别用于存储Oracle数据库中的物理内容和信息内容。 这个事件用于避免一个进程修改了数据库中间的内容,没有及时更新系统共享内存,这样其它进程还会继续按照修改前的数据库来读取数据,从而出现不一致的情况。Enqueues: PR事件可以通过锁住内存位置来使得数据库同步,即一个进程修改数据库之后,其它进程不再拉取修改之前未更新的内容。这个事件允许多个进程可以同时处理资源,以达到最优的性能。 Process Startup 事件是Oracle数据库管理系统中的一个核心事件。它是用来启动新进程的,这些新进程用于执行与Oracle相关的操作,从对数据库的查询和更新,到对表的语句执行,这些步骤都是进程启动时发生的。此外, Process Startup 事件还允许系统在运行大量操作之前完成各种系统准备工作。它主要用于确保系统资源得到最佳利用,也确保系统能够正常地运行和执行任务。 总而言之,排他锁(Enqueues: PR)事件和进程启动(Process Startup)事件在Oracle数据库管理系统中都扮演着重要的角色,它们主要用于确保数据库中的内容与实际处理表单数据完全一致,同时有效的完成多个进程之间的同步和互斥。它们有效地协助系统管理,大大提高系统的性能和稳定,同时为用户提供安全可靠的操作环境。
本站中文解释 log file sequential read 事件是Oracle数据库检索数据时一种常见的等待事件。它表示Oracle要把数据从一个物理文件中的串行读取的等待时间。等待log file sequential read 事件的是一般是满足以下条件的操作: 1.当查询读取数据块时,可能会多次读取该块,这个时候就会有log file sequential read等待事件; 2.当更新表、索引结构时,Oracle会进行一定的操作,这通常会涉及串行操作,如刪除一行记录或插入一行记录,也会有log file sequential read等待事件; 3.批量插入操作中,Oracle会一次将数据读取到内存中,而这也在一定程度上会涉及到log file sequential read等待事件。 针对这个等待事件,一般的优化应该从两个方面着手:优化查询语句和硬件上的配置改进。 一般来说,优化查询语句意味着检查原始查询语句,找出可以改进的地方,如索引、查询范围等。同时,也应该采取一些技术措施,如Bulk Fetch、Parallel Query、Clustered Table Scan以及Histograms等,来尽可能减少查询所等待的时间。 硬件上的优化方面,我们需要注意的是I/O操作,这里主要指磁盘空间和I/O速度,应尽量保证数据块的大小正确,以便更有效的管理磁盘空间;同时,Oracle的I/O速度也是一个可以改善的重点,比如使用RAID技术来提高磁盘I/O的吞吐量,以及合理配置Oracle参数,比如控制db_file_multiblock_read_count,控制可阅读的块数量。 具体来讲,log file sequential read事件可能会在查询数据、更新表索引或者批量插入数据时出现,主要优化建议是尝试优化查询语句和提升I/O空间与速度,以最大程度减少log file sequential read等待时间。 官方英文解释 Waiting for the read from this logfile to return. This is used to read redo records from the log file. Wait Time: Time it takes to complete the physical I/O (read) Parameter Description log# The relative sequence number of the logfiles within a log group (used only when dumping the logfiles) block# See “block#” blocks The number of blocks to read
本站中文解释 Oracle 事件 BFILE read 指的是对 Oracle 中的 BFILE 数据文件的读取操作,BFILE 是Oracle 数据库内部存储的一种特殊类型,不同于普通逻辑文件,它存储在一个特定的外部目录中,由实际操作系统管理。BFILE 能够存储任何格式的外部数据,甚至是图片、视频文件等等,因此被称为 Oracle 数据库的外部文件系统。 BFILE 数据文件在 Oracle 数据库中实际上是一个指针,而不是实际的文件。BFILE read 事件其实是一个操作系统的行为,就是从外部系统中读取文件数据到 Oracle 数据库中,Oracle 数据库会根据 BFILE 指向的目标文件,调用系统调用函数,取得外部系统中的该文件内容,最终读取到 Oracle 数据库中。 BFILE read 事件主要用于对外部文件内容的读取,可以将外部文件中的任何类型的数据放到 Oracle 数据库中,这样就可以尽量利用 Oracle 数据库的强大处理能力,对外部文件内容进行更高效的处理或者保存,并能将外部文件数据与 Oracle 数据库的其他数据进行综合处理。 官方英文解释 The session waits for a read from a external large object (LOB) to complete. Wait Time: The total elapsed time for the read to complete Parameter Description session# See “session#” waited See “waited”